mirror of
https://github.com/optim-enterprises-bv/OptimCloud-gw-ui.git
synced 2025-10-29 09:22:21 +00:00
50
package-lock.json
generated
50
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "ucentral-client",
|
||||
"version": "2.1.0",
|
||||
"version": "2.1.9",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ucentral-client",
|
||||
"version": "2.1.0",
|
||||
"version": "2.1.9",
|
||||
"dependencies": {
|
||||
"@coreui/coreui": "^3.4.0",
|
||||
"@coreui/icons": "^2.0.1",
|
||||
@@ -32,7 +32,7 @@
|
||||
"react-tooltip": "^4.2.21",
|
||||
"react-widgets": "^5.1.1",
|
||||
"sass": "^1.35.1",
|
||||
"ucentral-libs": "^0.8.82",
|
||||
"ucentral-libs": "^0.9.16",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -14812,29 +14812,30 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ucentral-libs": {
|
||||
"version": "0.8.82",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.8.82.tgz",
|
||||
"integrity": "sha512-b6NUyK3vLm49tKs9HZXodBLMhn+SRZ6OragtF1j9GZ8UZpIJL3gB+Tfo576CUmgKW6U14GOplTPWQHGWZFEGjg==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"version": "0.9.16",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.16.tgz",
|
||||
"integrity": "sha512-Bmh79uvf7vny/xIJ7hrObZmjAKxovzycFxq8T2ZYDUJF/ZK/n+ZBZJz+1m57YmwIEOUTYZ+DavIOgST4K4uB2Q==",
|
||||
"dependencies": {
|
||||
"@coreui/coreui": "^3.4.0",
|
||||
"@coreui/icons": "^2.0.1",
|
||||
"@coreui/icons-react": "^1.1.0",
|
||||
"@coreui/react": "^3.4.6",
|
||||
"@coreui/react-chartjs": "^1.1.0",
|
||||
"lodash": "^4.17.21",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-flow-renderer": "^9.6.6",
|
||||
"react-paginate": "^7.1.3",
|
||||
"react-router-dom": "^5.2.0",
|
||||
"react-select": "^4.3.1",
|
||||
"react-tooltip": "^4.2.21",
|
||||
"sass": "^1.35.1",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/unbox-primitive": {
|
||||
@@ -27652,10 +27653,23 @@
|
||||
}
|
||||
},
|
||||
"ucentral-libs": {
|
||||
"version": "0.8.82",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.8.82.tgz",
|
||||
"integrity": "sha512-b6NUyK3vLm49tKs9HZXodBLMhn+SRZ6OragtF1j9GZ8UZpIJL3gB+Tfo576CUmgKW6U14GOplTPWQHGWZFEGjg==",
|
||||
"requires": {}
|
||||
"version": "0.9.16",
|
||||
"resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.16.tgz",
|
||||
"integrity": "sha512-Bmh79uvf7vny/xIJ7hrObZmjAKxovzycFxq8T2ZYDUJF/ZK/n+ZBZJz+1m57YmwIEOUTYZ+DavIOgST4K4uB2Q==",
|
||||
"requires": {
|
||||
"@coreui/coreui": "^3.4.0",
|
||||
"@coreui/icons": "^2.0.1",
|
||||
"@coreui/icons-react": "^1.1.0",
|
||||
"@coreui/react": "^3.4.6",
|
||||
"@coreui/react-chartjs": "^1.1.0",
|
||||
"lodash": "^4.17.21",
|
||||
"react-flow-renderer": "^9.6.6",
|
||||
"react-paginate": "^7.1.3",
|
||||
"react-router-dom": "^5.2.0",
|
||||
"react-select": "^4.3.1",
|
||||
"react-tooltip": "^4.2.21",
|
||||
"uuid": "^8.3.2"
|
||||
}
|
||||
},
|
||||
"unbox-primitive": {
|
||||
"version": "1.0.1",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ucentral-client",
|
||||
"version": "2.1.0",
|
||||
"version": "2.1.9",
|
||||
"dependencies": {
|
||||
"@coreui/coreui": "^3.4.0",
|
||||
"@coreui/icons": "^2.0.1",
|
||||
@@ -26,7 +26,7 @@
|
||||
"react-tooltip": "^4.2.21",
|
||||
"react-widgets": "^5.1.1",
|
||||
"sass": "^1.35.1",
|
||||
"ucentral-libs": "^0.8.82",
|
||||
"ucentral-libs": "^0.9.16",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"main": "index.js",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"factory_reset": "Auf Werkseinstellungen zurückgesetzt",
|
||||
"firmware_upgrade": "Firmware Aktualisierung",
|
||||
"reboot": "Gerät neustarten",
|
||||
"telemetry": "Telemetrie",
|
||||
"title": "Geräte Administrations",
|
||||
"trace": "Tcpdump starten",
|
||||
"wifi_scan": "Wi-Fi Scan"
|
||||
@@ -33,6 +34,8 @@
|
||||
"adding_ellipsis": "Hinzufügen ...",
|
||||
"are_you_sure": "Bist du sicher?",
|
||||
"back_to_login": "Zurück zur Anmeldung",
|
||||
"back_to_start": "Zurück zum Start",
|
||||
"by": "Durch",
|
||||
"cancel": "Abbrechen",
|
||||
"certificate": "Zertifikat",
|
||||
"certificates": "Zertifikate",
|
||||
@@ -81,6 +84,7 @@
|
||||
"endpoint": "Endpunkt",
|
||||
"endpoints": "Endpunkte",
|
||||
"error": "Fehler",
|
||||
"error_adding_note": "Fehler beim Hinzufügen einer Notiz",
|
||||
"execute_now": "Möchten Sie diesen Befehl jetzt ausführen?",
|
||||
"executed": "Ausgeführt",
|
||||
"exit": "Ausgang",
|
||||
@@ -96,6 +100,7 @@
|
||||
"hours": "std",
|
||||
"id": "ID",
|
||||
"ip_address": "IP Adresse",
|
||||
"items_per_page": "Objekte pro Seite:",
|
||||
"last_dashboard_refresh": "Letzte Dashboard-Aktualisierung",
|
||||
"later_tonight": "Später am Abend",
|
||||
"latest": "Neueste",
|
||||
@@ -108,6 +113,7 @@
|
||||
"memory_used": "Verwendeter Speicher",
|
||||
"minute": "Minute",
|
||||
"minutes": "protokoll",
|
||||
"modified": "Geändert",
|
||||
"na": "(unbekannt)",
|
||||
"need_date": "Du brauchst ein Datum...",
|
||||
"no": "Nein",
|
||||
@@ -120,6 +126,7 @@
|
||||
"optional": "Wahlweise",
|
||||
"overall_health": "Allgemeine Gesundheit",
|
||||
"password_policy": "Kennwortrichtlinie",
|
||||
"preview": "Vorschau",
|
||||
"recorded": "Verzeichnet",
|
||||
"refresh": "Aktualisierung",
|
||||
"refresh_device": "Gerät aktualisieren",
|
||||
@@ -135,7 +142,9 @@
|
||||
"seconds_elapsed": "Sekunden verstrichen",
|
||||
"serial_number": "Seriennummer",
|
||||
"show_all": "Zeige alles",
|
||||
"socket_connection_closed": "Verbindung geschlossen!",
|
||||
"start": "Start",
|
||||
"stop_editing": "Stoppen Sie die Bearbeitung",
|
||||
"submit": "Absenden",
|
||||
"submitted": "Eingereicht",
|
||||
"success": "Erfolg",
|
||||
@@ -155,18 +164,38 @@
|
||||
"yes": "Ja"
|
||||
},
|
||||
"configuration": {
|
||||
"cannot_delete": "Diese Konfiguration kann nicht gelöscht werden, da sie von mindestens einer Entität, einem Veranstaltungsort oder einem Gerät verwendet wird",
|
||||
"configurations": "Konfigurationen",
|
||||
"create": "Konfiguration erstellen",
|
||||
"create_config": "Neue Konfiguration erstellen",
|
||||
"create_new_configuration": "Neues Konfigurationselement erstellen",
|
||||
"created": "Erstellt",
|
||||
"creation_success": "Konfiguration erfolgreich erstellt!",
|
||||
"delete_config": "Konfiguration löschen",
|
||||
"details": "Gerätedetails",
|
||||
"device_password": "Passwort",
|
||||
"device_type": "Gerätetyp",
|
||||
"device_types": "Gerätetypen",
|
||||
"edit_configuration": "Konfiguration bearbeiten",
|
||||
"error_delete": "Fehler beim Versuch zu löschen: {{error}}",
|
||||
"error_fetching_config": "Fehler beim Abrufen der Konfiguration",
|
||||
"error_trying_delete": "Fehler beim Versuch zu löschen: {{error}}",
|
||||
"last_configuration_change": "Letzte Konfigurationsänderung",
|
||||
"last_configuration_download": "Letzter Konfigurations-Download",
|
||||
"location": "Ort",
|
||||
"need_device_type": "Jede Konfiguration muss mindestens einen Gerätetyp unterstützen",
|
||||
"note": "Hinweis",
|
||||
"notes": "Anmerkungen",
|
||||
"owner": "Inhaber",
|
||||
"successful_delete": "Konfiguration gelöscht!",
|
||||
"support_all": "Alle unterstützen",
|
||||
"supported_device_types": "Unterstützte Gerätetypen",
|
||||
"title": "Gerätekonfiguration",
|
||||
"type": "Gerätetyp",
|
||||
"used_by": "Benutzt von",
|
||||
"used_by_details": "{{entities}} Entitäten, {{venues}} Veranstaltungsorte und {{devices}} Geräte",
|
||||
"uuid": "Konfigurations-ID",
|
||||
"view_in_use": "In Verwendung anzeigen",
|
||||
"view_json": "Rohe Konfiguration anzeigen"
|
||||
},
|
||||
"configure": {
|
||||
@@ -196,14 +225,20 @@
|
||||
"add_failure": "Fehler, der Server hat zurückgegeben: {{error}}",
|
||||
"add_root": "Root-Entität hinzufügen",
|
||||
"add_success": "Entität erfolgreich erstellt!",
|
||||
"assigned_inventory": "Zugewiesenes Inventar",
|
||||
"cannot_delete": "Entitäten mit untergeordneten Elementen können nicht gelöscht werden. Löschen Sie die untergeordneten Elemente dieser Entität, um sie löschen zu können.",
|
||||
"delete_success": "Entität erfolgreich gelöscht",
|
||||
"delete_warning": "Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden",
|
||||
"edit_failure": "Aktualisierung fehlgeschlagen : {{error}}",
|
||||
"entities": "Entitäten",
|
||||
"entity": "Entität",
|
||||
"error_fetch_entity": "Fehler beim Abrufen von Entitätsinformationen",
|
||||
"error_fetching": "Fehler beim Abrufen von Entitäten",
|
||||
"error_saving": "Fehler beim Speichern der Entität",
|
||||
"not_assigned": "Nicht zugeordnet",
|
||||
"only_unassigned": "Nur nicht zugewiesen",
|
||||
"valid_serial": "Muss eine gültige Seriennummer sein (12 HEX-Zeichen)"
|
||||
"valid_serial": "Muss eine gültige Seriennummer sein (12 HEX-Zeichen)",
|
||||
"venues": "Veranstaltungsorte"
|
||||
},
|
||||
"factory_reset": {
|
||||
"redirector": "Gatewaykonfiguration beibehalten:",
|
||||
@@ -251,24 +286,86 @@
|
||||
"title": "Gesundheitzustand"
|
||||
},
|
||||
"inventory": {
|
||||
"add_child": "Untergeordneten Veranstaltungsort hinzufügen",
|
||||
"add_child_venue": "Untergeordneten Veranstaltungsort zu {{entityName}}hinzufügen",
|
||||
"add_tag": "Tag hinzufügen",
|
||||
"add_tag": "Tag erstellen",
|
||||
"add_tag_to": "Inventar-Tag zu {{name}}hinzufügen",
|
||||
"add_venue": "Veranstaltungsort hinzufügen",
|
||||
"assign_entity_instructions": "Sie können die Entität, der dieses Tag zugewiesen werden soll, entweder über das Menü unten finden oder die UUID der Entität manuell in das Feld oben einfügen.",
|
||||
"assign_error": "Fehler beim Versuch, Tag zuzuweisen",
|
||||
"assign_to_entity": "Zu Entität zuweisen",
|
||||
"bulk_delete_assigned": "Möchten Sie zugewiesene Geräte in Ihrer Datei massenweise löschen?",
|
||||
"bulk_delete_assigned_warning": "Achtung: Diese Aktion ist nicht umkehrbar",
|
||||
"bulk_delete_devices": "Massenlöschgeräte",
|
||||
"bulk_delete_devices_not_found": "{{number}} Geräte nicht gefunden",
|
||||
"bulk_delete_explanation": "Verwenden Sie zum Massenlöschen von Geräten eine CSV-Datei mit einer Spalte namens SerialNumber",
|
||||
"bulk_delete_test": "Datei validieren",
|
||||
"close_entity_menu": "Menü \"Entität bearbeiten\" schließen",
|
||||
"delete_devices": "Geräte löschen",
|
||||
"delete_errors": "{{number}} Gerätefehler löschen",
|
||||
"delete_tag": "Tag löschen",
|
||||
"delete_venue": "Veranstaltungsort endgültig löschen",
|
||||
"deleted_devices": "{{number}} Gelöschte Geräte",
|
||||
"deleting": "Löschen ...",
|
||||
"deletion_failure": "Löschfehler",
|
||||
"devices_assigned": "{{number}} vorhandene Geräte zugewiesen und aktualisiert",
|
||||
"devices_created": "{{number}} Geräte erstellt",
|
||||
"devices_deleted": "Geräte gelöscht",
|
||||
"devices_errors_while_creating": "{{number}} Geräteerstellung fehlgeschlagen",
|
||||
"devices_errors_while_updating": "{{number}} Geräteupdates fehlgeschlagen",
|
||||
"devices_found_assigned": "{{number}} Geräte gefunden und bereits einer Entität oder einem Veranstaltungsort zugewiesen",
|
||||
"devices_found_unassigned": "{{number}} Geräte gefunden, aber nicht zugewiesen",
|
||||
"devices_imported": " Importierte Geräte",
|
||||
"devices_not_found": "{{number}} Geräte ohne Konflikt",
|
||||
"devices_tested": "Getestete Geräte",
|
||||
"duplicate_serial": "Seriennummer bereits in Datei verwendet (Duplikat)",
|
||||
"error_create_venue": "Fehler beim Erstellen des Veranstaltungsortes",
|
||||
"error_delete_tag": "Fehler beim Löschen des Inventar-Tags",
|
||||
"error_get_venue": "Fehler beim Abrufen von Veranstaltungsorten",
|
||||
"error_retrieving": "Beim Abrufen von Inventar-Tags ist ein Fehler aufgetreten",
|
||||
"error_unassign": "Fehler beim Aufheben der Zuweisung",
|
||||
"error_update_venue": "Fehler beim Aktualisieren des Veranstaltungsorts",
|
||||
"error_venue_delete": "Fehler beim Löschen des Veranstaltungsortes",
|
||||
"error_within_file": "{{number}} Geräte mit falschen Informationen in der Datei (werden ignoriert)",
|
||||
"file_error": "Es scheint ein Fehler in Ihrer Datei zu sein. Bitte stellen Sie sicher, dass die Datei im CSV-Format vorliegt und die oben genannten 5 Spalten in der ersten Zeile der Datei enthält",
|
||||
"final_delete_results": "Endgültige Löschergebnisse",
|
||||
"final_import_results": "Endgültige Importergebnisse",
|
||||
"import_assigned_devices": "Möchten Sie sie mit diesem Import neu zuweisen?",
|
||||
"import_assigned_devices_explanation": "Einige Geräte haben Konflikte mit bereits zugewiesenen Geräten. Sie sollten diese Probleme vor dem Importieren beheben.",
|
||||
"import_devices": "Geräte importieren",
|
||||
"import_devices_explanation": "Für den Massenimport von Geräten müssen Sie eine CSV-Datei mit den folgenden Spalten verwenden: SerialNumber,Name,Description,DeviceType,NoteText",
|
||||
"import_devices_to": "Geräte nach {{name}}importieren",
|
||||
"import_existing_devices": "Aktualisieren und zuweisen?",
|
||||
"import_existing_devices_explanation": "Einige Geräte sind bereits im Inventar vorhanden und nicht zugewiesen.",
|
||||
"importing": "Importieren ...",
|
||||
"last_modification": "Letzte Änderung",
|
||||
"no_devices_to_delete": "Keine Geräte zum Löschen",
|
||||
"no_devices_to_import": "Keine gültigen Geräte zum Erstellen oder Aktualisieren!",
|
||||
"note_text": "Text notieren",
|
||||
"passed_tests": "Alle Tests wurden bestanden, Ihre Geräte sind bereit für den Import!",
|
||||
"serial_number_required": "Fehler: Seriennummer fehlt",
|
||||
"showing_top_10": "Hier ist eine Vorschau der Informationen, die wir aus Ihrer Datei abgerufen haben:",
|
||||
"sub_venues": "Unterräume",
|
||||
"subscriber": "Teilnehmer",
|
||||
"successful_assign": "Tag erfolgreich zugewiesen",
|
||||
"successful_tag_delete": "Inventar-Tag erfolgreich gelöscht",
|
||||
"successful_tag_update": "Tag erfolgreich aktualisiert",
|
||||
"successful_unassign": "Vorgang zum Aufheben der Zuweisung war erfolgreich",
|
||||
"successful_venue_create": "Erfolgreich erstellter Veranstaltungsort",
|
||||
"successful_venue_delete": "Veranstaltungsort erfolgreich gelöscht",
|
||||
"successful_venue_update": "Erfolgreich aktualisierter Veranstaltungsort",
|
||||
"tag_created": "Inventar-Tag erfolgreich erstellt",
|
||||
"tag_creation_error": "Fehler beim Versuch, Inventar-Tag zu erstellen",
|
||||
"tag_update_error": "Fehler beim Aktualisieren des Tags",
|
||||
"tags_assigned_to": "Inventar-Tags {{name}}zugewiesen",
|
||||
"test_import": "Importdaten validieren",
|
||||
"test_results": "Testergebnisse",
|
||||
"type_invalid": "Fehler: Ungültiger Gerätetyp",
|
||||
"unassign": "Zuordnung aufheben",
|
||||
"unassign_tag": "Tag von Entität zuweisen",
|
||||
"unassigned_deleted_devices": "{{number}} Geräte gelöscht und nicht zugewiesen",
|
||||
"unassigned_tags": "Nicht zugewiesene Tags",
|
||||
"validating_import_file": "Importdatei und -daten werden validiert...",
|
||||
"venue": "Tagungsort"
|
||||
},
|
||||
"login": {
|
||||
@@ -339,6 +436,12 @@
|
||||
"system": {
|
||||
"error_fetching": "Fehler beim Abrufen von Systeminformationen"
|
||||
},
|
||||
"telemetry": {
|
||||
"connection_failed": "Verbindung konnte nicht hergestellt werden. Fehler: {{error}}",
|
||||
"interval": "Intervall",
|
||||
"last_update": "Letztes Update",
|
||||
"types": "Typen"
|
||||
},
|
||||
"trace": {
|
||||
"choose_network": "Netzwerk auswählen",
|
||||
"directions": "Starten Sie eine Tcpdump auf diesem Geräts für eine bestimmte Dauer oder eine Anzahl von Paketen",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"factory_reset": "Factory Reset",
|
||||
"firmware_upgrade": "Firmware Upgrade",
|
||||
"reboot": "Reboot",
|
||||
"telemetry": "Telemetry",
|
||||
"title": "Commands",
|
||||
"trace": "Trace",
|
||||
"wifi_scan": "Wi-Fi Scan"
|
||||
@@ -33,6 +34,8 @@
|
||||
"adding_ellipsis": "Adding...",
|
||||
"are_you_sure": "Are you sure?",
|
||||
"back_to_login": "Back to Login",
|
||||
"back_to_start": "Back to start",
|
||||
"by": "By",
|
||||
"cancel": "Cancel",
|
||||
"certificate": "Certificate",
|
||||
"certificates": "Certificates",
|
||||
@@ -81,6 +84,7 @@
|
||||
"endpoint": "Endpoint",
|
||||
"endpoints": "Endpoints",
|
||||
"error": "Error",
|
||||
"error_adding_note": "Error while adding note",
|
||||
"execute_now": "Would you like to execute this command now?",
|
||||
"executed": "Executed",
|
||||
"exit": "Exit",
|
||||
@@ -96,6 +100,7 @@
|
||||
"hours": "hours",
|
||||
"id": "Id",
|
||||
"ip_address": "IP Address",
|
||||
"items_per_page": "Items per page: ",
|
||||
"last_dashboard_refresh": "Last Dashboard Refresh",
|
||||
"later_tonight": "Later tonight",
|
||||
"latest": "Latest",
|
||||
@@ -108,6 +113,7 @@
|
||||
"memory_used": "Memory Used",
|
||||
"minute": "minute",
|
||||
"minutes": "minutes",
|
||||
"modified": "Modified",
|
||||
"na": "N/A",
|
||||
"need_date": "You need a date...",
|
||||
"no": "No",
|
||||
@@ -120,6 +126,7 @@
|
||||
"optional": "Optional",
|
||||
"overall_health": "Overall Health",
|
||||
"password_policy": "Password Policy",
|
||||
"preview": "Preview",
|
||||
"recorded": "Recorded",
|
||||
"refresh": "Refresh",
|
||||
"refresh_device": "Refresh Device",
|
||||
@@ -135,7 +142,9 @@
|
||||
"seconds_elapsed": "Seconds elapsed",
|
||||
"serial_number": "Serial Number",
|
||||
"show_all": "Show All",
|
||||
"socket_connection_closed": "Connection closed!",
|
||||
"start": "Start",
|
||||
"stop_editing": "Stop Editing",
|
||||
"submit": "Submit",
|
||||
"submitted": "Submitted",
|
||||
"success": "Success",
|
||||
@@ -155,18 +164,38 @@
|
||||
"yes": "Yes"
|
||||
},
|
||||
"configuration": {
|
||||
"cannot_delete": "This configuration cannot be deleted because it is being used by at least one entity, venue or device",
|
||||
"configurations": "Configurations",
|
||||
"create": "Create Configuration",
|
||||
"create_config": "Create New Configuration",
|
||||
"create_new_configuration": "Create New Configuration Element",
|
||||
"created": "Created",
|
||||
"creation_success": "Configuration successfully created!",
|
||||
"delete_config": "Delete Config",
|
||||
"details": "Details",
|
||||
"device_password": "Password",
|
||||
"device_type": "Device Type",
|
||||
"device_types": "Device Types",
|
||||
"edit_configuration": "Edit Configuration",
|
||||
"error_delete": "Error while trying to delete: {{error}}",
|
||||
"error_fetching_config": "Error while fetching configuration",
|
||||
"error_trying_delete": "Error while trying to delete: {{error}}",
|
||||
"last_configuration_change": "Last Configuration Change",
|
||||
"last_configuration_download": "Last Configuration Download",
|
||||
"location": "Location",
|
||||
"need_device_type": "Every configuration needs to support at least one device type",
|
||||
"note": "Note",
|
||||
"notes": "Notes",
|
||||
"owner": "Owner",
|
||||
"successful_delete": "Deleted Configuration!",
|
||||
"support_all": "Support All",
|
||||
"supported_device_types": "Supported Device Types",
|
||||
"title": "Configuration",
|
||||
"type": "Device Type",
|
||||
"used_by": "Used By",
|
||||
"used_by_details": "{{entities}} Entities, {{venues}} Venues and {{devices}} Devices",
|
||||
"uuid": "Config ID",
|
||||
"view_in_use": "View In Use",
|
||||
"view_json": "View raw JSON"
|
||||
},
|
||||
"configure": {
|
||||
@@ -196,14 +225,20 @@
|
||||
"add_failure": "Error, the server returned : {{error}}",
|
||||
"add_root": "Add Root Entity",
|
||||
"add_success": "Entity Successfully Created!",
|
||||
"assigned_inventory": "Assigned Inventory",
|
||||
"cannot_delete": "You cannot delete entities which have children. Delete this entity's children to be able to delete it.",
|
||||
"delete_success": "Entity Successfully Deleted",
|
||||
"delete_warning": "Warning: this operation cannot be reverted",
|
||||
"edit_failure": "Update unsuccessful : {{error}}",
|
||||
"entities": "Entities",
|
||||
"entity": "Entity",
|
||||
"error_fetch_entity": "Error while fetching entity information",
|
||||
"error_fetching": "Error while fetching entities",
|
||||
"error_saving": "Error while saving entity",
|
||||
"not_assigned": "Not Assigned",
|
||||
"only_unassigned": "Only Unassigned",
|
||||
"valid_serial": "Needs to be a valid serial number (12 HEX characters)"
|
||||
"valid_serial": "Needs to be a valid serial number (12 HEX characters)",
|
||||
"venues": "Venues"
|
||||
},
|
||||
"factory_reset": {
|
||||
"redirector": "Keep redirector: ",
|
||||
@@ -251,24 +286,86 @@
|
||||
"title": "Health"
|
||||
},
|
||||
"inventory": {
|
||||
"add_child": "Add Child Venue",
|
||||
"add_child_venue": "Add Child Venue to {{entityName}}",
|
||||
"add_tag": "Add Tag",
|
||||
"add_tag": "Create Tag",
|
||||
"add_tag_to": "Add Inventory Tag to {{name}}",
|
||||
"add_venue": "Add Venue",
|
||||
"assign_entity_instructions": "You can either find the entity you want this tag to be assigned to by using the menu below, or you can manually paste the entity's UUID in the field above.",
|
||||
"assign_error": "Error while trying to assign tag",
|
||||
"assign_to_entity": "Assign to Entity",
|
||||
"bulk_delete_assigned": "Would you like to bulk delete assigned devices within your file?",
|
||||
"bulk_delete_assigned_warning": "Warning: this action is not reversible",
|
||||
"bulk_delete_devices": "Bulk Delete Devices",
|
||||
"bulk_delete_devices_not_found": "{{number}} devices not found",
|
||||
"bulk_delete_explanation": "To bulk delete devices, use a CSV file with one column called SerialNumber",
|
||||
"bulk_delete_test": "Validate File",
|
||||
"close_entity_menu": "Close Edit Entity Menu",
|
||||
"delete_devices": "Delete Devices",
|
||||
"delete_errors": "{{number}} Delete Device Errors",
|
||||
"delete_tag": "Delete Tag",
|
||||
"delete_venue": "Permanently Delete Venue",
|
||||
"deleted_devices": "{{number}} Deleted Devices",
|
||||
"deleting": "Deleting... ",
|
||||
"deletion_failure": "Deletion error",
|
||||
"devices_assigned": "{{number}} existing devices assigned and updated",
|
||||
"devices_created": "{{number}} devices created",
|
||||
"devices_deleted": "Devices Deleted",
|
||||
"devices_errors_while_creating": "{{number}} device creations failed",
|
||||
"devices_errors_while_updating": "{{number}} device updates failed",
|
||||
"devices_found_assigned": "{{number}} devices found and already assigned to an entity or venue",
|
||||
"devices_found_unassigned": "{{number}} devices found, but not assigned",
|
||||
"devices_imported": " Devices Imported",
|
||||
"devices_not_found": "{{number}} devices with no conflict",
|
||||
"devices_tested": "Devices Tested",
|
||||
"duplicate_serial": "Serial Number already used in file (duplicate)",
|
||||
"error_create_venue": "Error while creating venue",
|
||||
"error_delete_tag": "Error while deleting inventory tag",
|
||||
"error_get_venue": "Error while retrieving venues",
|
||||
"error_retrieving": "Error occurred while retrieving inventory tags",
|
||||
"error_unassign": "Error during unassign operation",
|
||||
"error_update_venue": "Error while updating venue",
|
||||
"error_venue_delete": "Error while deleting venue",
|
||||
"error_within_file": "{{number}} devices with wrong information in file (will be ignored)",
|
||||
"file_error": "There seems to be a mistake in your file. Please make sure the file is in CSV format and contains the 5 columns mentioned above in the first line of the file",
|
||||
"final_delete_results": "Final Delete Results",
|
||||
"final_import_results": "Final Import Results",
|
||||
"import_assigned_devices": "Do you want to reassign them with this import?",
|
||||
"import_assigned_devices_explanation": "Some devices conflict with already assigned devices. You should resolve those problems before importing. ",
|
||||
"import_devices": "Import Devices",
|
||||
"import_devices_explanation": "To bulk import devices, you need to use a CSV file with the following columns: SerialNumber,Name,Description,DeviceType,NoteText",
|
||||
"import_devices_to": "Import Devices to {{name}}",
|
||||
"import_existing_devices": "Update and assign them?",
|
||||
"import_existing_devices_explanation": "Some devices already exist in the inventory and are unassigned.",
|
||||
"importing": "Importing...",
|
||||
"last_modification": "Last Modification",
|
||||
"no_devices_to_delete": "No Devices to Delete",
|
||||
"no_devices_to_import": "No valid devices to create or update!",
|
||||
"note_text": "Note Text",
|
||||
"passed_tests": "All tests were passed, your devices are ready to import!",
|
||||
"serial_number_required": "Error: Missing Serial Number",
|
||||
"showing_top_10": "Here is a preview of the information we have retrieved from your file:",
|
||||
"sub_venues": "Subvenues",
|
||||
"subscriber": "Subscriber",
|
||||
"successful_assign": "Tag successfully assigned",
|
||||
"successful_tag_delete": "Inventory Tag Successfully Deleted",
|
||||
"successful_tag_update": "Successfully updated tag",
|
||||
"successful_unassign": "Unassign operation was successful",
|
||||
"successful_venue_create": "Successfully Created Venue",
|
||||
"successful_venue_delete": "Venue successfully deleted",
|
||||
"successful_venue_update": "Successfully Updated Venue",
|
||||
"tag_created": "Inventory tag successfully created",
|
||||
"tag_creation_error": "Error while trying to create inventory tag",
|
||||
"tag_update_error": "Error while updating tag",
|
||||
"tags_assigned_to": "Inventory tags assigned to {{name}}",
|
||||
"test_import": "Validate Import Data",
|
||||
"test_results": "Test Results",
|
||||
"type_invalid": "Error: Invalid Device Type",
|
||||
"unassign": "Unassign",
|
||||
"unassign_tag": "Unassign Tag from Entity",
|
||||
"unassigned_deleted_devices": "{{number}} Devices Deleted and Unassigned",
|
||||
"unassigned_tags": "Unassigned tags",
|
||||
"validating_import_file": "Validating import file and data...",
|
||||
"venue": "Venue"
|
||||
},
|
||||
"login": {
|
||||
@@ -339,6 +436,12 @@
|
||||
"system": {
|
||||
"error_fetching": "Error while fetching system information"
|
||||
},
|
||||
"telemetry": {
|
||||
"connection_failed": "Failed to create connection. Error: {{error}}",
|
||||
"interval": "Interval",
|
||||
"last_update": "Last Update",
|
||||
"types": "Types"
|
||||
},
|
||||
"trace": {
|
||||
"choose_network": "Choose network",
|
||||
"directions": "Launch a remote trace of this device for either a specific duration or a number of packets",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"factory_reset": "Restablecimiento De Fábrica",
|
||||
"firmware_upgrade": "Actualización de firmware",
|
||||
"reboot": "Reiniciar",
|
||||
"telemetry": "Telemetria",
|
||||
"title": "Comandos",
|
||||
"trace": "Rastro",
|
||||
"wifi_scan": "Escaneo Wi-Fi "
|
||||
@@ -33,6 +34,8 @@
|
||||
"adding_ellipsis": "Añadiendo ...",
|
||||
"are_you_sure": "¿Estás seguro?",
|
||||
"back_to_login": "Atrás para iniciar sesión",
|
||||
"back_to_start": "volver a empezar",
|
||||
"by": "Por",
|
||||
"cancel": "Cancelar",
|
||||
"certificate": "Certificado",
|
||||
"certificates": "Certificados",
|
||||
@@ -81,6 +84,7 @@
|
||||
"endpoint": "punto final",
|
||||
"endpoints": "Puntos finales",
|
||||
"error": "Error",
|
||||
"error_adding_note": "Error al agregar una nota",
|
||||
"execute_now": "¿Le gustaría ejecutar este comando ahora?",
|
||||
"executed": "ejecutado",
|
||||
"exit": "salida",
|
||||
@@ -96,6 +100,7 @@
|
||||
"hours": "horas",
|
||||
"id": "Carné de identidad",
|
||||
"ip_address": "Dirección IP",
|
||||
"items_per_page": "Artículos por página:",
|
||||
"last_dashboard_refresh": "Última actualización del panel",
|
||||
"later_tonight": "Más tarde esta noche",
|
||||
"latest": "último",
|
||||
@@ -108,6 +113,7 @@
|
||||
"memory_used": "Memoria usada",
|
||||
"minute": "minuto",
|
||||
"minutes": "minutos",
|
||||
"modified": "Modificado",
|
||||
"na": "N / A",
|
||||
"need_date": "Necesitas una cita ...",
|
||||
"no": "No",
|
||||
@@ -120,6 +126,7 @@
|
||||
"optional": "Opcional",
|
||||
"overall_health": "Salud en general",
|
||||
"password_policy": "Política de contraseñas",
|
||||
"preview": "Avance",
|
||||
"recorded": "Grabado",
|
||||
"refresh": "Refrescar",
|
||||
"refresh_device": "Actualizar dispositivo",
|
||||
@@ -135,7 +142,9 @@
|
||||
"seconds_elapsed": "Segundos transcurridos",
|
||||
"serial_number": "Número de serie",
|
||||
"show_all": "Mostrar todo",
|
||||
"socket_connection_closed": "¡Conexión cerrada!",
|
||||
"start": "comienzo",
|
||||
"stop_editing": "Dejar de editar",
|
||||
"submit": "Enviar",
|
||||
"submitted": "Presentado",
|
||||
"success": "Éxito",
|
||||
@@ -155,18 +164,38 @@
|
||||
"yes": "Sí"
|
||||
},
|
||||
"configuration": {
|
||||
"cannot_delete": "Esta configuración no se puede eliminar porque está siendo utilizada por al menos una entidad, lugar o dispositivo",
|
||||
"configurations": "Configuraciones",
|
||||
"create": "Crear Configuración",
|
||||
"create_config": "Crear nueva configuración",
|
||||
"create_new_configuration": "Crear nuevo elemento de configuración",
|
||||
"created": "creado",
|
||||
"creation_success": "¡Configuración creada con éxito!",
|
||||
"delete_config": "Eliminar Configuración",
|
||||
"details": "Detalles",
|
||||
"device_password": "Contraseña",
|
||||
"device_type": "Tipo de dispositivo",
|
||||
"device_types": "Tipos de dispositivos",
|
||||
"edit_configuration": "Editar configuración",
|
||||
"error_delete": "Error al intentar eliminar: {{error}}",
|
||||
"error_fetching_config": "Error al obtener la configuración",
|
||||
"error_trying_delete": "Error al intentar eliminar: {{error}}",
|
||||
"last_configuration_change": "Último cambio de configuración",
|
||||
"last_configuration_download": "Descarga de la última configuración",
|
||||
"location": "Ubicación",
|
||||
"need_device_type": "Cada configuración debe admitir al menos un tipo de dispositivo",
|
||||
"note": "Nota",
|
||||
"notes": "Notas",
|
||||
"owner": "Propietario",
|
||||
"successful_delete": "Configuración eliminada!",
|
||||
"support_all": "Apoyar a todos",
|
||||
"supported_device_types": "Tipos de dispositivos compatibles",
|
||||
"title": "Configuración",
|
||||
"type": "Tipo de dispositivo",
|
||||
"used_by": "Usado por",
|
||||
"used_by_details": "{{entities}} Entidades, {{venues}} lugares y {{devices}} dispositivos",
|
||||
"uuid": "ID de configuración",
|
||||
"view_in_use": "Ver en uso",
|
||||
"view_json": "Ver JSON sin procesar"
|
||||
},
|
||||
"configure": {
|
||||
@@ -196,14 +225,20 @@
|
||||
"add_failure": "Error, el servidor devolvió: {{error}}",
|
||||
"add_root": "Agregar entidad raíz",
|
||||
"add_success": "¡Entidad creada con éxito!",
|
||||
"assigned_inventory": "Inventario asignado",
|
||||
"cannot_delete": "No puede eliminar entidades que tienen hijos. Elimina los hijos de esta entidad para poder eliminarla.",
|
||||
"delete_success": "Entidad eliminada correctamente",
|
||||
"delete_warning": "Advertencia: esta operación no se puede revertir",
|
||||
"edit_failure": "Actualización fallida: {{error}}",
|
||||
"entities": "entidades",
|
||||
"entity": "Entidad",
|
||||
"error_fetch_entity": "Error al obtener la información de la entidad",
|
||||
"error_fetching": "Error al recuperar entidades",
|
||||
"error_saving": "Error al guardar la entidad",
|
||||
"not_assigned": "No asignado",
|
||||
"only_unassigned": "Solo sin asignar",
|
||||
"valid_serial": "Debe ser un número de serie válido (12 caracteres HEX)"
|
||||
"valid_serial": "Debe ser un número de serie válido (12 caracteres HEX)",
|
||||
"venues": "Sedes"
|
||||
},
|
||||
"factory_reset": {
|
||||
"redirector": "Mantener el redirector:",
|
||||
@@ -251,24 +286,86 @@
|
||||
"title": "Salud"
|
||||
},
|
||||
"inventory": {
|
||||
"add_child": "Agregar lugar secundario",
|
||||
"add_child_venue": "Agregar lugar infantil a {{entityName}}",
|
||||
"add_tag": "Añadir etiqueta",
|
||||
"add_tag": "Crear etiqueta",
|
||||
"add_tag_to": "Agregar etiqueta de inventario a {{name}}",
|
||||
"add_venue": "Agregar lugar",
|
||||
"assign_entity_instructions": "Puede encontrar la entidad a la que desea que se asigne esta etiqueta utilizando el menú a continuación, o puede pegar manualmente el UUID de la entidad en el campo de arriba.",
|
||||
"assign_error": "Error al intentar asignar la etiqueta",
|
||||
"assign_to_entity": "Asignar a entidad",
|
||||
"bulk_delete_assigned": "¿Le gustaría eliminar de forma masiva los dispositivos asignados dentro de su archivo?",
|
||||
"bulk_delete_assigned_warning": "Advertencia: esta acción no es reversible",
|
||||
"bulk_delete_devices": "Dispositivos de eliminación masiva",
|
||||
"bulk_delete_devices_not_found": "{{number}} dispositivos no encontrados",
|
||||
"bulk_delete_explanation": "Para eliminar dispositivos de forma masiva, use un archivo CSV con una columna llamada SerialNumber",
|
||||
"bulk_delete_test": "Validar archivo",
|
||||
"close_entity_menu": "Cerrar el menú Editar entidad",
|
||||
"delete_devices": "BORRAR DISPOSITIVOS",
|
||||
"delete_errors": "{{number}} Eliminar errores del dispositivo",
|
||||
"delete_tag": "Eliminar etiqueta",
|
||||
"delete_venue": "Eliminar el lugar de forma permanente",
|
||||
"deleted_devices": "{{number}} Dispositivos eliminados",
|
||||
"deleting": "Eliminando ...",
|
||||
"deletion_failure": "Error de borrado",
|
||||
"devices_assigned": "{{number}} dispositivos existentes asignados y actualizados",
|
||||
"devices_created": "{{number}} dispositivos creados",
|
||||
"devices_deleted": "Dispositivos eliminados",
|
||||
"devices_errors_while_creating": "{{number}} fallaron las creaciones del dispositivo",
|
||||
"devices_errors_while_updating": "{{number}} fallaron las actualizaciones del dispositivo",
|
||||
"devices_found_assigned": "{{number}} dispositivos encontrados y ya asignados a una entidad o lugar",
|
||||
"devices_found_unassigned": "{{number}} dispositivos encontrados, pero no asignados",
|
||||
"devices_imported": " Dispositivos importados",
|
||||
"devices_not_found": "{{number}} dispositivos sin conflicto",
|
||||
"devices_tested": "Dispositivos probados",
|
||||
"duplicate_serial": "Número de serie ya utilizado en el archivo (duplicado)",
|
||||
"error_create_venue": "Error al crear el lugar",
|
||||
"error_delete_tag": "Error al eliminar la etiqueta de inventario",
|
||||
"error_get_venue": "Error al recuperar lugares",
|
||||
"error_retrieving": "Se produjo un error al recuperar las etiquetas de inventario",
|
||||
"error_unassign": "Error durante la operación de anulación de asignación",
|
||||
"error_update_venue": "Error al actualizar el lugar",
|
||||
"error_venue_delete": "Error al eliminar el lugar",
|
||||
"error_within_file": "{{number}} dispositivos con información incorrecta en el archivo (se ignorarán)",
|
||||
"file_error": "Parece haber un error en su archivo. Asegúrese de que el archivo esté en formato CSV y contenga las 5 columnas mencionadas anteriormente en la primera línea del archivo",
|
||||
"final_delete_results": "Resultados de eliminación final",
|
||||
"final_import_results": "Resultados finales de importación",
|
||||
"import_assigned_devices": "¿Quieres reasignarlos con esta importación?",
|
||||
"import_assigned_devices_explanation": "Algunos dispositivos entran en conflicto con los dispositivos ya asignados. Debe resolver esos problemas antes de importar.",
|
||||
"import_devices": "Importar dispositivos",
|
||||
"import_devices_explanation": "Para importar dispositivos de forma masiva, debe utilizar un archivo CSV con las siguientes columnas: Número de serie, Nombre, Descripción, Tipo de dispositivo, Texto de nota",
|
||||
"import_devices_to": "Importar dispositivos a {{name}}",
|
||||
"import_existing_devices": "¿Actualizarlos y asignarlos?",
|
||||
"import_existing_devices_explanation": "Algunos dispositivos ya existen en el inventario y no están asignados.",
|
||||
"importing": "Importador...",
|
||||
"last_modification": "Última modificación",
|
||||
"no_devices_to_delete": "No hay dispositivos para eliminar",
|
||||
"no_devices_to_import": "¡No hay dispositivos válidos para crear o actualizar!",
|
||||
"note_text": "Texto de la nota",
|
||||
"passed_tests": "Se aprobaron todas las pruebas, ¡sus dispositivos están listos para importar!",
|
||||
"serial_number_required": "Error: falta el número de serie",
|
||||
"showing_top_10": "Aquí hay una vista previa de la información que hemos recuperado de su archivo:",
|
||||
"sub_venues": "Subvenues",
|
||||
"subscriber": "Abonado",
|
||||
"successful_assign": "Etiqueta asignada correctamente",
|
||||
"successful_tag_delete": "Etiqueta de inventario eliminada correctamente",
|
||||
"successful_tag_update": "Etiqueta actualizada correctamente",
|
||||
"successful_unassign": "La operación de anulación de asignación se realizó correctamente",
|
||||
"successful_venue_create": "Lugar creado con éxito",
|
||||
"successful_venue_delete": "Lugar eliminado correctamente",
|
||||
"successful_venue_update": "Lugar actualizado con éxito",
|
||||
"tag_created": "Etiqueta de inventario creada correctamente",
|
||||
"tag_creation_error": "Error al intentar crear una etiqueta de inventario",
|
||||
"tag_update_error": "Error al actualizar la etiqueta",
|
||||
"tags_assigned_to": "Etiquetas de inventario asignadas a {{name}}",
|
||||
"test_import": "Validar datos de importación",
|
||||
"test_results": "Resultados de la prueba",
|
||||
"type_invalid": "Error: tipo de dispositivo no válido",
|
||||
"unassign": "Anular asignación",
|
||||
"unassign_tag": "Anular asignación de etiqueta de entidad",
|
||||
"unassigned_deleted_devices": "{{number}} Dispositivos eliminados y sin asignar",
|
||||
"unassigned_tags": "Etiquetas sin asignar",
|
||||
"validating_import_file": "Validando archivo y datos de importación ...",
|
||||
"venue": "Lugar de encuentro"
|
||||
},
|
||||
"login": {
|
||||
@@ -339,6 +436,12 @@
|
||||
"system": {
|
||||
"error_fetching": "Error al obtener información del sistema"
|
||||
},
|
||||
"telemetry": {
|
||||
"connection_failed": "No se pudo crear la conexión. Error: {{error}}",
|
||||
"interval": "intervalo",
|
||||
"last_update": "Última actualización",
|
||||
"types": "Los tipos"
|
||||
},
|
||||
"trace": {
|
||||
"choose_network": "Elija la red",
|
||||
"directions": "Lanzar un rastreo remoto de este dispositivo por una duración específica o por una cantidad de paquetes",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"factory_reset": "Retour aux paramètres d'usine",
|
||||
"firmware_upgrade": "Mise à jour du firmware",
|
||||
"reboot": "Redémarrer",
|
||||
"telemetry": "Télémétrie",
|
||||
"title": "Les commandes",
|
||||
"trace": "Trace",
|
||||
"wifi_scan": "Balayage Wi-Fi"
|
||||
@@ -33,6 +34,8 @@
|
||||
"adding_ellipsis": "Ajouter...",
|
||||
"are_you_sure": "Êtes-vous sûr?",
|
||||
"back_to_login": "Retour connexion",
|
||||
"back_to_start": "Retour au début",
|
||||
"by": "Par",
|
||||
"cancel": "annuler",
|
||||
"certificate": "Certificat",
|
||||
"certificates": "Certificats",
|
||||
@@ -81,6 +84,7 @@
|
||||
"endpoint": "Point final",
|
||||
"endpoints": "Points de terminaison",
|
||||
"error": "Erreur",
|
||||
"error_adding_note": "Erreur lors de l'ajout de la note",
|
||||
"execute_now": "Souhaitez-vous exécuter cette commande maintenant ?",
|
||||
"executed": "réalisé",
|
||||
"exit": "Sortie",
|
||||
@@ -96,6 +100,7 @@
|
||||
"hours": "heures",
|
||||
"id": "Id",
|
||||
"ip_address": "Adresse IP",
|
||||
"items_per_page": "Objets par page:",
|
||||
"last_dashboard_refresh": "Dernière actualisation du tableau de bord",
|
||||
"later_tonight": "Plus tard ce soir",
|
||||
"latest": "Dernier",
|
||||
@@ -108,6 +113,7 @@
|
||||
"memory_used": "Mémoire utilisée",
|
||||
"minute": "minute",
|
||||
"minutes": "minutes",
|
||||
"modified": "Modifié",
|
||||
"na": "N / A",
|
||||
"need_date": "Vous avez besoin d'un rendez-vous...",
|
||||
"no": "Non",
|
||||
@@ -120,6 +126,7 @@
|
||||
"optional": "Optionnel",
|
||||
"overall_health": "Santé globale",
|
||||
"password_policy": "Politique de mot de passe",
|
||||
"preview": "Aperçu",
|
||||
"recorded": "Enregistré",
|
||||
"refresh": "Rafraîchir",
|
||||
"refresh_device": "Actualiser l'appareil",
|
||||
@@ -135,7 +142,9 @@
|
||||
"seconds_elapsed": "Secondes écoulées",
|
||||
"serial_number": "Numéro de série",
|
||||
"show_all": "Montre tout",
|
||||
"socket_connection_closed": "Connexion fermée !",
|
||||
"start": "Début",
|
||||
"stop_editing": "Arrêter la modification",
|
||||
"submit": "Soumettre",
|
||||
"submitted": "Soumis",
|
||||
"success": "Succès",
|
||||
@@ -155,18 +164,38 @@
|
||||
"yes": "Oui"
|
||||
},
|
||||
"configuration": {
|
||||
"cannot_delete": "Cette configuration ne peut pas être supprimée car elle est utilisée par au moins une entité, un lieu ou un appareil",
|
||||
"configurations": "Les configurations",
|
||||
"create": "Créer une configuration",
|
||||
"create_config": "Créer une nouvelle configuration",
|
||||
"create_new_configuration": "Créer un nouvel élément de configuration",
|
||||
"created": "Créé",
|
||||
"creation_success": "Configuration créée avec succès !",
|
||||
"delete_config": "Supprimer la configuration",
|
||||
"details": "Détails",
|
||||
"device_password": "Mot de passe",
|
||||
"device_type": "Type d'appareil",
|
||||
"device_types": "Types d'appareils",
|
||||
"edit_configuration": "Modifier la configuration",
|
||||
"error_delete": "Erreur lors de la tentative de suppression : {{error}}",
|
||||
"error_fetching_config": "Erreur lors de la récupération de la configuration",
|
||||
"error_trying_delete": "Erreur lors de la tentative de suppression : {{error}}",
|
||||
"last_configuration_change": "Dernière modification de configuration",
|
||||
"last_configuration_download": "Téléchargement de la dernière configuration",
|
||||
"location": "Emplacement",
|
||||
"need_device_type": "Chaque configuration doit prendre en charge au moins un type d'appareil",
|
||||
"note": "Remarque",
|
||||
"notes": "Remarques",
|
||||
"owner": "Propriétaire",
|
||||
"successful_delete": "Configuration supprimée !",
|
||||
"support_all": "Soutenir tous",
|
||||
"supported_device_types": "Types d'appareils pris en charge",
|
||||
"title": "Configuration",
|
||||
"type": "Type d'appareil",
|
||||
"used_by": "Utilisé par",
|
||||
"used_by_details": "{{entities}} Entités, {{venues}} Lieux et {{devices}} Appareils",
|
||||
"uuid": "Identifiant de configuration",
|
||||
"view_in_use": "Afficher en cours d'utilisation",
|
||||
"view_json": "Afficher le JSON brut"
|
||||
},
|
||||
"configure": {
|
||||
@@ -196,14 +225,20 @@
|
||||
"add_failure": "Erreur, le serveur a renvoyé : {{error}}",
|
||||
"add_root": "Ajouter une entité racine",
|
||||
"add_success": "Entité créée avec succès !",
|
||||
"assigned_inventory": "Inventaire assigné",
|
||||
"cannot_delete": "Vous ne pouvez pas supprimer des entités qui ont des enfants. Supprimez les enfants de cette entité pour pouvoir la supprimer.",
|
||||
"delete_success": "Entité supprimée avec succès",
|
||||
"delete_warning": "Attention : cette opération ne peut pas être annulée",
|
||||
"edit_failure": "Échec de la mise à jour : {{error}}",
|
||||
"entities": "Entités",
|
||||
"entity": "Entité",
|
||||
"error_fetch_entity": "Erreur lors de la récupération des informations sur l'entité",
|
||||
"error_fetching": "Erreur lors de la récupération des entités",
|
||||
"error_saving": "Erreur lors de l'enregistrement de l'entité",
|
||||
"not_assigned": "Non attribué",
|
||||
"only_unassigned": "Uniquement non attribué",
|
||||
"valid_serial": "Doit être un numéro de série valide (12 caractères HEX)"
|
||||
"valid_serial": "Doit être un numéro de série valide (12 caractères HEX)",
|
||||
"venues": "Les lieux"
|
||||
},
|
||||
"factory_reset": {
|
||||
"redirector": "Conserver le redirecteur :",
|
||||
@@ -251,24 +286,86 @@
|
||||
"title": "Santé"
|
||||
},
|
||||
"inventory": {
|
||||
"add_child": "Ajouter un lieu enfant",
|
||||
"add_child_venue": "Ajouter un lieu enfant à {{entityName}}",
|
||||
"add_tag": "Ajouter une étiquette",
|
||||
"add_tag": "Créer un tag",
|
||||
"add_tag_to": "Ajouter une balise d'inventaire à {{name}}",
|
||||
"add_venue": "Ajouter un lieu",
|
||||
"assign_entity_instructions": "Vous pouvez soit trouver l'entité à laquelle vous souhaitez que cette balise soit attribuée en utilisant le menu ci-dessous, soit coller manuellement l'UUID de l'entité dans le champ ci-dessus.",
|
||||
"assign_error": "Erreur lors de la tentative d'attribution de balise",
|
||||
"assign_to_entity": "Affecter à l'entité",
|
||||
"bulk_delete_assigned": "Souhaitez-vous supprimer en bloc les appareils attribués dans votre fichier ?",
|
||||
"bulk_delete_assigned_warning": "Attention : cette action n'est pas réversible",
|
||||
"bulk_delete_devices": "Supprimer en bloc des appareils",
|
||||
"bulk_delete_devices_not_found": "{{number}} appareils introuvables",
|
||||
"bulk_delete_explanation": "Pour supprimer en bloc des appareils, utilisez un fichier CSV avec une colonne appelée SerialNumber",
|
||||
"bulk_delete_test": "Valider le fichier",
|
||||
"close_entity_menu": "Fermer le menu Modifier l'entité",
|
||||
"delete_devices": "Supprimer des appareils",
|
||||
"delete_errors": "{{number}} Supprimer les erreurs de périphérique",
|
||||
"delete_tag": "Supprimer la balise",
|
||||
"delete_venue": "Supprimer définitivement le lieu",
|
||||
"deleted_devices": "{{number}} appareils supprimés",
|
||||
"deleting": "Suppression ...",
|
||||
"deletion_failure": "Erreur de suppression",
|
||||
"devices_assigned": "{{number}} appareils existants attribués et mis à jour",
|
||||
"devices_created": "{{number}} appareils créés",
|
||||
"devices_deleted": "Appareils supprimés",
|
||||
"devices_errors_while_creating": "{{number}} créations d'appareils ont échoué",
|
||||
"devices_errors_while_updating": "{{number}} mises à jour de l'appareil ont échoué",
|
||||
"devices_found_assigned": "{{number}} appareils trouvés et déjà attribués à une entité ou à un lieu",
|
||||
"devices_found_unassigned": "{{number}} appareils trouvés, mais non attribués",
|
||||
"devices_imported": " Périphériques importés",
|
||||
"devices_not_found": "{{number}} appareils sans conflit",
|
||||
"devices_tested": "Appareils testés",
|
||||
"duplicate_serial": "Numéro de série déjà utilisé dans le fichier (duplicata)",
|
||||
"error_create_venue": "Erreur lors de la création du lieu",
|
||||
"error_delete_tag": "Erreur lors de la suppression de la balise d'inventaire",
|
||||
"error_get_venue": "Erreur lors de la récupération des lieux",
|
||||
"error_retrieving": "Une erreur s'est produite lors de la récupération des balises d'inventaire",
|
||||
"error_unassign": "Erreur lors de l'opération de désaffectation",
|
||||
"error_update_venue": "Erreur lors de la mise à jour du lieu",
|
||||
"error_venue_delete": "Erreur lors de la suppression du lieu",
|
||||
"error_within_file": "{{number}} appareils avec des informations erronées dans le fichier (sera ignoré)",
|
||||
"file_error": "Il semble y avoir une erreur dans votre fichier. Veuillez vous assurer que le fichier est au format CSV et contient les 5 colonnes mentionnées ci-dessus dans la première ligne du fichier",
|
||||
"final_delete_results": "Résultats de la suppression finale",
|
||||
"final_import_results": "Résultats d'importation finaux",
|
||||
"import_assigned_devices": "Voulez-vous les réaffecter avec cette importation ?",
|
||||
"import_assigned_devices_explanation": "Certains appareils sont en conflit avec des appareils déjà attribués. Vous devez résoudre ces problèmes avant d'importer.",
|
||||
"import_devices": "Importer des appareils",
|
||||
"import_devices_explanation": "Pour importer des appareils en bloc, vous devez utiliser un fichier CSV avec les colonnes suivantes : SerialNumber,Name,Description,DeviceType,NoteText",
|
||||
"import_devices_to": "Importer des appareils dans {{name}}",
|
||||
"import_existing_devices": "Mettre à jour et les attribuer ?",
|
||||
"import_existing_devices_explanation": "Certains appareils existent déjà dans l'inventaire et ne sont pas affectés.",
|
||||
"importing": "Importation ...",
|
||||
"last_modification": "dernière modification",
|
||||
"no_devices_to_delete": "Aucun appareil à supprimer",
|
||||
"no_devices_to_import": "Aucun appareil valide à créer ou à mettre à jour !",
|
||||
"note_text": "Texte de note",
|
||||
"passed_tests": "Tous les tests ont été passés, vos appareils sont prêts à être importés !",
|
||||
"serial_number_required": "Erreur : Numéro de série manquant",
|
||||
"showing_top_10": "Voici un aperçu des informations que nous avons récupérées dans votre dossier :",
|
||||
"sub_venues": "Sous-sites",
|
||||
"subscriber": "Abonné",
|
||||
"successful_assign": "Tag attribué avec succès",
|
||||
"successful_tag_delete": "Balise d'inventaire supprimée avec succès",
|
||||
"successful_tag_update": "Balise mise à jour avec succès",
|
||||
"successful_unassign": "L'opération de désaffectation a réussi",
|
||||
"successful_venue_create": "Lieu créé avec succès",
|
||||
"successful_venue_delete": "Lieu supprimé avec succès",
|
||||
"successful_venue_update": "Lieu mis à jour avec succès",
|
||||
"tag_created": "Tag d'inventaire créé avec succès",
|
||||
"tag_creation_error": "Erreur lors de la tentative de création d'une balise d'inventaire",
|
||||
"tag_update_error": "Erreur lors de la mise à jour de la balise",
|
||||
"tags_assigned_to": "Balises d'inventaire attribuées à {{name}}",
|
||||
"test_import": "Valider les données d'importation",
|
||||
"test_results": "Résultats de test",
|
||||
"type_invalid": "Erreur : Type de périphérique non valide",
|
||||
"unassign": "Annuler l'attribution",
|
||||
"unassign_tag": "Désaffecter la balise de l'entité",
|
||||
"unassigned_deleted_devices": "{{number}} appareils supprimés et non attribués",
|
||||
"unassigned_tags": "Balises non attribuées",
|
||||
"validating_import_file": "Validation du fichier d'importation et des données...",
|
||||
"venue": "Lieu"
|
||||
},
|
||||
"login": {
|
||||
@@ -339,6 +436,12 @@
|
||||
"system": {
|
||||
"error_fetching": "Erreur lors de la récupération des informations système"
|
||||
},
|
||||
"telemetry": {
|
||||
"connection_failed": "Échec de la création de la connexion. Erreur : {{error}}",
|
||||
"interval": "Intervalle",
|
||||
"last_update": "Dernière mise à jour",
|
||||
"types": "Les types"
|
||||
},
|
||||
"trace": {
|
||||
"choose_network": "Choisir le réseau",
|
||||
"directions": "Lancer une trace à distance de cet appareil pour une durée spécifique ou un nombre de paquets",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"factory_reset": "Restauração de fábrica",
|
||||
"firmware_upgrade": "Atualização de firmware",
|
||||
"reboot": "Reiniciar",
|
||||
"telemetry": "Telemetria",
|
||||
"title": "Comandos",
|
||||
"trace": "Vestígio",
|
||||
"wifi_scan": "Wi-Fi Scan"
|
||||
@@ -33,6 +34,8 @@
|
||||
"adding_ellipsis": "Adicionando ...",
|
||||
"are_you_sure": "Você tem certeza?",
|
||||
"back_to_login": "Volte ao login",
|
||||
"back_to_start": "Voltar ao Início",
|
||||
"by": "Por",
|
||||
"cancel": "Cancelar",
|
||||
"certificate": "Certificado",
|
||||
"certificates": "Certificados",
|
||||
@@ -81,6 +84,7 @@
|
||||
"endpoint": "Ponto final",
|
||||
"endpoints": "Pontos finais",
|
||||
"error": "Erro",
|
||||
"error_adding_note": "Erro ao adicionar nota",
|
||||
"execute_now": "Você gostaria de executar este comando agora?",
|
||||
"executed": "Executado",
|
||||
"exit": "Saída",
|
||||
@@ -96,6 +100,7 @@
|
||||
"hours": "horas",
|
||||
"id": "identidade",
|
||||
"ip_address": "Endereço de IP",
|
||||
"items_per_page": "Itens por página:",
|
||||
"last_dashboard_refresh": "Última atualização do painel",
|
||||
"later_tonight": "Logo à noite",
|
||||
"latest": "Mais recentes",
|
||||
@@ -108,6 +113,7 @@
|
||||
"memory_used": "Memória Usada",
|
||||
"minute": "minuto",
|
||||
"minutes": "minutos",
|
||||
"modified": "Modificado",
|
||||
"na": "N / D",
|
||||
"need_date": "Você precisa de um encontro ...",
|
||||
"no": "Não",
|
||||
@@ -120,6 +126,7 @@
|
||||
"optional": "Opcional",
|
||||
"overall_health": "Saúde geral",
|
||||
"password_policy": "Política de Senha",
|
||||
"preview": "Visualizar",
|
||||
"recorded": "Gravado",
|
||||
"refresh": "REFRESH",
|
||||
"refresh_device": "Atualizar dispositivo",
|
||||
@@ -135,7 +142,9 @@
|
||||
"seconds_elapsed": "Segundos decorridos",
|
||||
"serial_number": "Número de série",
|
||||
"show_all": "mostre tudo",
|
||||
"socket_connection_closed": "Conexão fechada!",
|
||||
"start": "Começar",
|
||||
"stop_editing": "Pare de editar",
|
||||
"submit": "Enviar",
|
||||
"submitted": "Submetido",
|
||||
"success": "Sucesso",
|
||||
@@ -155,18 +164,38 @@
|
||||
"yes": "sim"
|
||||
},
|
||||
"configuration": {
|
||||
"cannot_delete": "Esta configuração não pode ser excluída porque está sendo usada por pelo menos uma entidade, local ou dispositivo",
|
||||
"configurations": "configurações",
|
||||
"create": "Criar configuração",
|
||||
"create_config": "Criar Nova Configuração",
|
||||
"create_new_configuration": "Criar Novo Elemento de Configuração",
|
||||
"created": "Criado",
|
||||
"creation_success": "Configuração criada com sucesso!",
|
||||
"delete_config": "Excluir configuração",
|
||||
"details": "Detalhes",
|
||||
"device_password": "Senha",
|
||||
"device_type": "Tipo de dispositivo",
|
||||
"device_types": "Tipos de dispositivos",
|
||||
"edit_configuration": "Editar configuração",
|
||||
"error_delete": "Erro ao tentar excluir: {{error}}",
|
||||
"error_fetching_config": "Erro ao buscar configuração",
|
||||
"error_trying_delete": "Erro ao tentar excluir: {{error}}",
|
||||
"last_configuration_change": "Última Mudança de Configuração",
|
||||
"last_configuration_download": "Último download da configuração",
|
||||
"location": "Localização",
|
||||
"need_device_type": "Cada configuração deve suportar pelo menos um tipo de dispositivo",
|
||||
"note": "Nota",
|
||||
"notes": "notas",
|
||||
"owner": "Proprietário",
|
||||
"successful_delete": "Configuração excluída!",
|
||||
"support_all": "Apoie todos",
|
||||
"supported_device_types": "Tipos de dispositivos suportados",
|
||||
"title": "Configuração",
|
||||
"type": "Tipo de dispositivo",
|
||||
"used_by": "Usado por",
|
||||
"used_by_details": "{{entities}} Entidades, {{venues}} Locais e {{devices}} Dispositivos",
|
||||
"uuid": "ID de configuração",
|
||||
"view_in_use": "Visualização em uso",
|
||||
"view_json": "Exibir JSON bruto"
|
||||
},
|
||||
"configure": {
|
||||
@@ -196,14 +225,20 @@
|
||||
"add_failure": "Erro, o servidor retornou: {{error}}",
|
||||
"add_root": "Adicionar Entidade Raiz",
|
||||
"add_success": "Entidade criada com sucesso!",
|
||||
"assigned_inventory": "Estoque Atribuído",
|
||||
"cannot_delete": "Você não pode excluir entidades que têm filhos. Exclua os filhos desta entidade para poder excluí-la.",
|
||||
"delete_success": "Entidade excluída com sucesso",
|
||||
"delete_warning": "Aviso: esta operação não pode ser revertida",
|
||||
"edit_failure": "Atualização malsucedida: {{error}}",
|
||||
"entities": "Entidades",
|
||||
"entity": "Entidade",
|
||||
"error_fetch_entity": "Erro ao buscar informações da entidade",
|
||||
"error_fetching": "Erro ao buscar entidades",
|
||||
"error_saving": "Erro ao salvar entidade",
|
||||
"not_assigned": "Não atribuído",
|
||||
"only_unassigned": "Apenas não atribuídos",
|
||||
"valid_serial": "Precisa ser um número de série válido (12 caracteres HEX)"
|
||||
"valid_serial": "Precisa ser um número de série válido (12 caracteres HEX)",
|
||||
"venues": "Locais"
|
||||
},
|
||||
"factory_reset": {
|
||||
"redirector": "Manter redirecionador:",
|
||||
@@ -251,24 +286,86 @@
|
||||
"title": "Saúde"
|
||||
},
|
||||
"inventory": {
|
||||
"add_child": "Adicionar local infantil",
|
||||
"add_child_venue": "Adicionar Local Infantil a {{entityName}}",
|
||||
"add_tag": "Adicionar etiqueta",
|
||||
"add_tag": "Criar tag",
|
||||
"add_tag_to": "Adicionar tag de estoque a {{name}}",
|
||||
"add_venue": "Adicionar Local",
|
||||
"assign_entity_instructions": "Você pode encontrar a entidade à qual deseja que esta tag seja atribuída usando o menu abaixo ou pode colar manualmente o UUID da entidade no campo acima.",
|
||||
"assign_error": "Erro ao tentar atribuir tag",
|
||||
"assign_to_entity": "Atribuir à Entidade",
|
||||
"bulk_delete_assigned": "Gostaria de excluir em massa os dispositivos atribuídos em seu arquivo?",
|
||||
"bulk_delete_assigned_warning": "Aviso: esta ação não é reversível",
|
||||
"bulk_delete_devices": "Dispositivos de exclusão em massa",
|
||||
"bulk_delete_devices_not_found": "{{number}} dispositivos não encontrados",
|
||||
"bulk_delete_explanation": "Para excluir dispositivos em massa, use um arquivo CSV com uma coluna chamada SerialNumber",
|
||||
"bulk_delete_test": "Validar Arquivo",
|
||||
"close_entity_menu": "Fechar Menu Editar Entidade",
|
||||
"delete_devices": "Apagar dispositivos",
|
||||
"delete_errors": "{{number}} Excluir erros do dispositivo",
|
||||
"delete_tag": "Excluir tag",
|
||||
"delete_venue": "Excluir local permanentemente",
|
||||
"deleted_devices": "{{number}} Dispositivos Excluídos",
|
||||
"deleting": "Excluindo ...",
|
||||
"deletion_failure": "Erro de exclusão",
|
||||
"devices_assigned": "{{number}} dispositivos existentes atribuídos e atualizados",
|
||||
"devices_created": "{{number}} dispositivos criados",
|
||||
"devices_deleted": "Dispositivos Excluídos",
|
||||
"devices_errors_while_creating": "{{number}} criações de dispositivos falharam",
|
||||
"devices_errors_while_updating": "{{number}} atualizações do dispositivo falharam",
|
||||
"devices_found_assigned": "{{number}} dispositivos encontrados e já atribuídos a uma entidade ou local",
|
||||
"devices_found_unassigned": "{{number}} dispositivos encontrados, mas não atribuídos",
|
||||
"devices_imported": " Dispositivos importados",
|
||||
"devices_not_found": "{{number}} dispositivos sem conflito",
|
||||
"devices_tested": "Dispositivos Testados",
|
||||
"duplicate_serial": "Número de série já usado no arquivo (duplicado)",
|
||||
"error_create_venue": "Erro ao criar local",
|
||||
"error_delete_tag": "Erro ao excluir tag de inventário",
|
||||
"error_get_venue": "Erro ao recuperar locais",
|
||||
"error_retrieving": "Ocorreu um erro ao recuperar as tags de inventário",
|
||||
"error_unassign": "Erro durante operação de cancelamento de atribuição",
|
||||
"error_update_venue": "Erro ao atualizar o local",
|
||||
"error_venue_delete": "Erro ao excluir local",
|
||||
"error_within_file": "{{number}} dispositivos com informações erradas no arquivo (serão ignorados)",
|
||||
"file_error": "Parece haver um erro em seu arquivo. Certifique-se de que o arquivo esteja no formato CSV e contenha as 5 colunas mencionadas acima na primeira linha do arquivo",
|
||||
"final_delete_results": "Resultados de exclusão final",
|
||||
"final_import_results": "Resultados finais de importação",
|
||||
"import_assigned_devices": "Quer reatribuí-los com esta importação?",
|
||||
"import_assigned_devices_explanation": "Alguns dispositivos entram em conflito com dispositivos já atribuídos. Você deve resolver esses problemas antes de importar.",
|
||||
"import_devices": "Dispositivos de importação",
|
||||
"import_devices_explanation": "Para importar dispositivos em massa, você precisa usar um arquivo CSV com as seguintes colunas: SerialNumber, Name, Description, DeviceType, NoteText",
|
||||
"import_devices_to": "Importar dispositivos para {{name}}",
|
||||
"import_existing_devices": "Atualizar e atribuí-los?",
|
||||
"import_existing_devices_explanation": "Alguns dispositivos já existem no inventário e não foram atribuídos.",
|
||||
"importing": "A importar ...",
|
||||
"last_modification": "Última modificação",
|
||||
"no_devices_to_delete": "Nenhum dispositivo para excluir",
|
||||
"no_devices_to_import": "Nenhum dispositivo válido para criar ou atualizar!",
|
||||
"note_text": "Texto da Nota",
|
||||
"passed_tests": "Todos os testes foram aprovados, seus dispositivos estão prontos para importar!",
|
||||
"serial_number_required": "Erro: Número de série ausente",
|
||||
"showing_top_10": "Aqui está uma prévia das informações que recuperamos de seu arquivo:",
|
||||
"sub_venues": "Subvenues",
|
||||
"subscriber": "Assinante",
|
||||
"successful_assign": "Tag atribuída com sucesso",
|
||||
"successful_tag_delete": "Tag de inventário excluída com sucesso",
|
||||
"successful_tag_update": "Tag atualizada com sucesso",
|
||||
"successful_unassign": "A operação de cancelamento da atribuição foi bem-sucedida",
|
||||
"successful_venue_create": "Local criado com sucesso",
|
||||
"successful_venue_delete": "Local excluído com sucesso",
|
||||
"successful_venue_update": "Local atualizado com sucesso",
|
||||
"tag_created": "Tag de inventário criada com sucesso",
|
||||
"tag_creation_error": "Erro ao tentar criar etiqueta de inventário",
|
||||
"tag_update_error": "Erro ao atualizar tag",
|
||||
"tags_assigned_to": "Tags de inventário atribuídas a {{name}}",
|
||||
"test_import": "Validar dados de importação",
|
||||
"test_results": "Resultado dos testes",
|
||||
"type_invalid": "Erro: Tipo de dispositivo inválido",
|
||||
"unassign": "Cancelar atribuição",
|
||||
"unassign_tag": "Cancelar a atribuição de tag da entidade",
|
||||
"unassigned_deleted_devices": "{{number}} Dispositivos excluídos e não atribuídos",
|
||||
"unassigned_tags": "Tags não atribuídas",
|
||||
"validating_import_file": "Validando arquivo de importação e dados ...",
|
||||
"venue": "Local"
|
||||
},
|
||||
"login": {
|
||||
@@ -339,6 +436,12 @@
|
||||
"system": {
|
||||
"error_fetching": "Erro ao buscar informações do sistema"
|
||||
},
|
||||
"telemetry": {
|
||||
"connection_failed": "Falha ao criar conexão. Erro: {{error}}",
|
||||
"interval": "intervalo",
|
||||
"last_update": "Última atualização",
|
||||
"types": "Tipos"
|
||||
},
|
||||
"trace": {
|
||||
"choose_network": "Escolha a rede",
|
||||
"directions": "Lançar um rastreamento remoto deste dispositivo para uma duração específica ou um número de pacotes",
|
||||
|
||||
@@ -70,7 +70,7 @@ const BlinkModal = ({ show, toggleModal }) => {
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/leds`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/leds`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
|
||||
@@ -113,7 +113,7 @@ const DeviceCommands = () => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/commands?serialNumber=${encodeURIComponent(
|
||||
`${endpoints.owgw}/api/v1/commands?serialNumber=${encodeURIComponent(
|
||||
deviceSerialNumber,
|
||||
)}${extraParams}`,
|
||||
options,
|
||||
@@ -138,10 +138,7 @@ const DeviceCommands = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/file/${uuid}?serialNumber=${deviceSerialNumber}`,
|
||||
options,
|
||||
)
|
||||
.get(`${endpoints.owgw}/api/v1/file/${uuid}?serialNumber=${deviceSerialNumber}`, options)
|
||||
.then((response) => {
|
||||
const blob = new Blob([response.data], { type: 'application/octet-stream' });
|
||||
const link = document.createElement('a');
|
||||
@@ -162,7 +159,7 @@ const DeviceCommands = () => {
|
||||
},
|
||||
};
|
||||
return axiosInstance
|
||||
.delete(`${endpoints.ucentralgw}/api/v1/command/${uuidDelete}`, options)
|
||||
.delete(`${endpoints.owgw}/api/v1/command/${uuidDelete}`, options)
|
||||
.then(() => {
|
||||
deleteCommandFromList(uuidDelete);
|
||||
setUuidDelete('');
|
||||
|
||||
@@ -83,7 +83,7 @@ const ConfigureModal = ({ show, toggleModal }) => {
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/configure`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/configure`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
|
||||
@@ -91,7 +91,7 @@ const CreateUserModal = ({ show, toggle, getUsers }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.post(`${endpoints.ucentralsec}/api/v1/user/0`, parameters, {
|
||||
.post(`${endpoints.owsec}/api/v1/user/0`, parameters, {
|
||||
headers,
|
||||
})
|
||||
.then(() => {
|
||||
@@ -123,11 +123,11 @@ const CreateUserModal = ({ show, toggle, getUsers }) => {
|
||||
|
||||
const getPasswordPolicy = () => {
|
||||
axiosInstance
|
||||
.post(`${endpoints.ucentralsec}/api/v1/oauth2?requirements=true`, {})
|
||||
.post(`${endpoints.owsec}/api/v1/oauth2?requirements=true`, {})
|
||||
.then((response) => {
|
||||
const newPolicies = response.data;
|
||||
newPolicies.accessPolicy = `${endpoints.ucentralsec}${newPolicies.accessPolicy}`;
|
||||
newPolicies.passwordPolicy = `${endpoints.ucentralsec}${newPolicies.passwordPolicy}`;
|
||||
newPolicies.accessPolicy = `${endpoints.owsec}${newPolicies.accessPolicy}`;
|
||||
newPolicies.passwordPolicy = `${endpoints.owsec}${newPolicies.passwordPolicy}`;
|
||||
setPolicies(response.data);
|
||||
})
|
||||
.catch(() => {});
|
||||
|
||||
@@ -34,7 +34,7 @@ const DeleteLogModal = ({ show, toggle, object }) => {
|
||||
},
|
||||
};
|
||||
return axiosInstance
|
||||
.delete(`${endpoints.ucentralgw}/api/v1/device/${deviceSerialNumber}/${object}`, options)
|
||||
.delete(`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}/${object}`, options)
|
||||
.then(() => {})
|
||||
.catch(() => {})
|
||||
.finally(() => {
|
||||
|
||||
@@ -11,6 +11,7 @@ import WifiScanModal from 'components/WifiScanModal';
|
||||
import BlinkModal from 'components/BlinkModal';
|
||||
import FactoryResetModal from 'components/FactoryResetModal';
|
||||
import EventQueueModal from 'components/EventQueueModal';
|
||||
import TelemetryModal from 'components/TelemetryModal';
|
||||
|
||||
const DeviceActions = () => {
|
||||
const { t } = useTranslation();
|
||||
@@ -30,38 +31,25 @@ const DeviceActions = () => {
|
||||
const [showConfigModal, setConfigModal] = useState(false);
|
||||
const [showFactoryModal, setShowFactoryModal] = useState(false);
|
||||
const [showQueueModal, setShowQueueModal] = useState(false);
|
||||
const [showTelemetryModal, setShowTelemetryModal] = useState(false);
|
||||
|
||||
const toggleRebootModal = () => {
|
||||
setShowRebootModal(!showRebootModal);
|
||||
};
|
||||
const toggleRebootModal = () => setShowRebootModal(!showRebootModal);
|
||||
|
||||
const toggleBlinkModal = () => {
|
||||
setShowBlinkModal(!showBlinkModal);
|
||||
};
|
||||
const toggleBlinkModal = () => setShowBlinkModal(!showBlinkModal);
|
||||
|
||||
const toggleUpgradeModal = () => {
|
||||
setShowUpgradeModal(!showUpgradeModal);
|
||||
};
|
||||
const toggleUpgradeModal = () => setShowUpgradeModal(!showUpgradeModal);
|
||||
|
||||
const toggleTraceModal = () => {
|
||||
setShowTraceModal(!showTraceModal);
|
||||
};
|
||||
const toggleTraceModal = () => setShowTraceModal(!showTraceModal);
|
||||
|
||||
const toggleScanModal = () => {
|
||||
setShowScanModal(!showScanModal);
|
||||
};
|
||||
const toggleScanModal = () => setShowScanModal(!showScanModal);
|
||||
|
||||
const toggleConfigModal = () => {
|
||||
setConfigModal(!showConfigModal);
|
||||
};
|
||||
const toggleConfigModal = () => setConfigModal(!showConfigModal);
|
||||
|
||||
const toggleFactoryResetModal = () => {
|
||||
setShowFactoryModal(!showFactoryModal);
|
||||
};
|
||||
const toggleFactoryResetModal = () => setShowFactoryModal(!showFactoryModal);
|
||||
|
||||
const toggleQueueModal = () => {
|
||||
setShowQueueModal(!showQueueModal);
|
||||
};
|
||||
const toggleQueueModal = () => setShowQueueModal(!showQueueModal);
|
||||
|
||||
const toggleTelemetryModal = () => setShowTelemetryModal(!showTelemetryModal);
|
||||
|
||||
const getRttysInfo = () => {
|
||||
setConnectLoading(true);
|
||||
@@ -74,7 +62,7 @@ const DeviceActions = () => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/rtty`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/rtty`,
|
||||
options,
|
||||
)
|
||||
.then((response) => {
|
||||
@@ -97,7 +85,7 @@ const DeviceActions = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralgw}/api/v1/device/${deviceSerialNumber}`, options)
|
||||
.get(`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}`, options)
|
||||
.then((response) => {
|
||||
setDevice(response.data);
|
||||
})
|
||||
@@ -188,7 +176,11 @@ const DeviceActions = () => {
|
||||
{t('commands.event_queue')}
|
||||
</CButton>
|
||||
</CCol>
|
||||
<CCol />
|
||||
<CCol>
|
||||
<CButton block color="primary" hidden onClick={toggleTelemetryModal}>
|
||||
{t('actions.telemetry')}
|
||||
</CButton>
|
||||
</CCol>
|
||||
</CRow>
|
||||
</CCardBody>
|
||||
<RebootModal show={showRebootModal} toggleModal={toggleRebootModal} />
|
||||
@@ -208,6 +200,7 @@ const DeviceActions = () => {
|
||||
<ConfigureModal show={showConfigModal} toggleModal={toggleConfigModal} />
|
||||
<FactoryResetModal show={showFactoryModal} toggleModal={toggleFactoryResetModal} />
|
||||
<EventQueueModal show={showQueueModal} toggle={toggleQueueModal} />
|
||||
<TelemetryModal show={showTelemetryModal} toggle={toggleTelemetryModal} />
|
||||
</CCard>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -57,10 +57,7 @@ const DeviceConfiguration = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}`,
|
||||
options,
|
||||
)
|
||||
.get(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}`, options)
|
||||
.then((response) => {
|
||||
setDevice(response.data);
|
||||
})
|
||||
@@ -82,7 +79,7 @@ const DeviceConfiguration = () => {
|
||||
|
||||
axiosInstance
|
||||
.put(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/* eslint-disable no-await-in-loop */
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { DeviceFirmwareModal as Modal, useAuth } from 'ucentral-libs';
|
||||
import { DeviceFirmwareModal as Modal, useAuth, useToast } from 'ucentral-libs';
|
||||
import axiosInstance from 'utils/axiosInstance';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
@@ -12,37 +13,59 @@ const DeviceFirmwareModal = ({
|
||||
upgradeStatus,
|
||||
}) => {
|
||||
const { t } = useTranslation();
|
||||
const { addToast } = useToast();
|
||||
const { currentToken, endpoints } = useAuth();
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [firmwareVersions, setFirmwareVersions] = useState([]);
|
||||
|
||||
const getFirmwareList = () => {
|
||||
setLoading(true);
|
||||
|
||||
const getPartialFirmware = async (offset) => {
|
||||
const headers = {
|
||||
Accept: 'application/json',
|
||||
Authorization: `Bearer ${currentToken}`,
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralfms}/api/v1/firmwares?deviceType=${device.compatible}`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
const sortedFirmware = response.data.firmwares.sort((a, b) => {
|
||||
const firstDate = a.imageDate;
|
||||
const secondDate = b.imageDate;
|
||||
if (firstDate < secondDate) return 1;
|
||||
return firstDate > secondDate ? -1 : 0;
|
||||
});
|
||||
setFirmwareVersions(sortedFirmware);
|
||||
setLoading(false);
|
||||
})
|
||||
return axiosInstance
|
||||
.get(
|
||||
`${endpoints.owfms}/api/v1/firmwares?deviceType=${device.compatible}&limit=500&offset=${offset}`,
|
||||
{
|
||||
headers,
|
||||
},
|
||||
)
|
||||
.then((response) => response.data.firmwares)
|
||||
.catch(() => {
|
||||
setLoading(false);
|
||||
addToast({
|
||||
title: t('common.error'),
|
||||
body: t('common.general_error'),
|
||||
color: 'danger',
|
||||
autohide: true,
|
||||
});
|
||||
return [];
|
||||
});
|
||||
};
|
||||
|
||||
const getFirmwareList = async () => {
|
||||
setLoading(true);
|
||||
|
||||
const allFirmwares = [];
|
||||
let continueFirmware = true;
|
||||
let i = 1;
|
||||
while (continueFirmware) {
|
||||
const newFirmwares = await getPartialFirmware(i);
|
||||
if (newFirmwares === null || newFirmwares.length === 0) continueFirmware = false;
|
||||
allFirmwares.push(...newFirmwares);
|
||||
i += 500;
|
||||
}
|
||||
const sortedFirmware = allFirmwares.sort((a, b) => {
|
||||
const firstDate = a.imageDate;
|
||||
const secondDate = b.imageDate;
|
||||
if (firstDate < secondDate) return 1;
|
||||
return firstDate > secondDate ? -1 : 0;
|
||||
});
|
||||
setFirmwareVersions(sortedFirmware);
|
||||
|
||||
setLoading(false);
|
||||
};
|
||||
|
||||
const upgradeToVersion = (uri) => {
|
||||
setUpgradeStatus({
|
||||
loading: true,
|
||||
@@ -60,7 +83,7 @@ const DeviceFirmwareModal = ({
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.post(`${endpoints.ucentralgw}/api/v1/device/${device.serialNumber}/upgrade`, parameters, {
|
||||
.post(`${endpoints.owgw}/api/v1/device/${device.serialNumber}/upgrade`, parameters, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
|
||||
@@ -85,7 +85,7 @@ const DeviceHealth = () => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(
|
||||
deviceSerialNumber,
|
||||
)}/healthchecks${extraParams}`,
|
||||
options,
|
||||
|
||||
@@ -68,9 +68,7 @@ const DeviceList = () => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${
|
||||
endpoints.ucentralgw
|
||||
}/api/v1/devices?deviceWithStatus=true&limit=${devicePerPage}&offset=${
|
||||
`${endpoints.owgw}/api/v1/devices?deviceWithStatus=true&limit=${devicePerPage}&offset=${
|
||||
devicePerPage * selectedPage + 1
|
||||
}`,
|
||||
options,
|
||||
@@ -80,7 +78,7 @@ const DeviceList = () => {
|
||||
const serialsToGet = fullDevices.map((device) => device.serialNumber);
|
||||
|
||||
return axiosInstance.get(
|
||||
`${endpoints.ucentralfms}/api/v1/firmwareAge?select=${serialsToGet}`,
|
||||
`${endpoints.owfms}/api/v1/firmwareAge?select=${serialsToGet}`,
|
||||
options,
|
||||
);
|
||||
})
|
||||
@@ -115,7 +113,7 @@ const DeviceList = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralgw}/api/v1/devices?countOnly=true`, {
|
||||
.get(`${endpoints.owgw}/api/v1/devices?countOnly=true`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
@@ -147,18 +145,37 @@ const DeviceList = () => {
|
||||
},
|
||||
};
|
||||
|
||||
let newDevice;
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/devices?deviceWithStatus=true&select=${encodeURIComponent(
|
||||
`${endpoints.owgw}/api/v1/devices?deviceWithStatus=true&select=${encodeURIComponent(
|
||||
serialNumber,
|
||||
)}`,
|
||||
options,
|
||||
)
|
||||
.then(
|
||||
({
|
||||
data: {
|
||||
devicesWithStatus: [device],
|
||||
},
|
||||
}) => {
|
||||
newDevice = device;
|
||||
|
||||
return axiosInstance.get(
|
||||
`${endpoints.owfms}/api/v1/firmwareAge?select=${serialNumber}`,
|
||||
options,
|
||||
);
|
||||
},
|
||||
)
|
||||
.then((response) => {
|
||||
const device = response.data.devicesWithStatus[0];
|
||||
newDevice.firmwareInfo = {
|
||||
age: response.data.ages[0].age,
|
||||
latest: response.data.ages[0].latest,
|
||||
};
|
||||
const foundIndex = devices.findIndex((obj) => obj.serialNumber === serialNumber);
|
||||
const newList = devices;
|
||||
newList[foundIndex] = device;
|
||||
newList[foundIndex] = newDevice;
|
||||
setDevices(newList);
|
||||
setLoading(false);
|
||||
})
|
||||
@@ -203,7 +220,7 @@ const DeviceList = () => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralfms}/api/v1/firmwares?deviceType=${device.compatible}&latestOnly=true`,
|
||||
`${endpoints.owfms}/api/v1/firmwares?deviceType=${device.compatible}&latestOnly=true`,
|
||||
options,
|
||||
)
|
||||
.then((response) => {
|
||||
@@ -214,7 +231,7 @@ const DeviceList = () => {
|
||||
uri: response.data.uri,
|
||||
};
|
||||
return axiosInstance.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${device.serialNumber}/upgrade`,
|
||||
`${endpoints.owgw}/api/v1/device/${device.serialNumber}/upgrade`,
|
||||
parameters,
|
||||
options,
|
||||
);
|
||||
@@ -259,10 +276,7 @@ const DeviceList = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(serialNumber)}/rtty`,
|
||||
options,
|
||||
)
|
||||
.get(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(serialNumber)}/rtty`, options)
|
||||
.then((response) => {
|
||||
const url = `https://${response.data.server}:${response.data.viewport}/connect/${response.data.connectionId}`;
|
||||
const newWindow = window.open(url, '_blank', 'noopener,noreferrer');
|
||||
@@ -291,7 +305,7 @@ const DeviceList = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.delete(`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(serialNumber)}`, options)
|
||||
.delete(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(serialNumber)}`, options)
|
||||
.then(() => {
|
||||
addToast({
|
||||
title: t('common.success'),
|
||||
|
||||
@@ -82,7 +82,7 @@ const DeviceLogs = () => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(
|
||||
deviceSerialNumber,
|
||||
)}/logs${extraParams}`,
|
||||
options,
|
||||
|
||||
@@ -24,7 +24,7 @@ const DeviceSearchBar = () => {
|
||||
}
|
||||
} else if (socket.readyState !== WebSocket.CONNECTING) {
|
||||
setWaitingSearch(value);
|
||||
setSocket(new WebSocket(`${endpoints.ucentralgw.replace('https', 'wss')}/api/v1/ws`));
|
||||
setSocket(new WebSocket(`${endpoints.owgw.replace('https', 'wss')}/api/v1/ws`));
|
||||
} else {
|
||||
setWaitingSearch(value);
|
||||
}
|
||||
@@ -61,7 +61,7 @@ const DeviceSearchBar = () => {
|
||||
|
||||
useEffect(() => {
|
||||
if (socket === null) {
|
||||
setSocket(new WebSocket(`${endpoints.ucentralgw.replace('https', 'wss')}/api/v1/ws`));
|
||||
setSocket(new WebSocket(`${endpoints.owgw.replace('https', 'wss')}/api/v1/ws`));
|
||||
}
|
||||
}, []);
|
||||
|
||||
|
||||
@@ -22,13 +22,13 @@ const DeviceStatusCard = () => {
|
||||
};
|
||||
|
||||
const lastStatsRequest = axiosInstance.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(
|
||||
deviceSerialNumber,
|
||||
)}/statistics?lastOnly=true`,
|
||||
options,
|
||||
);
|
||||
const statusRequest = axiosInstance.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/status`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/status`,
|
||||
options,
|
||||
);
|
||||
|
||||
|
||||
@@ -61,11 +61,11 @@ const EditUserModal = ({ show, toggle, userId, getUsers }) => {
|
||||
|
||||
const getPasswordPolicy = () => {
|
||||
axiosInstance
|
||||
.post(`${endpoints.ucentralsec}/api/v1/oauth2?requirements=true`, {})
|
||||
.post(`${endpoints.owsec}/api/v1/oauth2?requirements=true`, {})
|
||||
.then((response) => {
|
||||
const newPolicies = response.data;
|
||||
newPolicies.accessPolicy = `${endpoints.ucentralsec}${newPolicies.accessPolicy}`;
|
||||
newPolicies.passwordPolicy = `${endpoints.ucentralsec}${newPolicies.passwordPolicy}`;
|
||||
newPolicies.accessPolicy = `${endpoints.owsec}${newPolicies.accessPolicy}`;
|
||||
newPolicies.passwordPolicy = `${endpoints.owsec}${newPolicies.passwordPolicy}`;
|
||||
setPolicies(response.data);
|
||||
})
|
||||
.catch(() => {});
|
||||
@@ -80,7 +80,7 @@ const EditUserModal = ({ show, toggle, userId, getUsers }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralsec}/api/v1/user/${userId}`, options)
|
||||
.get(`${endpoints.owsec}/api/v1/user/${userId}`, options)
|
||||
.then((response) => {
|
||||
const newUser = {};
|
||||
|
||||
@@ -134,7 +134,7 @@ const EditUserModal = ({ show, toggle, userId, getUsers }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.put(`${endpoints.ucentralsec}/api/v1/user/${userId}`, parameters, options)
|
||||
.put(`${endpoints.owsec}/api/v1/user/${userId}`, parameters, options)
|
||||
.then(() => {
|
||||
addToast({
|
||||
title: t('user.update_success_title'),
|
||||
@@ -186,7 +186,7 @@ const EditUserModal = ({ show, toggle, userId, getUsers }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.put(`${endpoints.ucentralsec}/api/v1/user/${userId}`, parameters, options)
|
||||
.put(`${endpoints.owsec}/api/v1/user/${userId}`, parameters, options)
|
||||
.then(() => {
|
||||
getUser();
|
||||
})
|
||||
|
||||
@@ -28,11 +28,7 @@ const EventQueueModal = ({ show, toggle }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${deviceSerialNumber}/eventqueue`,
|
||||
parameters,
|
||||
options,
|
||||
)
|
||||
.post(`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}/eventqueue`, parameters, options)
|
||||
.then((response) => {
|
||||
setResult(response.data);
|
||||
})
|
||||
|
||||
@@ -64,7 +64,7 @@ const ConfigureModal = ({ show, toggleModal }) => {
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/factory`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/factory`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
|
||||
@@ -29,7 +29,7 @@ const FirmwareHistoryModal = ({ serialNumber, show, toggle }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralfms}/api/v1/revisionHistory/${serialNumber}`, options)
|
||||
.get(`${endpoints.owfms}/api/v1/revisionHistory/${serialNumber}`, options)
|
||||
.then((response) => setData(response.data.history ?? []))
|
||||
.catch(() => {})
|
||||
.finally(() => setLoading(false));
|
||||
|
||||
@@ -22,10 +22,7 @@ const UpgradeWaitingBody = ({ serialNumber }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(serialNumber)}/status`,
|
||||
options,
|
||||
)
|
||||
.get(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(serialNumber)}/status`, options)
|
||||
.then((response) => response.data.connected)
|
||||
.catch(() => {});
|
||||
};
|
||||
@@ -39,7 +36,7 @@ const UpgradeWaitingBody = ({ serialNumber }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(serialNumber)}`, options)
|
||||
.get(`${endpoints.owgw}/api/v1/device/${encodeURIComponent(serialNumber)}`, options)
|
||||
.then((response) => response.data.firmware)
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
@@ -84,7 +84,7 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => {
|
||||
const isConnected = await getDeviceConnection(
|
||||
deviceSerialNumber,
|
||||
currentToken,
|
||||
endpoints.ucentralgw,
|
||||
endpoints.owgw,
|
||||
);
|
||||
setDisableWaiting(!isConnected);
|
||||
setDeviceConnected(isConnected);
|
||||
@@ -110,7 +110,7 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => {
|
||||
};
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/upgrade`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/upgrade`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
@@ -160,7 +160,7 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => {
|
||||
<CCol md="8">
|
||||
<CInput
|
||||
disabled={blockFields}
|
||||
className={('form-control', { 'is-invalid': !validFirmware })}
|
||||
className={`form-control ${!validFirmware ? 'is-invalid' : ''}`}
|
||||
type="text"
|
||||
id="uri"
|
||||
name="uri-input"
|
||||
@@ -194,7 +194,7 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => {
|
||||
<DatePicker
|
||||
selected={new Date(date)}
|
||||
value={new Date(date)}
|
||||
className={('form-control', { 'is-invalid': !validDate })}
|
||||
className={`form-control ${!validDate ? 'is-invalid' : ''}`}
|
||||
includeTime
|
||||
disabled={blockFields}
|
||||
onChange={(newDate) => setDate(newDate.toString())}
|
||||
|
||||
@@ -28,7 +28,7 @@ const LatestStatisticsModal = ({ show, toggle }) => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${deviceSerialNumber}/statistics?lastOnly=true`,
|
||||
`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}/statistics?lastOnly=true`,
|
||||
options,
|
||||
)
|
||||
.then((response) => {
|
||||
|
||||
@@ -128,7 +128,7 @@ const StatisticsChartList = () => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${deviceSerialNumber}/statistics?newest=true&limit=50`,
|
||||
`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}/statistics?newest=true&limit=50`,
|
||||
options,
|
||||
)
|
||||
.then((response) => {
|
||||
|
||||
@@ -23,7 +23,7 @@ const LifetimeStatsModal = ({ show, toggle }) => {
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${deviceSerialNumber}/statistics?lifetime=true`,
|
||||
`${endpoints.owgw}/api/v1/device/${deviceSerialNumber}/statistics?lifetime=true`,
|
||||
options,
|
||||
)
|
||||
.then((response) => {
|
||||
|
||||
@@ -64,7 +64,7 @@ const ActionModal = ({ show, toggleModal }) => {
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/reboot`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/reboot`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
|
||||
222
src/components/TelemetryModal/index.js
Normal file
222
src/components/TelemetryModal/index.js
Normal file
@@ -0,0 +1,222 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import PropTypes from 'prop-types';
|
||||
import Select from 'react-select';
|
||||
import {
|
||||
CModal,
|
||||
CModalHeader,
|
||||
CModalTitle,
|
||||
CModalBody,
|
||||
CButton,
|
||||
CPopover,
|
||||
CRow,
|
||||
CCol,
|
||||
CInput,
|
||||
CSpinner,
|
||||
CAlert,
|
||||
} from '@coreui/react';
|
||||
import CIcon from '@coreui/icons-react';
|
||||
import { cilX } from '@coreui/icons';
|
||||
import { useDevice, useAuth, useToast } from 'ucentral-libs';
|
||||
import axiosInstance from 'utils/axiosInstance';
|
||||
import { checkIfJson } from 'utils/helper';
|
||||
|
||||
const typeOptions = [
|
||||
{ value: 'wifi-frames', label: 'wifi-frames' },
|
||||
{ value: 'dhcp-snooping', label: 'dhcp-snooping' },
|
||||
];
|
||||
|
||||
const TelemetryModal = ({ show, toggle }) => {
|
||||
const { t } = useTranslation();
|
||||
const { currentToken, endpoints } = useAuth();
|
||||
const { deviceSerialNumber } = useDevice();
|
||||
const { addToast } = useToast();
|
||||
const [socket, setSocket] = useState(null);
|
||||
const [lastMessage, setLastMessage] = useState({});
|
||||
const [receivedMessages, setReceivedMessages] = useState(0);
|
||||
const [types, setTypes] = useState([]);
|
||||
const [interval, setInterval] = useState(3);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [lastUpdate, setLastUpdate] = useState('');
|
||||
|
||||
const onIntervalChange = (e) => setInterval(e.target.value);
|
||||
|
||||
const closeSocket = () => {
|
||||
if (socket !== null) {
|
||||
socket.close();
|
||||
setSocket(null);
|
||||
}
|
||||
};
|
||||
|
||||
const getUrl = () => {
|
||||
setLastUpdate('');
|
||||
setLastMessage({});
|
||||
setLoading(true);
|
||||
|
||||
const parameters = {
|
||||
serialNumber: deviceSerialNumber,
|
||||
interval: parseInt(interval, 10),
|
||||
types: types.map((type) => type.value),
|
||||
};
|
||||
|
||||
const headers = {
|
||||
Accept: 'application/json',
|
||||
Authorization: `Bearer ${currentToken}`,
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/telemetry`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
.then((response) => {
|
||||
if (response.data.uri && response.data.uri !== '') {
|
||||
setReceivedMessages(0);
|
||||
setSocket(new WebSocket(response.data.uri));
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
addToast({
|
||||
title: t('common.error'),
|
||||
body: t('telemetry.connection_failed', { error: e.response?.data?.ErrorDescription }),
|
||||
color: 'danger',
|
||||
autohide: true,
|
||||
});
|
||||
})
|
||||
.finally(() => setLoading(false));
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (socket !== null) {
|
||||
socket.onopen = () => {
|
||||
socket.send(`token:${currentToken}`);
|
||||
};
|
||||
|
||||
socket.onmessage = (event) => {
|
||||
if (checkIfJson(event.data)) {
|
||||
const result = JSON.parse(event.data);
|
||||
setLastMessage(result);
|
||||
setLastUpdate(new Date().toLocaleString());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return () => closeSocket();
|
||||
}, [socket]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!show && socket !== null) {
|
||||
closeSocket();
|
||||
}
|
||||
}, [show, socket]);
|
||||
|
||||
useEffect(() => {
|
||||
if (lastMessage !== {}) setReceivedMessages(receivedMessages + 1);
|
||||
}, [lastMessage]);
|
||||
|
||||
return (
|
||||
<CModal className="text-dark" size="lg" show={show} onClose={toggle}>
|
||||
<CModalHeader className="p-1">
|
||||
<CModalTitle className="pl-1 pt-1">{t('actions.telemetry')}</CModalTitle>
|
||||
<div className="text-right">
|
||||
<CPopover content={t('common.close')}>
|
||||
<CButton color="primary" variant="outline" className="ml-2" onClick={toggle}>
|
||||
<CIcon content={cilX} />
|
||||
</CButton>
|
||||
</CPopover>
|
||||
</div>
|
||||
</CModalHeader>
|
||||
<CModalBody className="px-5">
|
||||
{socket === null ? (
|
||||
<div>
|
||||
<CRow>
|
||||
<CCol>{`${t('telemetry.interval')}: ${interval} ${t('common.seconds')}`}</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
<CCol>
|
||||
<CInput
|
||||
type="range"
|
||||
min="1"
|
||||
max="120"
|
||||
step="1"
|
||||
onChange={onIntervalChange}
|
||||
value={interval}
|
||||
/>
|
||||
</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
<CCol sm="2" className="pt-2">
|
||||
{t('telemetry.types')}:
|
||||
</CCol>
|
||||
<CCol sm="6">
|
||||
<Select
|
||||
isMulti
|
||||
closeMenuOnSelect={false}
|
||||
name="Device Types"
|
||||
options={typeOptions}
|
||||
onChange={setTypes}
|
||||
value={types}
|
||||
className="basic-multi-select"
|
||||
classNamePrefix="select"
|
||||
/>
|
||||
</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
<CCol className="text-center p-4">
|
||||
<CButton color="primary" onClick={getUrl} disabled={loading || types.length === 0}>
|
||||
Start Telemetry!
|
||||
</CButton>
|
||||
</CCol>
|
||||
</CRow>
|
||||
</div>
|
||||
) : (
|
||||
<div>
|
||||
<CRow>
|
||||
<CCol>
|
||||
{t('telemetry.interval')}: {interval} {t('common.seconds')}
|
||||
</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
<CCol>
|
||||
{t('telemetry.types')}: {types.map((type) => type.label).join(', ')}
|
||||
</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
<CCol>
|
||||
{t('telemetry.last_update')}: {lastUpdate}
|
||||
</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
<CCol className="font-weight-bold">Received Messages: {receivedMessages}</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
<CCol>
|
||||
<pre>{JSON.stringify(lastMessage, null, '\t')}</pre>
|
||||
</CCol>
|
||||
</CRow>
|
||||
<CRow>
|
||||
{socket.readyState === WebSocket.OPEN ||
|
||||
socket.readyState === WebSocket.CONNECTING ? (
|
||||
<CCol className="d-flex justify-content-center align-items-center">
|
||||
<CSpinner />
|
||||
</CCol>
|
||||
) : (
|
||||
<CCol>
|
||||
<CAlert color="danger">{t('common.socket_connection_closed')}</CAlert>
|
||||
</CCol>
|
||||
)}
|
||||
</CRow>
|
||||
</div>
|
||||
)}
|
||||
</CModalBody>
|
||||
</CModal>
|
||||
);
|
||||
};
|
||||
|
||||
TelemetryModal.propTypes = {
|
||||
show: PropTypes.bool.isRequired,
|
||||
toggle: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default TelemetryModal;
|
||||
@@ -21,7 +21,7 @@ const WaitingForTraceBody = ({ serialNumber, commandUuid, toggle }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralgw}/api/v1/command/${encodeURIComponent(commandUuid)}`, options)
|
||||
.get(`${endpoints.owgw}/api/v1/command/${encodeURIComponent(commandUuid)}`, options)
|
||||
.then((response) => {
|
||||
if (response.data.waitingForFile === 0) {
|
||||
setWaitingForFile(false);
|
||||
@@ -44,10 +44,7 @@ const WaitingForTraceBody = ({ serialNumber, commandUuid, toggle }) => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/file/${commandUuid}?serialNumber=${serialNumber}`,
|
||||
options,
|
||||
)
|
||||
.get(`${endpoints.owgw}/api/v1/file/${commandUuid}?serialNumber=${serialNumber}`, options)
|
||||
.then((response) => {
|
||||
const blob = new Blob([response.data], { type: 'application/octet-stream' });
|
||||
const link = document.createElement('a');
|
||||
|
||||
@@ -80,7 +80,7 @@ const TraceModal = ({ show, toggleModal }) => {
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/trace`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/trace`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
@@ -108,7 +108,7 @@ const TraceModal = ({ show, toggleModal }) => {
|
||||
const isConnected = await getDeviceConnection(
|
||||
deviceSerialNumber,
|
||||
currentToken,
|
||||
endpoints.ucentralgw,
|
||||
endpoints.owgw,
|
||||
);
|
||||
setIsDeviceConnected(isConnected);
|
||||
};
|
||||
|
||||
@@ -98,7 +98,7 @@ const WifiScanModal = ({ show, toggleModal }) => {
|
||||
|
||||
axiosInstance
|
||||
.post(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/wifiscan`,
|
||||
`${endpoints.owgw}/api/v1/device/${encodeURIComponent(deviceSerialNumber)}/wifiscan`,
|
||||
parameters,
|
||||
{ headers },
|
||||
)
|
||||
|
||||
@@ -89,7 +89,7 @@ const TheLayout = () => {
|
||||
<PageContainer t={t} routes={routes} redirectTo="/devices" />
|
||||
</ToastProvider>
|
||||
</div>
|
||||
<Footer t={t} version="2.1.0" />
|
||||
<Footer t={t} version="2.1.9" />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -338,7 +338,7 @@ const DeviceDashboard = () => {
|
||||
Authorization: `Bearer ${currentToken}`,
|
||||
};
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralgw}/api/v1/deviceDashboard`, {
|
||||
.get(`${endpoints.owgw}/api/v1/deviceDashboard`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
|
||||
@@ -43,7 +43,7 @@ const FirmwareDashboard = () => {
|
||||
};
|
||||
|
||||
return axiosInstance
|
||||
.get(`${endpoints.ucentralgw}/api/v1/ouis?macList=${oui.join(',')}`, {
|
||||
.get(`${endpoints.owgw}/api/v1/ouis?macList=${oui.join(',')}`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
@@ -298,7 +298,7 @@ const FirmwareDashboard = () => {
|
||||
Authorization: `Bearer ${currentToken}`,
|
||||
};
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralfms}/api/v1/deviceReport`, {
|
||||
.get(`${endpoints.owfms}/api/v1/deviceReport`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable no-await-in-loop */
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import axiosInstance from 'utils/axiosInstance';
|
||||
@@ -48,42 +49,55 @@ const FirmwareListPage = () => {
|
||||
filterFirmware(firmware, !displayDev);
|
||||
};
|
||||
|
||||
const getFirmware = (deviceType) => {
|
||||
setLoading(true);
|
||||
|
||||
const getPartialFirmware = async (deviceType, offset) => {
|
||||
const headers = {
|
||||
Accept: 'application/json',
|
||||
Authorization: `Bearer ${currentToken}`,
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
return axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralfms}/api/v1/firmwares?deviceType=${deviceType ?? selectedDeviceType}`,
|
||||
`${endpoints.owfms}/api/v1/firmwares?deviceType=${deviceType}&limit=500&offset=${offset}`,
|
||||
{
|
||||
headers,
|
||||
},
|
||||
)
|
||||
.then((response) => {
|
||||
const sortedFirmware = response.data.firmwares.sort((a, b) => {
|
||||
const firstDate = a.imageDate;
|
||||
const secondDate = b.imageDate;
|
||||
if (firstDate < secondDate) return 1;
|
||||
return firstDate > secondDate ? -1 : 0;
|
||||
});
|
||||
setFirmware(sortedFirmware);
|
||||
filterFirmware(sortedFirmware, displayDev);
|
||||
})
|
||||
.then((response) => response.data.firmwares)
|
||||
.catch(() => {
|
||||
setLoading(false);
|
||||
addToast({
|
||||
title: t('common.error'),
|
||||
body: t('common.general_error'),
|
||||
color: 'danger',
|
||||
autohide: true,
|
||||
});
|
||||
return [];
|
||||
});
|
||||
};
|
||||
|
||||
const getFirmware = async (deviceType) => {
|
||||
setLoading(true);
|
||||
|
||||
const allFirmwares = [];
|
||||
let continueFirmware = true;
|
||||
let i = 1;
|
||||
while (continueFirmware) {
|
||||
const newFirmwares = await getPartialFirmware(deviceType ?? selectedDeviceType, i);
|
||||
if (newFirmwares === null || newFirmwares.length === 0) continueFirmware = false;
|
||||
allFirmwares.push(...newFirmwares);
|
||||
i += 500;
|
||||
}
|
||||
const sortedFirmware = allFirmwares.sort((a, b) => {
|
||||
const firstDate = a.imageDate;
|
||||
const secondDate = b.imageDate;
|
||||
if (firstDate < secondDate) return 1;
|
||||
return firstDate > secondDate ? -1 : 0;
|
||||
});
|
||||
setFirmware(sortedFirmware);
|
||||
filterFirmware(sortedFirmware, displayDev);
|
||||
|
||||
setLoading(false);
|
||||
};
|
||||
|
||||
const getDeviceTypes = () => {
|
||||
setLoading(true);
|
||||
|
||||
@@ -93,7 +107,7 @@ const FirmwareListPage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralfms}/api/v1/firmwares?deviceSet=true`, {
|
||||
.get(`${endpoints.owfms}/api/v1/firmwares?deviceSet=true`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
@@ -148,7 +162,7 @@ const FirmwareListPage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.put(`${endpoints.ucentralfms}/api/v1/firmware/${id}`, parameters, options)
|
||||
.put(`${endpoints.owfms}/api/v1/firmware/${id}`, parameters, options)
|
||||
.then(() => {
|
||||
getFirmware();
|
||||
setAddNoteLoading(false);
|
||||
@@ -180,7 +194,7 @@ const FirmwareListPage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.put(`${endpoints.ucentralfms}/api/v1/firmware/${id}`, parameters, options)
|
||||
.put(`${endpoints.owfms}/api/v1/firmware/${id}`, parameters, options)
|
||||
.then(() => {
|
||||
getFirmware();
|
||||
setUpdateDescriptionLoading(false);
|
||||
|
||||
@@ -206,7 +206,7 @@ const Login = () => {
|
||||
.then((response) => {
|
||||
if (response) {
|
||||
const endpoints = {
|
||||
ucentralsec: fields.ucentralsecurl.value,
|
||||
owsec: fields.ucentralsecurl.value,
|
||||
};
|
||||
for (const endpoint of response.data.endpoints) {
|
||||
endpoints[endpoint.type] = endpoint.uri;
|
||||
|
||||
@@ -60,11 +60,11 @@ const ProfilePage = () => {
|
||||
|
||||
const getPasswordPolicy = () => {
|
||||
axiosInstance
|
||||
.post(`${endpoints.ucentralsec}/api/v1/oauth2?requirements=true`, {})
|
||||
.post(`${endpoints.owsec}/api/v1/oauth2?requirements=true`, {})
|
||||
.then((response) => {
|
||||
const newPolicies = response.data;
|
||||
newPolicies.accessPolicy = `${endpoints.ucentralsec}${newPolicies.accessPolicy}`;
|
||||
newPolicies.passwordPolicy = `${endpoints.ucentralsec}${newPolicies.passwordPolicy}`;
|
||||
newPolicies.accessPolicy = `${endpoints.owsec}${newPolicies.accessPolicy}`;
|
||||
newPolicies.passwordPolicy = `${endpoints.owsec}${newPolicies.passwordPolicy}`;
|
||||
setPolicies(response.data);
|
||||
})
|
||||
.catch(() => {});
|
||||
@@ -79,7 +79,7 @@ const ProfilePage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralsec}/api/v1/user/${user.Id}`, options)
|
||||
.get(`${endpoints.owsec}/api/v1/user/${user.Id}`, options)
|
||||
.then((response) => {
|
||||
const newUser = {};
|
||||
|
||||
@@ -109,7 +109,7 @@ const ProfilePage = () => {
|
||||
data.append('file', newAvatarFile);
|
||||
|
||||
axiosInstance
|
||||
.post(`${endpoints.ucentralsec}/api/v1/avatar/${user.Id}`, data, options)
|
||||
.post(`${endpoints.owsec}/api/v1/avatar/${user.Id}`, data, options)
|
||||
.then(() => {
|
||||
addToast({
|
||||
title: t('user.update_success_title'),
|
||||
@@ -171,7 +171,7 @@ const ProfilePage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.put(`${endpoints.ucentralsec}/api/v1/user/${user.Id}`, parameters, options)
|
||||
.put(`${endpoints.owsec}/api/v1/user/${user.Id}`, parameters, options)
|
||||
.then(() => {
|
||||
addToast({
|
||||
title: t('user.update_success_title'),
|
||||
@@ -213,7 +213,7 @@ const ProfilePage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.put(`${endpoints.ucentralsec}/api/v1/user/${user.Id}`, parameters, options)
|
||||
.put(`${endpoints.owsec}/api/v1/user/${user.Id}`, parameters, options)
|
||||
.then(() => {
|
||||
getUser();
|
||||
})
|
||||
@@ -238,7 +238,7 @@ const ProfilePage = () => {
|
||||
},
|
||||
};
|
||||
return axiosInstance
|
||||
.delete(`${endpoints.ucentralsec}/api/v1/avatar/${user.Id}`, options)
|
||||
.delete(`${endpoints.owsec}/api/v1/avatar/${user.Id}`, options)
|
||||
.then(() => {
|
||||
getAvatar();
|
||||
})
|
||||
|
||||
@@ -55,9 +55,13 @@ const SystemPage = () => {
|
||||
start: prettyDate(startObj.value),
|
||||
};
|
||||
})
|
||||
.catch(() => {
|
||||
throw new Error('Error while fetching');
|
||||
})
|
||||
.catch(() => ({
|
||||
title: key,
|
||||
endpoint,
|
||||
uptime: t('common.unknown'),
|
||||
version: t('common.unknown'),
|
||||
start: t('common.unknown'),
|
||||
}))
|
||||
.finally(() => systemInfo);
|
||||
};
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ const UserListPage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralsec}/api/v1/users?idOnly=true`, {
|
||||
.get(`${endpoints.owsec}/api/v1/users?idOnly=true`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
@@ -61,7 +61,7 @@ const UserListPage = () => {
|
||||
|
||||
const promises = userIds.map(async (id) =>
|
||||
axiosInstance.get(
|
||||
`${endpoints.ucentralsec}/api/v1/avatar/${id}?timestamp=${new Date().toString()}`,
|
||||
`${endpoints.owsec}/api/v1/avatar/${id}?timestamp=${new Date().toString()}`,
|
||||
options,
|
||||
),
|
||||
);
|
||||
@@ -99,7 +99,7 @@ const UserListPage = () => {
|
||||
);
|
||||
|
||||
axiosInstance
|
||||
.get(`${endpoints.ucentralsec}/api/v1/users?select=${idsToGet}`, {
|
||||
.get(`${endpoints.owsec}/api/v1/users?select=${idsToGet}`, {
|
||||
headers,
|
||||
})
|
||||
.then((response) => {
|
||||
@@ -127,7 +127,7 @@ const UserListPage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.delete(`${endpoints.ucentralsec}/api/v1/user/${userId}`, {
|
||||
.delete(`${endpoints.owsec}/api/v1/user/${userId}`, {
|
||||
headers,
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
@@ -168,10 +168,7 @@ const WifiAnalysisPage = () => {
|
||||
};
|
||||
|
||||
axiosInstance
|
||||
.get(
|
||||
`${endpoints.ucentralgw}/api/v1/device/${deviceId}/statistics?newest=true&limit=20`,
|
||||
options,
|
||||
)
|
||||
.get(`${endpoints.owgw}/api/v1/device/${deviceId}/statistics?newest=true&limit=20`, options)
|
||||
.then((response) => {
|
||||
parseAssociationStats(response.data);
|
||||
})
|
||||
|
||||
@@ -8,7 +8,7 @@ axiosRetry(axiosInstance, {
|
||||
retryDelay: () => axiosRetry.exponentialDelay,
|
||||
});
|
||||
|
||||
axiosInstance.defaults.timeout = 30000;
|
||||
axiosInstance.defaults.timeout = 60000;
|
||||
axiosInstance.defaults.headers.get.Accept = 'application/json';
|
||||
axiosInstance.defaults.headers.post.Accept = 'application/json';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user