Merge branch 'dev' of https://github.com/fosrl/pangolin into dev
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Име за показване за този доставчик на идентичност",
|
"idpDisplayName": "Име за показване за този доставчик на идентичност",
|
||||||
"idpAutoProvisionUsers": "Автоматично потребителско създаване",
|
"idpAutoProvisionUsers": "Автоматично потребителско създаване",
|
||||||
"idpAutoProvisionUsersDescription": "Когато е активирано, потребителите ще бъдат автоматично създадени в системата при първо влизане с възможност за свързване на потребителите с роли и организации.",
|
"idpAutoProvisionUsersDescription": "Когато е активирано, потребителите ще бъдат автоматично създадени в системата при първо влизане с възможност за свързване на потребителите с роли и организации.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Можете да конфигурирате настройките за автоматично предоставяне, след като дистрибуторът на самоличност бъде създаден.",
|
||||||
"licenseBadge": "ЕЕ",
|
"licenseBadge": "ЕЕ",
|
||||||
"idpType": "Тип доставчик",
|
"idpType": "Тип доставчик",
|
||||||
"idpTypeDescription": "Изберете типа доставчик на идентичност, който искате да конфигурирате",
|
"idpTypeDescription": "Изберете типа доставчик на идентичност, който искате да конфигурирате",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Карта на роля по подразбиране",
|
"defaultMappingsRole": "Карта на роля по подразбиране",
|
||||||
"defaultMappingsRoleDescription": "Резултатът от този израз трябва да върне името на ролята, както е дефинирано в организацията, като стринг.",
|
"defaultMappingsRoleDescription": "Резултатът от този израз трябва да върне името на ролята, както е дефинирано в организацията, като стринг.",
|
||||||
"defaultMappingsOrg": "Карта на организация по подразбиране",
|
"defaultMappingsOrg": "Карта на организация по подразбиране",
|
||||||
"defaultMappingsOrgDescription": "Този израз трябва да върне ID на организацията или 'true', за да бъде разрешен достъпът на потребителя до организацията.",
|
"defaultMappingsOrgDescription": "При задаване, този израз трябва да върне идентификационния номер на организацията или true, за да се даде достъп на потребителя до тази организация. Ако не е зададено, дефинирането на роля е достатъчно: потребителят има право на достъп, стига валидно картографиране на роля да бъде разрешено за него в рамките на организацията.",
|
||||||
"defaultMappingsSubmit": "Запазване на файловете по подразбиране",
|
"defaultMappingsSubmit": "Запазване на файловете по подразбиране",
|
||||||
"orgPoliciesEdit": "Редактиране на Организационна Политика",
|
"orgPoliciesEdit": "Редактиране на Организационна Политика",
|
||||||
"org": "Организация",
|
"org": "Организация",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Открит международен домейн",
|
"internationaldomaindetected": "Открит международен домейн",
|
||||||
"willbestoredas": "Ще бъде съхранено като:",
|
"willbestoredas": "Ще бъде съхранено като:",
|
||||||
"roleMappingDescription": "Определете как се разпределят ролите на потребителите при вписване, когато е активирано автоматично предоставяне.",
|
"roleMappingDescription": "Определете как ролите се присвояват на потребителите, когато се вписват с този доставчик на самоличност.",
|
||||||
"selectRole": "Избор на роля",
|
"selectRole": "Избор на роля",
|
||||||
"roleMappingExpression": "Израз",
|
"roleMappingExpression": "Израз",
|
||||||
"selectRolePlaceholder": "Избор на роля",
|
"selectRolePlaceholder": "Избор на роля",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Дестинацията беше актуализирана успешно",
|
"httpDestUpdatedSuccess": "Дестинацията беше актуализирана успешно",
|
||||||
"httpDestCreatedSuccess": "Дестинацията беше създадена успешно",
|
"httpDestCreatedSuccess": "Дестинацията беше създадена успешно",
|
||||||
"httpDestUpdateFailed": "Неуспешно актуализиране на дестинацията",
|
"httpDestUpdateFailed": "Неуспешно актуализиране на дестинацията",
|
||||||
"httpDestCreateFailed": "Неуспешно създаване на дестинацията"
|
"httpDestCreateFailed": "Неуспешно създаване на дестинацията",
|
||||||
|
"idpAddActionCreateNew": "Създайте нов доставчик на самоличност",
|
||||||
|
"idpAddActionImportFromOrg": "Импортиране от друга организация",
|
||||||
|
"idpImportDialogTitle": "Импортиране на доставчик на самоличност",
|
||||||
|
"idpImportDialogDescription": "Изберете доставчик на самоличност от организация, в която сте администратор. Той ще бъде свързан с тази организация.",
|
||||||
|
"idpImportSearchPlaceholder": "Търсене по име на организация или доставчик...",
|
||||||
|
"idpImportEmpty": "Няма намерени доставчици на самоличност.",
|
||||||
|
"idpImportedDescription": "Доставчикът на самоличност беше импортиран успешно.",
|
||||||
|
"idpDeleteGlobalQuestion": "Сигурни ли сте, че искате да изтриете този доставчик на самоличност завинаги?",
|
||||||
|
"idpDeleteGlobalDescription": "Това ще изтрие доставичка на самоличност завинаги от всички организации, с които е свързан.",
|
||||||
|
"idpUnassociateTitle": "Отвързване на доставчик на самоличност",
|
||||||
|
"idpUnassociateQuestion": "Сигурни ли сте, че искате да отвържете този доставчик на самоличност от тази организация?",
|
||||||
|
"idpUnassociateDescription": "Всички потребители, свързани с този доставчик на самоличност, ще бъдат премахнати от тази организация, но доставчика на самоличност ще продължи да съществува за други свързани организации.",
|
||||||
|
"idpUnassociateConfirm": "Потвърдете отвързване на доставчика на самоличност",
|
||||||
|
"idpUnassociateWarning": "Това не може да бъде отменено за тази организация.",
|
||||||
|
"idpUnassociatedDescription": "Доставчика на самоличност е успешно отвързан от тази организация",
|
||||||
|
"idpUnassociateMenu": "Отвързване",
|
||||||
|
"idpDeleteAllOrgsMenu": "Изтриване"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Zobrazované jméno tohoto poskytovatele identity",
|
"idpDisplayName": "Zobrazované jméno tohoto poskytovatele identity",
|
||||||
"idpAutoProvisionUsers": "Automatická úprava uživatelů",
|
"idpAutoProvisionUsers": "Automatická úprava uživatelů",
|
||||||
"idpAutoProvisionUsersDescription": "Pokud je povoleno, uživatelé budou automaticky vytvářeni v systému při prvním přihlášení, s možností namapovat uživatele na role a organizace.",
|
"idpAutoProvisionUsersDescription": "Pokud je povoleno, uživatelé budou automaticky vytvářeni v systému při prvním přihlášení, s možností namapovat uživatele na role a organizace.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Nastavení automatického poskytování lze nakonfigurovat, jakmile je vytvořen poskytovatel identity.",
|
||||||
"licenseBadge": "PE",
|
"licenseBadge": "PE",
|
||||||
"idpType": "Typ poskytovatele",
|
"idpType": "Typ poskytovatele",
|
||||||
"idpTypeDescription": "Vyberte typ poskytovatele identity, který chcete nakonfigurovat",
|
"idpTypeDescription": "Vyberte typ poskytovatele identity, který chcete nakonfigurovat",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Výchozí mapování rolí",
|
"defaultMappingsRole": "Výchozí mapování rolí",
|
||||||
"defaultMappingsRoleDescription": "Výsledek tohoto výrazu musí vrátit název role definovaný v organizaci jako řetězec.",
|
"defaultMappingsRoleDescription": "Výsledek tohoto výrazu musí vrátit název role definovaný v organizaci jako řetězec.",
|
||||||
"defaultMappingsOrg": "Výchozí mapování organizace",
|
"defaultMappingsOrg": "Výchozí mapování organizace",
|
||||||
"defaultMappingsOrgDescription": "Tento výraz musí vrátit org ID nebo pravdu, aby měl uživatel přístup k organizaci.",
|
"defaultMappingsOrgDescription": "Pokud je nastaven, musí tento výraz vracet ID organizace nebo pravda, aby k této organizaci měl uživatel přístup. Pokud není nastaveno, je dostačující definice mapování rolí: uživateli je umožněn přístup, pokud pro něj lze v rámci organizace vyřešit platné mapování rolí.",
|
||||||
"defaultMappingsSubmit": "Uložit výchozí mapování",
|
"defaultMappingsSubmit": "Uložit výchozí mapování",
|
||||||
"orgPoliciesEdit": "Upravit zásady organizace",
|
"orgPoliciesEdit": "Upravit zásady organizace",
|
||||||
"org": "Organizace",
|
"org": "Organizace",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Zjištěna mezinárodní doména",
|
"internationaldomaindetected": "Zjištěna mezinárodní doména",
|
||||||
"willbestoredas": "Bude uloženo jako:",
|
"willbestoredas": "Bude uloženo jako:",
|
||||||
"roleMappingDescription": "Určete, jak jsou role přiřazeny uživatelům, když se přihlásí, když je povoleno automatické poskytnutí služby.",
|
"roleMappingDescription": "Určete, jak jsou role přiřazeny uživatelům, když se přihlásí s tímto poskytovatelem identity.",
|
||||||
"selectRole": "Vyberte roli",
|
"selectRole": "Vyberte roli",
|
||||||
"roleMappingExpression": "Výraz",
|
"roleMappingExpression": "Výraz",
|
||||||
"selectRolePlaceholder": "Vyberte roli",
|
"selectRolePlaceholder": "Vyberte roli",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Cíl byl úspěšně aktualizován",
|
"httpDestUpdatedSuccess": "Cíl byl úspěšně aktualizován",
|
||||||
"httpDestCreatedSuccess": "Cíl byl úspěšně vytvořen",
|
"httpDestCreatedSuccess": "Cíl byl úspěšně vytvořen",
|
||||||
"httpDestUpdateFailed": "Nepodařilo se aktualizovat cíl",
|
"httpDestUpdateFailed": "Nepodařilo se aktualizovat cíl",
|
||||||
"httpDestCreateFailed": "Nepodařilo se vytvořit cíl"
|
"httpDestCreateFailed": "Nepodařilo se vytvořit cíl",
|
||||||
|
"idpAddActionCreateNew": "Vytvořit nového poskytovatele identity",
|
||||||
|
"idpAddActionImportFromOrg": "Importovat z jiné organizace",
|
||||||
|
"idpImportDialogTitle": "Importovat poskytovatele identity",
|
||||||
|
"idpImportDialogDescription": "Vyberte poskytovatele identity z organizace, v níž jste administrátor. Tento poskytovatel bude propojen s touto organizací.",
|
||||||
|
"idpImportSearchPlaceholder": "Hledat podle názvu organizace nebo poskytovatele...",
|
||||||
|
"idpImportEmpty": "Nebyli nalezeni žádní poskytovatelé identity.",
|
||||||
|
"idpImportedDescription": "Poskytovatel identity byl úspěšně importován.",
|
||||||
|
"idpDeleteGlobalQuestion": "Opravdu chcete trvale smazat tohoto poskytovatele identity?",
|
||||||
|
"idpDeleteGlobalDescription": "Tímto bude poskytovatel identity trvale odstraněn ze všech organizací, se kterými je spojen.",
|
||||||
|
"idpUnassociateTitle": "Odpojit poskytovatele identity",
|
||||||
|
"idpUnassociateQuestion": "Opravdu chcete odpojit tohoto poskytovatele identity od této organizace?",
|
||||||
|
"idpUnassociateDescription": "Všichni uživatelé spojení s tímto poskytovatelem identity budou odstraněni z této organizace, ale poskytovatel identity zůstane nadále existovat pro ostatní přidružené organizace.",
|
||||||
|
"idpUnassociateConfirm": "Potvrdit odpojení poskytovatele identity",
|
||||||
|
"idpUnassociateWarning": "Toto nelze pro tuto organizaci vrátit.",
|
||||||
|
"idpUnassociatedDescription": "Poskytovatel identity byl úspěšně odpojen od této organizace",
|
||||||
|
"idpUnassociateMenu": "Odpojit",
|
||||||
|
"idpDeleteAllOrgsMenu": "Odstranit"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Ein Anzeigename für diesen Identitätsanbieter",
|
"idpDisplayName": "Ein Anzeigename für diesen Identitätsanbieter",
|
||||||
"idpAutoProvisionUsers": "Automatische Benutzerbereitstellung",
|
"idpAutoProvisionUsers": "Automatische Benutzerbereitstellung",
|
||||||
"idpAutoProvisionUsersDescription": "Wenn aktiviert, werden Benutzer beim ersten Login automatisch im System erstellt, mit der Möglichkeit, Benutzer Rollen und Organisationen zuzuordnen.",
|
"idpAutoProvisionUsersDescription": "Wenn aktiviert, werden Benutzer beim ersten Login automatisch im System erstellt, mit der Möglichkeit, Benutzer Rollen und Organisationen zuzuordnen.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Sie können die automatische Bereitstellung einstellen, sobald der Identitätsanbieter erstellt ist.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Anbietertyp",
|
"idpType": "Anbietertyp",
|
||||||
"idpTypeDescription": "Wählen Sie den Typ des Identitätsanbieters, den Sie konfigurieren möchten",
|
"idpTypeDescription": "Wählen Sie den Typ des Identitätsanbieters, den Sie konfigurieren möchten",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Standard-Rollenzuordnung",
|
"defaultMappingsRole": "Standard-Rollenzuordnung",
|
||||||
"defaultMappingsRoleDescription": "JMESPath zur Extraktion von Rolleninformationen aus dem ID-Token. Das Ergebnis dieses Ausdrucks muss den Rollennamen als String zurückgeben, wie er in der Organisation definiert ist.",
|
"defaultMappingsRoleDescription": "JMESPath zur Extraktion von Rolleninformationen aus dem ID-Token. Das Ergebnis dieses Ausdrucks muss den Rollennamen als String zurückgeben, wie er in der Organisation definiert ist.",
|
||||||
"defaultMappingsOrg": "Standard-Organisationszuordnung",
|
"defaultMappingsOrg": "Standard-Organisationszuordnung",
|
||||||
"defaultMappingsOrgDescription": "JMESPath zur Extraktion von Organisationsinformationen aus dem ID-Token. Dieser Ausdruck muss die Organisations-ID oder true zurückgeben, damit der Benutzer Zugriff auf die Organisation erhält.",
|
"defaultMappingsOrgDescription": "Wenn diese Einstellung festgelegt ist, muss dieser Ausdruck die Organisations-ID oder wahr zurückgeben, damit der Benutzer diese Organisation betreten kann. Ist sie nicht festgelegt, reicht die Definition einer Rollenzuordnung aus: Der Benutzer darf eintreten, solange eine gültige Rollenzuordnung innerhalb der Organisation für ihn aufgelöst werden kann.",
|
||||||
"defaultMappingsSubmit": "Standardzuordnungen speichern",
|
"defaultMappingsSubmit": "Standardzuordnungen speichern",
|
||||||
"orgPoliciesEdit": "Organisationsrichtlinie bearbeiten",
|
"orgPoliciesEdit": "Organisationsrichtlinie bearbeiten",
|
||||||
"org": "Organisation",
|
"org": "Organisation",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Internationale Domain erkannt",
|
"internationaldomaindetected": "Internationale Domain erkannt",
|
||||||
"willbestoredas": "Wird gespeichert als:",
|
"willbestoredas": "Wird gespeichert als:",
|
||||||
"roleMappingDescription": "Legen Sie fest, wie den Benutzern Rollen zugewiesen werden, wenn sie sich anmelden, wenn Auto Provision aktiviert ist.",
|
"roleMappingDescription": "Bestimmen Sie, wie Rollen zugewiesen werden, wenn sich Benutzer mit diesem Identitätsanbieter anmelden.",
|
||||||
"selectRole": "Wählen Sie eine Rolle",
|
"selectRole": "Wählen Sie eine Rolle",
|
||||||
"roleMappingExpression": "Ausdruck",
|
"roleMappingExpression": "Ausdruck",
|
||||||
"selectRolePlaceholder": "Rolle auswählen",
|
"selectRolePlaceholder": "Rolle auswählen",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Ziel erfolgreich aktualisiert",
|
"httpDestUpdatedSuccess": "Ziel erfolgreich aktualisiert",
|
||||||
"httpDestCreatedSuccess": "Ziel erfolgreich erstellt",
|
"httpDestCreatedSuccess": "Ziel erfolgreich erstellt",
|
||||||
"httpDestUpdateFailed": "Fehler beim Aktualisieren des Ziels",
|
"httpDestUpdateFailed": "Fehler beim Aktualisieren des Ziels",
|
||||||
"httpDestCreateFailed": "Fehler beim Erstellen des Ziels"
|
"httpDestCreateFailed": "Fehler beim Erstellen des Ziels",
|
||||||
|
"idpAddActionCreateNew": "Neuen Identitätsanbieter erstellen",
|
||||||
|
"idpAddActionImportFromOrg": "Von einer anderen Organisation importieren",
|
||||||
|
"idpImportDialogTitle": "Identitätsanbieter importieren",
|
||||||
|
"idpImportDialogDescription": "Wählen Sie einen Identitätsanbieter aus einer Organisation, in der Sie Administrator sind. Er wird mit dieser Organisation verknüpft.",
|
||||||
|
"idpImportSearchPlaceholder": "Nach Organisation oder Anbieternamen suchen...",
|
||||||
|
"idpImportEmpty": "Keine Identitätsanbieter gefunden.",
|
||||||
|
"idpImportedDescription": "Identitätsanbieter erfolgreich importiert.",
|
||||||
|
"idpDeleteGlobalQuestion": "Sind Sie sicher, dass Sie diesen Identitätsanbieter dauerhaft löschen möchten?",
|
||||||
|
"idpDeleteGlobalDescription": "Dies wird den Identitätsanbieter dauerhaft von allen Organisationen löschen, mit denen er verbunden ist.",
|
||||||
|
"idpUnassociateTitle": "Verknüpfung mit Identitätsanbieter aufheben",
|
||||||
|
"idpUnassociateQuestion": "Sind Sie sicher, dass Sie die Verknüpfung dieses Identitätsanbieters mit dieser Organisation aufheben möchten?",
|
||||||
|
"idpUnassociateDescription": "Alle Benutzer, die mit diesem Identitätsanbieter verbunden sind, werden aus dieser Organisation entfernt, aber der Identitätsanbieter bleibt für andere verbundene Organisationen weiterhin bestehen.",
|
||||||
|
"idpUnassociateConfirm": "Verknüpfung des Identitätsanbieters aufheben bestätigen",
|
||||||
|
"idpUnassociateWarning": "Dies kann für diese Organisation nicht rückgängig gemacht werden.",
|
||||||
|
"idpUnassociatedDescription": "Identitätsanbieter erfolgreich von dieser Organisation gelöst",
|
||||||
|
"idpUnassociateMenu": "Verknüpfung aufheben",
|
||||||
|
"idpDeleteAllOrgsMenu": "Löschen"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2917,5 +2917,6 @@
|
|||||||
"idpUnassociateWarning": "This cannot be undone for this organization.",
|
"idpUnassociateWarning": "This cannot be undone for this organization.",
|
||||||
"idpUnassociatedDescription": "Identity provider unassociated from this organization successfully",
|
"idpUnassociatedDescription": "Identity provider unassociated from this organization successfully",
|
||||||
"idpUnassociateMenu": "Unassociate",
|
"idpUnassociateMenu": "Unassociate",
|
||||||
"idpDeleteAllOrgsMenu": "Delete"
|
"idpDeleteAllOrgsMenu": "Delete",
|
||||||
|
"publicIpEndpoint": "Endpoint"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Un nombre mostrado para este proveedor de identidad",
|
"idpDisplayName": "Un nombre mostrado para este proveedor de identidad",
|
||||||
"idpAutoProvisionUsers": "Auto-Provisión de Usuarios",
|
"idpAutoProvisionUsers": "Auto-Provisión de Usuarios",
|
||||||
"idpAutoProvisionUsersDescription": "Cuando está habilitado, los usuarios serán creados automáticamente en el sistema al iniciar sesión con la capacidad de asignar a los usuarios a roles y organizaciones.",
|
"idpAutoProvisionUsersDescription": "Cuando está habilitado, los usuarios serán creados automáticamente en el sistema al iniciar sesión con la capacidad de asignar a los usuarios a roles y organizaciones.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Puede configurar las configuraciones de provisión automática una vez que se haya creado el proveedor de identidad.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Tipo de proveedor",
|
"idpType": "Tipo de proveedor",
|
||||||
"idpTypeDescription": "Seleccione el tipo de proveedor de identidad que desea configurar",
|
"idpTypeDescription": "Seleccione el tipo de proveedor de identidad que desea configurar",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Mapeo de Rol por defecto",
|
"defaultMappingsRole": "Mapeo de Rol por defecto",
|
||||||
"defaultMappingsRoleDescription": "El resultado de esta expresión debe devolver el nombre del rol tal y como se define en la organización como una cadena.",
|
"defaultMappingsRoleDescription": "El resultado de esta expresión debe devolver el nombre del rol tal y como se define en la organización como una cadena.",
|
||||||
"defaultMappingsOrg": "Mapeo de organización por defecto",
|
"defaultMappingsOrg": "Mapeo de organización por defecto",
|
||||||
"defaultMappingsOrgDescription": "Esta expresión debe devolver el ID de org o verdadero para que el usuario pueda acceder a la organización.",
|
"defaultMappingsOrgDescription": "Cuando se establece, esta expresión debe devolver el ID de la organización o verdadero para que el usuario acceda a esa organización. Cuando no se establece, definir un mapeo de roles es suficiente: se permite la entrada del usuario siempre que se pueda resolver un mapeo de roles válido para él dentro de la organización.",
|
||||||
"defaultMappingsSubmit": "Guardar asignaciones por defecto",
|
"defaultMappingsSubmit": "Guardar asignaciones por defecto",
|
||||||
"orgPoliciesEdit": "Editar Política de Organización",
|
"orgPoliciesEdit": "Editar Política de Organización",
|
||||||
"org": "Organización",
|
"org": "Organización",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Dominio Internacional detectado",
|
"internationaldomaindetected": "Dominio Internacional detectado",
|
||||||
"willbestoredas": "Se almacenará como:",
|
"willbestoredas": "Se almacenará como:",
|
||||||
"roleMappingDescription": "Determinar cómo se asignan los roles a los usuarios cuando se registran cuando está habilitada la provisión automática.",
|
"roleMappingDescription": "Determine cómo se asignan los roles a los usuarios cuando inician sesión con este proveedor de identidad.",
|
||||||
"selectRole": "Seleccione un rol",
|
"selectRole": "Seleccione un rol",
|
||||||
"roleMappingExpression": "Expresión",
|
"roleMappingExpression": "Expresión",
|
||||||
"selectRolePlaceholder": "Elija un rol",
|
"selectRolePlaceholder": "Elija un rol",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Destino actualizado correctamente",
|
"httpDestUpdatedSuccess": "Destino actualizado correctamente",
|
||||||
"httpDestCreatedSuccess": "Destino creado correctamente",
|
"httpDestCreatedSuccess": "Destino creado correctamente",
|
||||||
"httpDestUpdateFailed": "Error al actualizar destino",
|
"httpDestUpdateFailed": "Error al actualizar destino",
|
||||||
"httpDestCreateFailed": "Error al crear el destino"
|
"httpDestCreateFailed": "Error al crear el destino",
|
||||||
|
"idpAddActionCreateNew": "Crear nuevo proveedor de identidad",
|
||||||
|
"idpAddActionImportFromOrg": "Importar de otra organización",
|
||||||
|
"idpImportDialogTitle": "Importar Proveedor de Identidad",
|
||||||
|
"idpImportDialogDescription": "Elija un proveedor de identidad de una organización donde usted sea administrador. Se vinculará a esta organización.",
|
||||||
|
"idpImportSearchPlaceholder": "Buscar por nombre de organización o proveedor...",
|
||||||
|
"idpImportEmpty": "No se encontraron proveedores de identidad.",
|
||||||
|
"idpImportedDescription": "Proveedor de identidad importado con éxito.",
|
||||||
|
"idpDeleteGlobalQuestion": "¿Está seguro de que desea eliminar permanentemente este proveedor de identidad?",
|
||||||
|
"idpDeleteGlobalDescription": "Esto eliminará permanentemente el proveedor de identidad de todas las organizaciones con las que está asociado.",
|
||||||
|
"idpUnassociateTitle": "Desasociar Proveedor de Identidad",
|
||||||
|
"idpUnassociateQuestion": "¿Está seguro de que desea desasociar este proveedor de identidad de esta organización?",
|
||||||
|
"idpUnassociateDescription": "Todos los usuarios asociados con este proveedor de identidad serán eliminados de esta organización, pero el proveedor de identidad continuará existiendo para otras organizaciones asociadas.",
|
||||||
|
"idpUnassociateConfirm": "Confirme Desasociar Proveedor de Identidad",
|
||||||
|
"idpUnassociateWarning": "Esto no se puede deshacer para esta organización.",
|
||||||
|
"idpUnassociatedDescription": "Proveedor de identidad desasociado de esta organización con éxito",
|
||||||
|
"idpUnassociateMenu": "Desasociar",
|
||||||
|
"idpDeleteAllOrgsMenu": "Eliminar"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Un nom d'affichage pour ce fournisseur d'identité",
|
"idpDisplayName": "Un nom d'affichage pour ce fournisseur d'identité",
|
||||||
"idpAutoProvisionUsers": "Approvisionnement automatique des utilisateurs",
|
"idpAutoProvisionUsers": "Approvisionnement automatique des utilisateurs",
|
||||||
"idpAutoProvisionUsersDescription": "Lorsque cette option est activée, les utilisateurs seront automatiquement créés dans le système lors de leur première connexion avec la possibilité de mapper les utilisateurs aux rôles et aux organisations.",
|
"idpAutoProvisionUsersDescription": "Lorsque cette option est activée, les utilisateurs seront automatiquement créés dans le système lors de leur première connexion avec la possibilité de mapper les utilisateurs aux rôles et aux organisations.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Vous pouvez configurer les paramètres de provisionnement automatique une fois le fournisseur d'identités créé.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Type de fournisseur",
|
"idpType": "Type de fournisseur",
|
||||||
"idpTypeDescription": "Sélectionnez le type de fournisseur d'identité que vous souhaitez configurer",
|
"idpTypeDescription": "Sélectionnez le type de fournisseur d'identité que vous souhaitez configurer",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Mappage de rôle par défaut",
|
"defaultMappingsRole": "Mappage de rôle par défaut",
|
||||||
"defaultMappingsRoleDescription": "JMESPath pour extraire les informations de rôle du jeton ID. Le résultat de cette expression doit renvoyer le nom du rôle tel que défini dans l'organisation sous forme de chaîne.",
|
"defaultMappingsRoleDescription": "JMESPath pour extraire les informations de rôle du jeton ID. Le résultat de cette expression doit renvoyer le nom du rôle tel que défini dans l'organisation sous forme de chaîne.",
|
||||||
"defaultMappingsOrg": "Mappage d'organisation par défaut",
|
"defaultMappingsOrg": "Mappage d'organisation par défaut",
|
||||||
"defaultMappingsOrgDescription": "JMESPath pour extraire les informations d'organisation du jeton ID. Cette expression doit renvoyer l'ID de l'organisation ou true pour que l'utilisateur soit autorisé à accéder à l'organisation.",
|
"defaultMappingsOrgDescription": "Lorsque défini, cette expression doit renvoyer l'identifiant de l'organisation ou vrai pour que l'utilisateur accède à cette organisation. Lorsqu'indéfini, définir un mappage de rôle est suffisant : l'utilisateur est autorisé tant qu'un mappage de rôle valide peut être résolu pour lui au sein de l'organisation.",
|
||||||
"defaultMappingsSubmit": "Enregistrer les mappages par défaut",
|
"defaultMappingsSubmit": "Enregistrer les mappages par défaut",
|
||||||
"orgPoliciesEdit": "Modifier la politique d'organisation",
|
"orgPoliciesEdit": "Modifier la politique d'organisation",
|
||||||
"org": "Organisation",
|
"org": "Organisation",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Domaine international détecté",
|
"internationaldomaindetected": "Domaine international détecté",
|
||||||
"willbestoredas": "Sera stocké comme :",
|
"willbestoredas": "Sera stocké comme :",
|
||||||
"roleMappingDescription": "Détermine comment les rôles sont assignés aux utilisateurs lorsqu'ils se connectent lorsque la fourniture automatique est activée.",
|
"roleMappingDescription": "Déterminez comment les rôles sont attribués aux utilisateurs lorsqu'ils se connectent avec ce fournisseur d'identité.",
|
||||||
"selectRole": "Sélectionnez un rôle",
|
"selectRole": "Sélectionnez un rôle",
|
||||||
"roleMappingExpression": "Expression",
|
"roleMappingExpression": "Expression",
|
||||||
"selectRolePlaceholder": "Choisir un rôle",
|
"selectRolePlaceholder": "Choisir un rôle",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Destination mise à jour avec succès",
|
"httpDestUpdatedSuccess": "Destination mise à jour avec succès",
|
||||||
"httpDestCreatedSuccess": "Destination créée avec succès",
|
"httpDestCreatedSuccess": "Destination créée avec succès",
|
||||||
"httpDestUpdateFailed": "Impossible de mettre à jour la destination",
|
"httpDestUpdateFailed": "Impossible de mettre à jour la destination",
|
||||||
"httpDestCreateFailed": "Impossible de créer la destination"
|
"httpDestCreateFailed": "Impossible de créer la destination",
|
||||||
|
"idpAddActionCreateNew": "Créer un nouveau fournisseur d'identité",
|
||||||
|
"idpAddActionImportFromOrg": "Importer d'une autre organisation",
|
||||||
|
"idpImportDialogTitle": "Importer le fournisseur d'identité",
|
||||||
|
"idpImportDialogDescription": "Choisissez un fournisseur d'identités d'une organisation où vous êtes administrateur. Il sera lié à cette organisation.",
|
||||||
|
"idpImportSearchPlaceholder": "Recherche par nom d'organisation ou de fournisseur...",
|
||||||
|
"idpImportEmpty": "Aucun fournisseur d'identités trouvé.",
|
||||||
|
"idpImportedDescription": "Fournisseur d'identités importé avec succès.",
|
||||||
|
"idpDeleteGlobalQuestion": "Êtes-vous sûr de vouloir supprimer définitivement ce fournisseur d'identités?",
|
||||||
|
"idpDeleteGlobalDescription": "Cela supprimera définitivement le fournisseur d'identités de toutes les organisations auxquelles il est associé.",
|
||||||
|
"idpUnassociateTitle": "Dissocier le fournisseur d'identité",
|
||||||
|
"idpUnassociateQuestion": "Êtes-vous sûr de vouloir dissocier ce fournisseur d'identités de cette organisation?",
|
||||||
|
"idpUnassociateDescription": "Tous les utilisateurs associés à ce fournisseur d'identités seront retirés de cette organisation, mais le fournisseur d'identités continuera d'exister pour d'autres organisations associées.",
|
||||||
|
"idpUnassociateConfirm": "Confirmer la dissociation du fournisseur d'identités",
|
||||||
|
"idpUnassociateWarning": "Cela ne peut pas être annulé pour cette organisation.",
|
||||||
|
"idpUnassociatedDescription": "Fournisseur d'identités dissocié de cette organisation avec succès",
|
||||||
|
"idpUnassociateMenu": "Dissocier",
|
||||||
|
"idpDeleteAllOrgsMenu": "Supprimer"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Un nome visualizzato per questo provider di identità",
|
"idpDisplayName": "Un nome visualizzato per questo provider di identità",
|
||||||
"idpAutoProvisionUsers": "Provisioning Automatico Utenti",
|
"idpAutoProvisionUsers": "Provisioning Automatico Utenti",
|
||||||
"idpAutoProvisionUsersDescription": "Quando abilitato, gli utenti verranno creati automaticamente nel sistema al primo accesso con la possibilità di mappare gli utenti a ruoli e organizzazioni.",
|
"idpAutoProvisionUsersDescription": "Quando abilitato, gli utenti verranno creati automaticamente nel sistema al primo accesso con la possibilità di mappare gli utenti a ruoli e organizzazioni.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Puoi configurare le impostazioni di auto fornitura una volta creato il provider di identità.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Tipo di Provider",
|
"idpType": "Tipo di Provider",
|
||||||
"idpTypeDescription": "Seleziona il tipo di provider di identità che desideri configurare",
|
"idpTypeDescription": "Seleziona il tipo di provider di identità che desideri configurare",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Mappatura Ruolo Predefinito",
|
"defaultMappingsRole": "Mappatura Ruolo Predefinito",
|
||||||
"defaultMappingsRoleDescription": "JMESPath per estrarre informazioni sul ruolo dal token ID. Il risultato di questa espressione deve restituire il nome del ruolo come definito nell'organizzazione come stringa.",
|
"defaultMappingsRoleDescription": "JMESPath per estrarre informazioni sul ruolo dal token ID. Il risultato di questa espressione deve restituire il nome del ruolo come definito nell'organizzazione come stringa.",
|
||||||
"defaultMappingsOrg": "Mappatura Organizzazione Predefinita",
|
"defaultMappingsOrg": "Mappatura Organizzazione Predefinita",
|
||||||
"defaultMappingsOrgDescription": "JMESPath per estrarre informazioni sull'organizzazione dal token ID. Questa espressione deve restituire l'ID dell'organizzazione o true affinché l'utente possa accedere all'organizzazione.",
|
"defaultMappingsOrgDescription": "Quando impostata, questa espressione deve restituire l'ID dell'organizzazione o true affinché l'utente possa accedere a quell'organizzazione. Quando non impostata, è sufficiente definire una mappatura di ruoli: l'utente è autorizzato se esiste una mappatura di ruolo valida per loro all'interno dell'organizzazione.",
|
||||||
"defaultMappingsSubmit": "Salva Mappature Predefinite",
|
"defaultMappingsSubmit": "Salva Mappature Predefinite",
|
||||||
"orgPoliciesEdit": "Modifica Politica Organizzazione",
|
"orgPoliciesEdit": "Modifica Politica Organizzazione",
|
||||||
"org": "Organizzazione",
|
"org": "Organizzazione",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Dominio Internazionale Rilevato",
|
"internationaldomaindetected": "Dominio Internazionale Rilevato",
|
||||||
"willbestoredas": "Verrà conservato come:",
|
"willbestoredas": "Verrà conservato come:",
|
||||||
"roleMappingDescription": "Determinare come i ruoli sono assegnati agli utenti quando accedono quando è abilitata la fornitura automatica.",
|
"roleMappingDescription": "Determina come i ruoli vengono assegnati agli utenti quando si accede con questo provider di identità.",
|
||||||
"selectRole": "Seleziona un ruolo",
|
"selectRole": "Seleziona un ruolo",
|
||||||
"roleMappingExpression": "Espressione",
|
"roleMappingExpression": "Espressione",
|
||||||
"selectRolePlaceholder": "Scegli un ruolo",
|
"selectRolePlaceholder": "Scegli un ruolo",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Destinazione aggiornata con successo",
|
"httpDestUpdatedSuccess": "Destinazione aggiornata con successo",
|
||||||
"httpDestCreatedSuccess": "Destinazione creata con successo",
|
"httpDestCreatedSuccess": "Destinazione creata con successo",
|
||||||
"httpDestUpdateFailed": "Impossibile aggiornare la destinazione",
|
"httpDestUpdateFailed": "Impossibile aggiornare la destinazione",
|
||||||
"httpDestCreateFailed": "Impossibile creare la destinazione"
|
"httpDestCreateFailed": "Impossibile creare la destinazione",
|
||||||
|
"idpAddActionCreateNew": "Crea nuovo provider di identità",
|
||||||
|
"idpAddActionImportFromOrg": "Importa da un'altra organizzazione",
|
||||||
|
"idpImportDialogTitle": "Importa Provider di Identità",
|
||||||
|
"idpImportDialogDescription": "Scegli un provider di identità da un'organizzazione di cui sei amministratore. Verrà collegato a questa organizzazione.",
|
||||||
|
"idpImportSearchPlaceholder": "Cerca per nome organizzazione o provider...",
|
||||||
|
"idpImportEmpty": "Nessun provider di identità trovato.",
|
||||||
|
"idpImportedDescription": "Provider di identità importato con successo.",
|
||||||
|
"idpDeleteGlobalQuestion": "Sei sicuro di voler eliminare definitivamente questo provider di identità?",
|
||||||
|
"idpDeleteGlobalDescription": "Questo eliminerà definitivamente il provider di identità da tutte le organizzazioni con cui è associato.",
|
||||||
|
"idpUnassociateTitle": "Disassociare Provider di Identità",
|
||||||
|
"idpUnassociateQuestion": "Sei sicuro di voler disassociare questo provider di identità da questa organizzazione?",
|
||||||
|
"idpUnassociateDescription": "Tutti gli utenti associati a questo provider di identità verranno rimossi da questa organizzazione, ma il provider di identità continuerà ad esistere per altre organizzazioni associate.",
|
||||||
|
"idpUnassociateConfirm": "Conferma Disassociazione Provider di Identità",
|
||||||
|
"idpUnassociateWarning": "Questo non può essere annullato per questa organizzazione.",
|
||||||
|
"idpUnassociatedDescription": "Provider di identità disassociato con successo da questa organizzazione",
|
||||||
|
"idpUnassociateMenu": "Disassocia",
|
||||||
|
"idpDeleteAllOrgsMenu": "Elimina"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "이 신원 공급자를 위한 표시 이름",
|
"idpDisplayName": "이 신원 공급자를 위한 표시 이름",
|
||||||
"idpAutoProvisionUsers": "사용자 자동 프로비저닝",
|
"idpAutoProvisionUsers": "사용자 자동 프로비저닝",
|
||||||
"idpAutoProvisionUsersDescription": "활성화되면 사용자가 첫 로그인 시 시스템에 자동으로 생성되며, 사용자와 역할 및 조직을 매핑할 수 있습니다.",
|
"idpAutoProvisionUsersDescription": "활성화되면 사용자가 첫 로그인 시 시스템에 자동으로 생성되며, 사용자와 역할 및 조직을 매핑할 수 있습니다.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "아이덴티티 공급자가 생성되면 자동 프로비저닝 설정을 구성할 수 있습니다.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "제공자 유형",
|
"idpType": "제공자 유형",
|
||||||
"idpTypeDescription": "구성할 ID 공급자의 유형을 선택하십시오.",
|
"idpTypeDescription": "구성할 ID 공급자의 유형을 선택하십시오.",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "기본 역할 매핑",
|
"defaultMappingsRole": "기본 역할 매핑",
|
||||||
"defaultMappingsRoleDescription": "이 표현식의 결과는 조직에서 정의된 역할 이름을 문자열로 반환해야 합니다.",
|
"defaultMappingsRoleDescription": "이 표현식의 결과는 조직에서 정의된 역할 이름을 문자열로 반환해야 합니다.",
|
||||||
"defaultMappingsOrg": "기본 조직 매핑",
|
"defaultMappingsOrg": "기본 조직 매핑",
|
||||||
"defaultMappingsOrgDescription": "이 표현식은 사용자가 조직에 접근할 수 있도록 조직 ID 또는 true를 반환해야 합니다.",
|
"defaultMappingsOrgDescription": "이 표현식은 사용자가 조직에 접근할 수 있도록 조직 ID 또는 true를 반환해야 합니다. 설정되지 않으면, 역할 매핑 정의가 충분합니다: 사용자는 유효한 역할 매핑이 해석되는 한 조직에 허용됩니다.",
|
||||||
"defaultMappingsSubmit": "기본 매핑 저장",
|
"defaultMappingsSubmit": "기본 매핑 저장",
|
||||||
"orgPoliciesEdit": "조직 정책 편집",
|
"orgPoliciesEdit": "조직 정책 편집",
|
||||||
"org": "조직",
|
"org": "조직",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "국제 도메인 감지됨",
|
"internationaldomaindetected": "국제 도메인 감지됨",
|
||||||
"willbestoredas": "다음으로 저장됩니다:",
|
"willbestoredas": "다음으로 저장됩니다:",
|
||||||
"roleMappingDescription": "자동 프로비저닝이 활성화되면 사용자가 로그인할 때 역할이 할당되는 방법을 결정합니다.",
|
"roleMappingDescription": "사용자가 이 아이덴티티 공급자로 로그인할 때 역할이 할당되는 방법을 결정합니다.",
|
||||||
"selectRole": "역할 선택",
|
"selectRole": "역할 선택",
|
||||||
"roleMappingExpression": "표현식",
|
"roleMappingExpression": "표현식",
|
||||||
"selectRolePlaceholder": "역할 선택",
|
"selectRolePlaceholder": "역할 선택",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "대상지가 성공적으로 업데이트되었습니다",
|
"httpDestUpdatedSuccess": "대상지가 성공적으로 업데이트되었습니다",
|
||||||
"httpDestCreatedSuccess": "대상지가 성공적으로 생성되었습니다",
|
"httpDestCreatedSuccess": "대상지가 성공적으로 생성되었습니다",
|
||||||
"httpDestUpdateFailed": "대상지를 업데이트하는 데 실패했습니다",
|
"httpDestUpdateFailed": "대상지를 업데이트하는 데 실패했습니다",
|
||||||
"httpDestCreateFailed": "대상지를 생성하는 데 실패했습니다"
|
"httpDestCreateFailed": "대상지를 생성하는 데 실패했습니다",
|
||||||
|
"idpAddActionCreateNew": "새로운 아이덴티티 공급자 생성",
|
||||||
|
"idpAddActionImportFromOrg": "다른 조직에서 가져오기",
|
||||||
|
"idpImportDialogTitle": "아이덴티티 공급자 가져오기",
|
||||||
|
"idpImportDialogDescription": "관리자인 조직에서 아이덴티티 공급자를 선택하십시오. 이는 이 조직에 연결됩니다.",
|
||||||
|
"idpImportSearchPlaceholder": "조직 또는 공급자 이름으로 검색...",
|
||||||
|
"idpImportEmpty": "아이덴티티 공급자를 찾을 수 없습니다.",
|
||||||
|
"idpImportedDescription": "아이덴티티 공급자가 성공적으로 가져왔습니다.",
|
||||||
|
"idpDeleteGlobalQuestion": "정말로 이 아이덴티티 공급자를 영구적으로 삭제하시겠습니까?",
|
||||||
|
"idpDeleteGlobalDescription": "이것은 연관된 모든 조직에서 아이덴티티 공급자를 영구적으로 삭제합니다.",
|
||||||
|
"idpUnassociateTitle": "아이덴티티 공급자의 연관 해제",
|
||||||
|
"idpUnassociateQuestion": "정말로 이 조직에서 이 아이덴티티 공급자의 연관을 해제하시겠습니까?",
|
||||||
|
"idpUnassociateDescription": "이 아이덴티티 공급자와 연관된 모든 사용자는 이 조직에서 제거될 것이지만, 아이덴티티 공급자는 다른 연관된 조직에 계속해서 존재할 것입니다.",
|
||||||
|
"idpUnassociateConfirm": "아이덴티티 공급자 연관 해제 확인",
|
||||||
|
"idpUnassociateWarning": "이 조직에서 이것은 되돌릴 수 없습니다.",
|
||||||
|
"idpUnassociatedDescription": "아이덴티티 공급자가 이 조직에서 성공적으로 연관 해제되었습니다",
|
||||||
|
"idpUnassociateMenu": "연관 해제",
|
||||||
|
"idpDeleteAllOrgsMenu": "삭제"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Et visningsnavn for denne identitetsleverandøren",
|
"idpDisplayName": "Et visningsnavn for denne identitetsleverandøren",
|
||||||
"idpAutoProvisionUsers": "Automatisk brukerklargjøring",
|
"idpAutoProvisionUsers": "Automatisk brukerklargjøring",
|
||||||
"idpAutoProvisionUsersDescription": "Når aktivert, opprettes brukere automatisk i systemet ved første innlogging, med mulighet til å tilordne brukere til roller og organisasjoner.",
|
"idpAutoProvisionUsersDescription": "Når aktivert, opprettes brukere automatisk i systemet ved første innlogging, med mulighet til å tilordne brukere til roller og organisasjoner.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Du kan konfigurere autoprovisjonsinnstillingene når identitetsleverandøren er opprettet.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Leverandørtype",
|
"idpType": "Leverandørtype",
|
||||||
"idpTypeDescription": "Velg typen identitetsleverandør du ønsker å konfigurere",
|
"idpTypeDescription": "Velg typen identitetsleverandør du ønsker å konfigurere",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Standard rolletilordning",
|
"defaultMappingsRole": "Standard rolletilordning",
|
||||||
"defaultMappingsRoleDescription": "Resultatet av dette uttrykket må returnere rollenavnet slik det er definert i organisasjonen som en streng.",
|
"defaultMappingsRoleDescription": "Resultatet av dette uttrykket må returnere rollenavnet slik det er definert i organisasjonen som en streng.",
|
||||||
"defaultMappingsOrg": "Standard organisasjonstilordning",
|
"defaultMappingsOrg": "Standard organisasjonstilordning",
|
||||||
"defaultMappingsOrgDescription": "Dette uttrykket må returnere organisasjons-ID-en eller «true» for å gi brukeren tilgang til organisasjonen.",
|
"defaultMappingsOrgDescription": "Når denne er satt, må uttrykket returnere organisasjons-IDen eller «true» for at brukeren skal få tilgang til den organisasjonen. Når den ikke er satt, er det nok å definere en rolletilordning: brukeren gis tilgang så lenge en gyldig rolletilknytting kan løses for dem i organisasjonen.",
|
||||||
"defaultMappingsSubmit": "Lagre standard tilordninger",
|
"defaultMappingsSubmit": "Lagre standard tilordninger",
|
||||||
"orgPoliciesEdit": "Rediger Organisasjonspolicy",
|
"orgPoliciesEdit": "Rediger Organisasjonspolicy",
|
||||||
"org": "Organisasjon",
|
"org": "Organisasjon",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Internasjonalt domene oppdaget",
|
"internationaldomaindetected": "Internasjonalt domene oppdaget",
|
||||||
"willbestoredas": "Vil bli lagret som:",
|
"willbestoredas": "Vil bli lagret som:",
|
||||||
"roleMappingDescription": "Bestem hvordan roller tilordnes brukere når innloggingen er aktivert når autog-rapportering er aktivert.",
|
"roleMappingDescription": "Bestem hvordan roller tildeles brukere når de logger inn med denne identitetsleverandøren.",
|
||||||
"selectRole": "Velg en rolle",
|
"selectRole": "Velg en rolle",
|
||||||
"roleMappingExpression": "Uttrykk",
|
"roleMappingExpression": "Uttrykk",
|
||||||
"selectRolePlaceholder": "Velg en rolle",
|
"selectRolePlaceholder": "Velg en rolle",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Målet er oppdatert",
|
"httpDestUpdatedSuccess": "Målet er oppdatert",
|
||||||
"httpDestCreatedSuccess": "Målet er opprettet",
|
"httpDestCreatedSuccess": "Målet er opprettet",
|
||||||
"httpDestUpdateFailed": "Kunne ikke oppdatere destinasjon",
|
"httpDestUpdateFailed": "Kunne ikke oppdatere destinasjon",
|
||||||
"httpDestCreateFailed": "Kan ikke opprette mål"
|
"httpDestCreateFailed": "Kan ikke opprette mål",
|
||||||
|
"idpAddActionCreateNew": "Opprett ny identitetsleverandør",
|
||||||
|
"idpAddActionImportFromOrg": "Importer fra en annen organisasjon",
|
||||||
|
"idpImportDialogTitle": "Importer identitetsleverandør",
|
||||||
|
"idpImportDialogDescription": "Velg en identitetsleverandør fra en organisasjon der du er admin. Den vil bli knyttet til denne organisasjonen.",
|
||||||
|
"idpImportSearchPlaceholder": "Søk etter organisasjons- eller leverandørnavn...",
|
||||||
|
"idpImportEmpty": "Ingen identitetsleverandører funnet.",
|
||||||
|
"idpImportedDescription": "Identitetsleverandøren ble importert vellykket.",
|
||||||
|
"idpDeleteGlobalQuestion": "Er du sikker på at du vil slette denne identitetsleverandøren permanent?",
|
||||||
|
"idpDeleteGlobalDescription": "Dette vil slette identitetsleverandøren permanent fra alle organisasjoner den er tilknyttet.",
|
||||||
|
"idpUnassociateTitle": "Frakoble identitetsleverandør",
|
||||||
|
"idpUnassociateQuestion": "Er du sikker på at du vil frakoble denne identitetsleverandøren fra denne organisasjonen?",
|
||||||
|
"idpUnassociateDescription": "Alle brukere knyttet til denne identitetsleverandøren vil bli fjernet fra denne organisasjonen, men identitetsleverandøren vil fortsatt eksistere for andre tilknyttede organisasjoner.",
|
||||||
|
"idpUnassociateConfirm": "Bekreft frakobling av identitetsleverandør",
|
||||||
|
"idpUnassociateWarning": "Dette kan ikke angres for denne organisasjonen.",
|
||||||
|
"idpUnassociatedDescription": "Identitetsleverandør er vellykket frakoblet fra denne organisasjonen",
|
||||||
|
"idpUnassociateMenu": "Frakoble",
|
||||||
|
"idpDeleteAllOrgsMenu": "Slett"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Een weergavenaam voor deze identiteitsprovider",
|
"idpDisplayName": "Een weergavenaam voor deze identiteitsprovider",
|
||||||
"idpAutoProvisionUsers": "Auto Provisie Gebruikers",
|
"idpAutoProvisionUsers": "Auto Provisie Gebruikers",
|
||||||
"idpAutoProvisionUsersDescription": "Wanneer ingeschakeld, worden gebruikers automatisch in het systeem aangemaakt wanneer ze de eerste keer inloggen met de mogelijkheid om gebruikers toe te wijzen aan rollen en organisaties.",
|
"idpAutoProvisionUsersDescription": "Wanneer ingeschakeld, worden gebruikers automatisch in het systeem aangemaakt wanneer ze de eerste keer inloggen met de mogelijkheid om gebruikers toe te wijzen aan rollen en organisaties.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "U kunt automatische voorzieningsinstellingen configureren zodra de identiteitsprovider is aangemaakt.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Type provider",
|
"idpType": "Type provider",
|
||||||
"idpTypeDescription": "Selecteer het type identiteitsprovider dat u wilt configureren",
|
"idpTypeDescription": "Selecteer het type identiteitsprovider dat u wilt configureren",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Standaard Rol Toewijzing",
|
"defaultMappingsRole": "Standaard Rol Toewijzing",
|
||||||
"defaultMappingsRoleDescription": "Het resultaat van deze uitdrukking moet de rolnaam zoals gedefinieerd in de organisatie als tekenreeks teruggeven.",
|
"defaultMappingsRoleDescription": "Het resultaat van deze uitdrukking moet de rolnaam zoals gedefinieerd in de organisatie als tekenreeks teruggeven.",
|
||||||
"defaultMappingsOrg": "Standaard organisatie mapping",
|
"defaultMappingsOrg": "Standaard organisatie mapping",
|
||||||
"defaultMappingsOrgDescription": "Deze expressie moet de org-ID teruggeven of waar om de gebruiker toegang te geven tot de organisatie.",
|
"defaultMappingsOrgDescription": "Wanneer ingesteld, moet deze expressie de organisatie-ID of waar retourneren voor de gebruiker om toegang te krijgen tot die organisatie. Als het niet is ingesteld, is het definiëren van een roltoewijzing voldoende: de gebruiker is toegestaan zolang een geldige roltoewijzing voor hen binnen de organisatie kan worden opgelost.",
|
||||||
"defaultMappingsSubmit": "Standaard toewijzingen opslaan",
|
"defaultMappingsSubmit": "Standaard toewijzingen opslaan",
|
||||||
"orgPoliciesEdit": "Organisatie beleid bewerken",
|
"orgPoliciesEdit": "Organisatie beleid bewerken",
|
||||||
"org": "Organisatie",
|
"org": "Organisatie",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Internationaal Domein Gedetecteerd",
|
"internationaldomaindetected": "Internationaal Domein Gedetecteerd",
|
||||||
"willbestoredas": "Zal worden opgeslagen als:",
|
"willbestoredas": "Zal worden opgeslagen als:",
|
||||||
"roleMappingDescription": "Bepaal hoe rollen worden toegewezen aan gebruikers wanneer ze inloggen wanneer Auto Provision is ingeschakeld.",
|
"roleMappingDescription": "Bepaal hoe rollen aan gebruikers worden toegewezen wanneer ze zich aanmelden met deze identiteitsprovider.",
|
||||||
"selectRole": "Selecteer een rol",
|
"selectRole": "Selecteer een rol",
|
||||||
"roleMappingExpression": "Expressie",
|
"roleMappingExpression": "Expressie",
|
||||||
"selectRolePlaceholder": "Kies een rol",
|
"selectRolePlaceholder": "Kies een rol",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Bestemming succesvol bijgewerkt",
|
"httpDestUpdatedSuccess": "Bestemming succesvol bijgewerkt",
|
||||||
"httpDestCreatedSuccess": "Bestemming succesvol aangemaakt",
|
"httpDestCreatedSuccess": "Bestemming succesvol aangemaakt",
|
||||||
"httpDestUpdateFailed": "Bijwerken bestemming mislukt",
|
"httpDestUpdateFailed": "Bijwerken bestemming mislukt",
|
||||||
"httpDestCreateFailed": "Aanmaken bestemming mislukt"
|
"httpDestCreateFailed": "Aanmaken bestemming mislukt",
|
||||||
|
"idpAddActionCreateNew": "Nieuwe identiteitsprovider aanmaken",
|
||||||
|
"idpAddActionImportFromOrg": "Importeer vanuit een andere organisatie",
|
||||||
|
"idpImportDialogTitle": "Importeer Identiteitsprovider",
|
||||||
|
"idpImportDialogDescription": "Kies een identiteitsprovider van een organisatie waar u beheerder bent. Het wordt gekoppeld aan deze organisatie.",
|
||||||
|
"idpImportSearchPlaceholder": "Zoek op organisatie- of providernamen...",
|
||||||
|
"idpImportEmpty": "Geen identiteitsproviders gevonden.",
|
||||||
|
"idpImportedDescription": "Identiteitsprovider succesvol geïmporteerd.",
|
||||||
|
"idpDeleteGlobalQuestion": "Weet u zeker dat u deze identiteitsprovider permanent wilt verwijderen?",
|
||||||
|
"idpDeleteGlobalDescription": "Hiermee wordt de identiteitsprovider permanent verwijderd uit alle organisaties waarmee het is geassocieerd.",
|
||||||
|
"idpUnassociateTitle": "Koppel Identiteitsprovider los",
|
||||||
|
"idpUnassociateQuestion": "Weet u zeker dat u deze identiteitsprovider van deze organisatie wilt loskoppelen?",
|
||||||
|
"idpUnassociateDescription": "Alle gebruikers die aan deze identiteitsprovider zijn gekoppeld, worden uit deze organisatie verwijderd, maar de identiteitsprovider blijft bestaan voor andere gerelateerde organisaties.",
|
||||||
|
"idpUnassociateConfirm": "Bevestig ontkoppelen identiteitsprovider",
|
||||||
|
"idpUnassociateWarning": "Dit kan niet ongedaan worden gemaakt voor deze organisatie.",
|
||||||
|
"idpUnassociatedDescription": "Identiteitsprovider succesvol losgekoppeld van deze organisatie",
|
||||||
|
"idpUnassociateMenu": "Ontkoppelen",
|
||||||
|
"idpDeleteAllOrgsMenu": "Verwijderen"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Nazwa wyświetlana dla tego dostawcy tożsamości",
|
"idpDisplayName": "Nazwa wyświetlana dla tego dostawcy tożsamości",
|
||||||
"idpAutoProvisionUsers": "Automatyczne tworzenie użytkowników",
|
"idpAutoProvisionUsers": "Automatyczne tworzenie użytkowników",
|
||||||
"idpAutoProvisionUsersDescription": "Gdy włączone, użytkownicy będą automatycznie tworzeni w systemie przy pierwszym logowaniu z możliwością mapowania użytkowników do ról i organizacji.",
|
"idpAutoProvisionUsersDescription": "Gdy włączone, użytkownicy będą automatycznie tworzeni w systemie przy pierwszym logowaniu z możliwością mapowania użytkowników do ról i organizacji.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Możesz skonfigurować automatyczne ustawienia provision, gdy dostawca tożsamości zostanie utworzony.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Typ dostawcy",
|
"idpType": "Typ dostawcy",
|
||||||
"idpTypeDescription": "Wybierz typ dostawcy tożsamości, który chcesz skonfigurować",
|
"idpTypeDescription": "Wybierz typ dostawcy tożsamości, który chcesz skonfigurować",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Domyślne mapowanie roli",
|
"defaultMappingsRole": "Domyślne mapowanie roli",
|
||||||
"defaultMappingsRoleDescription": "JMESPath do wydobycia informacji o roli z tokena ID. Wynik tego wyrażenia musi zwrócić nazwę roli zdefiniowaną w organizacji jako ciąg znaków.",
|
"defaultMappingsRoleDescription": "JMESPath do wydobycia informacji o roli z tokena ID. Wynik tego wyrażenia musi zwrócić nazwę roli zdefiniowaną w organizacji jako ciąg znaków.",
|
||||||
"defaultMappingsOrg": "Domyślne mapowanie organizacji",
|
"defaultMappingsOrg": "Domyślne mapowanie organizacji",
|
||||||
"defaultMappingsOrgDescription": "JMESPath do wydobycia informacji o organizacji z tokena ID. To wyrażenie musi zwrócić ID organizacji lub true, aby użytkownik mógł uzyskać dostęp do organizacji.",
|
"defaultMappingsOrgDescription": "Gdy jest ustawiona, ta wyrażenie musi zwrócić identyfikator organizacji lub true, aby użytkownik mógł uzyskać dostęp do tej organizacji. Gdy nie jest ustawiona, wystarczające jest zdefiniowanie mapowania ról: użytkownik jest dopuszczony, o ile można rozwiązać dla niego ważne mapowanie ról w organizacji.",
|
||||||
"defaultMappingsSubmit": "Zapisz domyślne mapowania",
|
"defaultMappingsSubmit": "Zapisz domyślne mapowania",
|
||||||
"orgPoliciesEdit": "Edytuj politykę organizacji",
|
"orgPoliciesEdit": "Edytuj politykę organizacji",
|
||||||
"org": "Organizacja",
|
"org": "Organizacja",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Wykryto międzynarodową domenę",
|
"internationaldomaindetected": "Wykryto międzynarodową domenę",
|
||||||
"willbestoredas": "Będą przechowywane jako:",
|
"willbestoredas": "Będą przechowywane jako:",
|
||||||
"roleMappingDescription": "Określ jak role są przypisywane do użytkowników podczas logowania się, gdy automatyczne świadczenie jest włączone.",
|
"roleMappingDescription": "Określ, jak role są przypisywane użytkownikom podczas logowania się z tym dostawcą tożsamości.",
|
||||||
"selectRole": "Wybierz rolę",
|
"selectRole": "Wybierz rolę",
|
||||||
"roleMappingExpression": "Wyrażenie",
|
"roleMappingExpression": "Wyrażenie",
|
||||||
"selectRolePlaceholder": "Wybierz rolę",
|
"selectRolePlaceholder": "Wybierz rolę",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Cel został pomyślnie zaktualizowany",
|
"httpDestUpdatedSuccess": "Cel został pomyślnie zaktualizowany",
|
||||||
"httpDestCreatedSuccess": "Cel został utworzony pomyślnie",
|
"httpDestCreatedSuccess": "Cel został utworzony pomyślnie",
|
||||||
"httpDestUpdateFailed": "Nie udało się zaktualizować miejsca docelowego",
|
"httpDestUpdateFailed": "Nie udało się zaktualizować miejsca docelowego",
|
||||||
"httpDestCreateFailed": "Nie udało się utworzyć miejsca docelowego"
|
"httpDestCreateFailed": "Nie udało się utworzyć miejsca docelowego",
|
||||||
|
"idpAddActionCreateNew": "Utwórz nowego dostawcę tożsamości",
|
||||||
|
"idpAddActionImportFromOrg": "Importuj z innej organizacji",
|
||||||
|
"idpImportDialogTitle": "Importuj dostawcę tożsamości",
|
||||||
|
"idpImportDialogDescription": "Wybierz dostawcę tożsamości z organizacji, w której jesteś administratorem. Zostanie on powiązany z tą organizacją.",
|
||||||
|
"idpImportSearchPlaceholder": "Szukaj według nazwy organizacji lub dostawcy...",
|
||||||
|
"idpImportEmpty": "Nie znaleziono dostawców tożsamości.",
|
||||||
|
"idpImportedDescription": "Dostawca tożsamości został pomyślnie zaimportowany.",
|
||||||
|
"idpDeleteGlobalQuestion": "Czy na pewno chcesz trwale usunąć tego dostawcę tożsamości?",
|
||||||
|
"idpDeleteGlobalDescription": "Spowoduje to trwałe usunięcie dostawcy tożsamości ze wszystkich organizacji, z którymi jest powiązany.",
|
||||||
|
"idpUnassociateTitle": "Odłącz dostawcę tożsamości",
|
||||||
|
"idpUnassociateQuestion": "Czy na pewno chcesz odłączyć tego dostawcę tożsamości od tej organizacji?",
|
||||||
|
"idpUnassociateDescription": "Wszystkie użytkownicy powiązani z tym dostawcą tożsamości zostaną usunięci z tej organizacji, ale dostawca tożsamości będzie nadal istniał dla innych powiązanych organizacji.",
|
||||||
|
"idpUnassociateConfirm": "Potwierdź odłączenie dostawcy tożsamości",
|
||||||
|
"idpUnassociateWarning": "Tego nie można cofnąć dla tej organizacji.",
|
||||||
|
"idpUnassociatedDescription": "Dostawca tożsamości pomyślnie odłączony od tej organizacji",
|
||||||
|
"idpUnassociateMenu": "Odłącz",
|
||||||
|
"idpDeleteAllOrgsMenu": "Usuń"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Um nome de exibição para este provedor de identidade",
|
"idpDisplayName": "Um nome de exibição para este provedor de identidade",
|
||||||
"idpAutoProvisionUsers": "Provisionamento Automático de Utilizadores",
|
"idpAutoProvisionUsers": "Provisionamento Automático de Utilizadores",
|
||||||
"idpAutoProvisionUsersDescription": "Quando ativado, os utilizadores serão criados automaticamente no sistema no primeiro login com a capacidade de mapear utilizadores para funções e organizações.",
|
"idpAutoProvisionUsersDescription": "Quando ativado, os utilizadores serão criados automaticamente no sistema no primeiro login com a capacidade de mapear utilizadores para funções e organizações.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Você pode configurar as definições de auto provisão assim que o provedor de identidade for criado.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Tipo de Provedor",
|
"idpType": "Tipo de Provedor",
|
||||||
"idpTypeDescription": "Selecione o tipo de provedor de identidade que deseja configurar",
|
"idpTypeDescription": "Selecione o tipo de provedor de identidade que deseja configurar",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Mapeamento de Função Padrão",
|
"defaultMappingsRole": "Mapeamento de Função Padrão",
|
||||||
"defaultMappingsRoleDescription": "JMESPath para extrair informações de função do token ID. O resultado desta expressão deve retornar o nome da função como definido na organização como uma string.",
|
"defaultMappingsRoleDescription": "JMESPath para extrair informações de função do token ID. O resultado desta expressão deve retornar o nome da função como definido na organização como uma string.",
|
||||||
"defaultMappingsOrg": "Mapeamento de Organização Padrão",
|
"defaultMappingsOrg": "Mapeamento de Organização Padrão",
|
||||||
"defaultMappingsOrgDescription": "JMESPath para extrair informações da organização do token ID. Esta expressão deve retornar o ID da organização ou verdadeiro para que o utilizador tenha permissão para aceder à organização.",
|
"defaultMappingsOrgDescription": "Quando definida, esta expressão deve retornar o ID da organização ou verdadeiro para que o usuário acesse essa organização. Quando não definida, a definição de um mapeamento de papel é suficiente: o usuário é permitido desde que um mapeamento de papel válido possa ser resolvido para ele dentro da organização.",
|
||||||
"defaultMappingsSubmit": "Guardar Mapeamentos Padrão",
|
"defaultMappingsSubmit": "Guardar Mapeamentos Padrão",
|
||||||
"orgPoliciesEdit": "Editar Política da Organização",
|
"orgPoliciesEdit": "Editar Política da Organização",
|
||||||
"org": "Organização",
|
"org": "Organização",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Domínio Internacional Detectado",
|
"internationaldomaindetected": "Domínio Internacional Detectado",
|
||||||
"willbestoredas": "Será armazenado como:",
|
"willbestoredas": "Será armazenado como:",
|
||||||
"roleMappingDescription": "Determinar como as funções são atribuídas aos usuários quando eles fazem login quando Auto Provisão está habilitada.",
|
"roleMappingDescription": "Determine como os papéis são atribuídos aos usuários quando eles entram com este provedor de identidade.",
|
||||||
"selectRole": "Selecione uma função",
|
"selectRole": "Selecione uma função",
|
||||||
"roleMappingExpression": "Expressão",
|
"roleMappingExpression": "Expressão",
|
||||||
"selectRolePlaceholder": "Escolha uma função",
|
"selectRolePlaceholder": "Escolha uma função",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Destino atualizado com sucesso",
|
"httpDestUpdatedSuccess": "Destino atualizado com sucesso",
|
||||||
"httpDestCreatedSuccess": "Destino criado com sucesso",
|
"httpDestCreatedSuccess": "Destino criado com sucesso",
|
||||||
"httpDestUpdateFailed": "Falha ao atualizar destino",
|
"httpDestUpdateFailed": "Falha ao atualizar destino",
|
||||||
"httpDestCreateFailed": "Falha ao criar destino"
|
"httpDestCreateFailed": "Falha ao criar destino",
|
||||||
|
"idpAddActionCreateNew": "Criar novo provedor de identidade",
|
||||||
|
"idpAddActionImportFromOrg": "Importar de outra organização",
|
||||||
|
"idpImportDialogTitle": "Importar Provedor de Identidade",
|
||||||
|
"idpImportDialogDescription": "Escolha um provedor de identidade de uma organização onde você é administrador. Ele será vinculado a esta organização.",
|
||||||
|
"idpImportSearchPlaceholder": "Pesquisar por nome de organização ou provedor...",
|
||||||
|
"idpImportEmpty": "Nenhum provedor de identidade encontrado.",
|
||||||
|
"idpImportedDescription": "Provedor de identidade importado com sucesso.",
|
||||||
|
"idpDeleteGlobalQuestion": "Tem certeza de que deseja eliminar permanentemente este provedor de identidade?",
|
||||||
|
"idpDeleteGlobalDescription": "Isso eliminará permanentemente o provedor de identidade de todas as organizações com as quais está associado.",
|
||||||
|
"idpUnassociateTitle": "Desassociar Provedor de Identidade",
|
||||||
|
"idpUnassociateQuestion": "Tem certeza de que deseja desassociar este provedor de identidade desta organização?",
|
||||||
|
"idpUnassociateDescription": "Todos os usuários associados a este provedor de identidade serão removidos desta organização, mas o provedor de identidade continuará a existir para outras organizações associadas.",
|
||||||
|
"idpUnassociateConfirm": "Confirmar Desassociação do Provedor de Identidade",
|
||||||
|
"idpUnassociateWarning": "Isso não pode ser desfeito para esta organização.",
|
||||||
|
"idpUnassociatedDescription": "Provedor de identidade desassociado desta organização com sucesso",
|
||||||
|
"idpUnassociateMenu": "Desassociar",
|
||||||
|
"idpDeleteAllOrgsMenu": "Excluir"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Отображаемое имя для этого поставщика удостоверений",
|
"idpDisplayName": "Отображаемое имя для этого поставщика удостоверений",
|
||||||
"idpAutoProvisionUsers": "Автоматическое создание пользователей",
|
"idpAutoProvisionUsers": "Автоматическое создание пользователей",
|
||||||
"idpAutoProvisionUsersDescription": "При включении пользователи будут автоматически создаваться в системе при первом входе с возможностью сопоставления пользователей с ролями и организациями.",
|
"idpAutoProvisionUsersDescription": "При включении пользователи будут автоматически создаваться в системе при первом входе с возможностью сопоставления пользователей с ролями и организациями.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Вы можете настроить параметры автоматического обеспечения после создания поставщика удостоверений.",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "Тип поставщика",
|
"idpType": "Тип поставщика",
|
||||||
"idpTypeDescription": "Выберите тип поставщика удостоверений, который вы хотите настроить",
|
"idpTypeDescription": "Выберите тип поставщика удостоверений, который вы хотите настроить",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Сопоставление ролей по умолчанию",
|
"defaultMappingsRole": "Сопоставление ролей по умолчанию",
|
||||||
"defaultMappingsRoleDescription": "Результат этого выражения должен возвращать имя роли, как определено в организации, в виде строки.",
|
"defaultMappingsRoleDescription": "Результат этого выражения должен возвращать имя роли, как определено в организации, в виде строки.",
|
||||||
"defaultMappingsOrg": "Сопоставление организаций по умолчанию",
|
"defaultMappingsOrg": "Сопоставление организаций по умолчанию",
|
||||||
"defaultMappingsOrgDescription": "Это выражение должно возвращать ID организации или true для разрешения доступа пользователя к организации.",
|
"defaultMappingsOrgDescription": "При установке это выражение должно возвращать ID организации или true, чтобы пользователь мог получить доступ к этой организации. При отсутствии настройка отображения роли достаточно: пользователю разрешено войти, пока для него может быть решено отображение гарантированной роли в организации.",
|
||||||
"defaultMappingsSubmit": "Сохранить сопоставления по умолчанию",
|
"defaultMappingsSubmit": "Сохранить сопоставления по умолчанию",
|
||||||
"orgPoliciesEdit": "Редактировать политику организации",
|
"orgPoliciesEdit": "Редактировать политику организации",
|
||||||
"org": "Организация",
|
"org": "Организация",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Обнаружен международный домен",
|
"internationaldomaindetected": "Обнаружен международный домен",
|
||||||
"willbestoredas": "Будет храниться как:",
|
"willbestoredas": "Будет храниться как:",
|
||||||
"roleMappingDescription": "Определите, как роли, назначаемые пользователям, когда они войдут в систему автоматического профиля.",
|
"roleMappingDescription": "Определите, как роли присваиваются пользователям при входе с этим поставщиком удостоверений.",
|
||||||
"selectRole": "Выберите роль",
|
"selectRole": "Выберите роль",
|
||||||
"roleMappingExpression": "Выражение",
|
"roleMappingExpression": "Выражение",
|
||||||
"selectRolePlaceholder": "Выберите роль",
|
"selectRolePlaceholder": "Выберите роль",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Адрес назначения успешно обновлен",
|
"httpDestUpdatedSuccess": "Адрес назначения успешно обновлен",
|
||||||
"httpDestCreatedSuccess": "Адрес назначения успешно создан",
|
"httpDestCreatedSuccess": "Адрес назначения успешно создан",
|
||||||
"httpDestUpdateFailed": "Не удалось обновить место назначения",
|
"httpDestUpdateFailed": "Не удалось обновить место назначения",
|
||||||
"httpDestCreateFailed": "Не удалось создать место назначения"
|
"httpDestCreateFailed": "Не удалось создать место назначения",
|
||||||
|
"idpAddActionCreateNew": "Создать нового поставщика удостоверений",
|
||||||
|
"idpAddActionImportFromOrg": "Импортировать из другой организации",
|
||||||
|
"idpImportDialogTitle": "Импортировать поставщика удостоверений",
|
||||||
|
"idpImportDialogDescription": "Выберите поставщика удостоверений из организации, где вы являетесь администратором. Он будет связан с этой организацией.",
|
||||||
|
"idpImportSearchPlaceholder": "Поиск по организации или имени поставщика...",
|
||||||
|
"idpImportEmpty": "Поставщики удостоверений не найдены.",
|
||||||
|
"idpImportedDescription": "Поставщик удостоверений успешно импортирован.",
|
||||||
|
"idpDeleteGlobalQuestion": "Вы уверены, что хотите навсегда удалить этого поставщика удостоверений?",
|
||||||
|
"idpDeleteGlobalDescription": "Это навсегда удалит поставщика удостоверений из всех организаций, с которыми он связан.",
|
||||||
|
"idpUnassociateTitle": "Рассоединить провайдера удостоверений",
|
||||||
|
"idpUnassociateQuestion": "Вы уверены, что хотите рассоединить этого поставщика удостоверений с этой организацией?",
|
||||||
|
"idpUnassociateDescription": "Все пользователи, связанные с этим поставщиком удостоверений, будут удалены из этой организации, но поставщик удостоверений будет продолжать существовать для других связанных организаций.",
|
||||||
|
"idpUnassociateConfirm": "Подтвердите рассоединение поставщика удостоверений",
|
||||||
|
"idpUnassociateWarning": "Это не может быть отменено для этой организации.",
|
||||||
|
"idpUnassociatedDescription": "Поставщик удостоверений успешно рассоединен с этой организацией",
|
||||||
|
"idpUnassociateMenu": "Рассоединить",
|
||||||
|
"idpDeleteAllOrgsMenu": "Удалить"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "Bu kimlik sağlayıcı için bir görüntü adı",
|
"idpDisplayName": "Bu kimlik sağlayıcı için bir görüntü adı",
|
||||||
"idpAutoProvisionUsers": "Kullanıcıları Otomatik Sağla",
|
"idpAutoProvisionUsers": "Kullanıcıları Otomatik Sağla",
|
||||||
"idpAutoProvisionUsersDescription": "Etkinleştirildiğinde, kullanıcılar rol ve organizasyonlara eşleme yeteneğiyle birlikte sistemde otomatik olarak oluşturulacak.",
|
"idpAutoProvisionUsersDescription": "Etkinleştirildiğinde, kullanıcılar rol ve organizasyonlara eşleme yeteneğiyle birlikte sistemde otomatik olarak oluşturulacak.",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "Kimlik sağlayıcı oluşturulduktan sonra otomatik sağlama ayarlarını yapılandırabilirsiniz.",
|
||||||
"licenseBadge": " ",
|
"licenseBadge": " ",
|
||||||
"idpType": "Sağlayıcı Türü",
|
"idpType": "Sağlayıcı Türü",
|
||||||
"idpTypeDescription": "Yapılandırmak istediğiniz kimlik sağlayıcısı türünü seçin",
|
"idpTypeDescription": "Yapılandırmak istediğiniz kimlik sağlayıcısı türünü seçin",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "Varsayılan Rol Eşleme",
|
"defaultMappingsRole": "Varsayılan Rol Eşleme",
|
||||||
"defaultMappingsRoleDescription": "JMESPath to extract role information from the ID token. The result of this expression must return the role name as defined in the organization as a string.",
|
"defaultMappingsRoleDescription": "JMESPath to extract role information from the ID token. The result of this expression must return the role name as defined in the organization as a string.",
|
||||||
"defaultMappingsOrg": "Varsayılan Kuruluş Eşleme",
|
"defaultMappingsOrg": "Varsayılan Kuruluş Eşleme",
|
||||||
"defaultMappingsOrgDescription": "JMESPath to extract organization information from the ID token. This expression must return the org ID or true for the user to be allowed to access the organization.",
|
"defaultMappingsOrgDescription": "Ayarladığınızda, bu ifade kullanıcının o kuruluşa erişmesi için kuruluş kimliğini veya doğru değerini döndürmelidir. Ayarlamadığınızda, rol eşleme tanımlamak yeterlidir: kullanıcı, kuruluş içinde onlar için geçerli bir rol eşlemesi çözümlenebildiği sürece erişime izin verilir.",
|
||||||
"defaultMappingsSubmit": "Varsayılan Eşlemeleri Kaydet",
|
"defaultMappingsSubmit": "Varsayılan Eşlemeleri Kaydet",
|
||||||
"orgPoliciesEdit": "Kuruluş Politikasını Düzenle",
|
"orgPoliciesEdit": "Kuruluş Politikasını Düzenle",
|
||||||
"org": "Kuruluş",
|
"org": "Kuruluş",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "Uluslararası Alan Adı Tespit Edildi",
|
"internationaldomaindetected": "Uluslararası Alan Adı Tespit Edildi",
|
||||||
"willbestoredas": "Şu şekilde depolanacak:",
|
"willbestoredas": "Şu şekilde depolanacak:",
|
||||||
"roleMappingDescription": "Otomatik Sağlama etkinleştirildiğinde kullanıcıların oturum açarken rollerin nasıl atandığını belirleyin.",
|
"roleMappingDescription": "Bu kimlik sağlayıcı ile oturum açıldığında kullanıcılara rollerin nasıl atandığını belirleyin.",
|
||||||
"selectRole": "Bir Rol Seçin",
|
"selectRole": "Bir Rol Seçin",
|
||||||
"roleMappingExpression": "İfade",
|
"roleMappingExpression": "İfade",
|
||||||
"selectRolePlaceholder": "Bir rol seçin",
|
"selectRolePlaceholder": "Bir rol seçin",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "Hedef başarıyla güncellendi",
|
"httpDestUpdatedSuccess": "Hedef başarıyla güncellendi",
|
||||||
"httpDestCreatedSuccess": "Hedef başarıyla oluşturuldu",
|
"httpDestCreatedSuccess": "Hedef başarıyla oluşturuldu",
|
||||||
"httpDestUpdateFailed": "Hedef güncellenemedi",
|
"httpDestUpdateFailed": "Hedef güncellenemedi",
|
||||||
"httpDestCreateFailed": "Hedef oluşturulamadı"
|
"httpDestCreateFailed": "Hedef oluşturulamadı",
|
||||||
|
"idpAddActionCreateNew": "Yeni kimlik sağlayıcı oluştur",
|
||||||
|
"idpAddActionImportFromOrg": "Başka bir kuruluştan içe aktar",
|
||||||
|
"idpImportDialogTitle": "Kimlik Sağlayıcı İçe Aktar",
|
||||||
|
"idpImportDialogDescription": "Bir kuruluştan yönetici olduğunuz bir kimlik sağlayıcı seçin. Bu kuruluşla ilişkilendirilecektir.",
|
||||||
|
"idpImportSearchPlaceholder": "Kuruluş veya sağlayıcı adına göre ara...",
|
||||||
|
"idpImportEmpty": "Hiçbir kimlik sağlayıcı bulunamadı.",
|
||||||
|
"idpImportedDescription": "Kimlik sağlayıcı başarıyla içe aktarıldı.",
|
||||||
|
"idpDeleteGlobalQuestion": "Bu kimlik sağlayıcıyı kalıcı olarak silmek istediğinizden emin misiniz?",
|
||||||
|
"idpDeleteGlobalDescription": "Bu, kimlik sağlayıcıyı ilişkilendirildiği tüm kuruluşlardan kalıcı olarak silecektir.",
|
||||||
|
"idpUnassociateTitle": "Kimlik Sağlayıcının İlişkisini Kes",
|
||||||
|
"idpUnassociateQuestion": "Bu kimlik sağlayıcının bu kuruluştan ilişiğini kesmek istediğinizden emin misiniz?",
|
||||||
|
"idpUnassociateDescription": "Bu kimlik sağlayıcı ile ilişkilendirilen tüm kullanıcılar bu kuruluştan kaldırılacaktır, ancak kimlik sağlayıcı diğer ilişkilendirilen kuruluşlar için var olmaya devam edecektir.",
|
||||||
|
"idpUnassociateConfirm": "Kimlik Sağlayıcının İlişkisinin Kesilmesini Onayla",
|
||||||
|
"idpUnassociateWarning": "Bu işlem bu kuruluş için geri alınamaz.",
|
||||||
|
"idpUnassociatedDescription": "Kimlik sağlayıcı bu kuruluştan başarıyla ayrıldı",
|
||||||
|
"idpUnassociateMenu": "İlişkiyi Kes",
|
||||||
|
"idpDeleteAllOrgsMenu": "Sil"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -898,6 +898,7 @@
|
|||||||
"idpDisplayName": "此身份提供商的显示名称",
|
"idpDisplayName": "此身份提供商的显示名称",
|
||||||
"idpAutoProvisionUsers": "自动提供用户",
|
"idpAutoProvisionUsers": "自动提供用户",
|
||||||
"idpAutoProvisionUsersDescription": "如果启用,用户将在首次登录时自动在系统中创建,并且能够映射用户到角色和组织。",
|
"idpAutoProvisionUsersDescription": "如果启用,用户将在首次登录时自动在系统中创建,并且能够映射用户到角色和组织。",
|
||||||
|
"idpAutoProvisionConfigureAfterCreate": "您可以在创建身份提供者后配置自动配置设置。",
|
||||||
"licenseBadge": "EE",
|
"licenseBadge": "EE",
|
||||||
"idpType": "提供者类型",
|
"idpType": "提供者类型",
|
||||||
"idpTypeDescription": "选择您想要配置的身份提供者类型",
|
"idpTypeDescription": "选择您想要配置的身份提供者类型",
|
||||||
@@ -949,7 +950,7 @@
|
|||||||
"defaultMappingsRole": "默认角色映射",
|
"defaultMappingsRole": "默认角色映射",
|
||||||
"defaultMappingsRoleDescription": "此表达式的结果必须返回组织中定义的角色名称作为字符串。",
|
"defaultMappingsRoleDescription": "此表达式的结果必须返回组织中定义的角色名称作为字符串。",
|
||||||
"defaultMappingsOrg": "默认组织映射",
|
"defaultMappingsOrg": "默认组织映射",
|
||||||
"defaultMappingsOrgDescription": "此表达式必须返回 组织ID 或 true 才能允许用户访问组织。",
|
"defaultMappingsOrgDescription": "设置时,此表达式必须返回组织ID或true才能让用户访问该组织。如果未设置,定义角色映射就足够了:只要在组织内可以为用户找出有效角色映射,用户就被允许进入。",
|
||||||
"defaultMappingsSubmit": "保存默认映射",
|
"defaultMappingsSubmit": "保存默认映射",
|
||||||
"orgPoliciesEdit": "编辑组织策略",
|
"orgPoliciesEdit": "编辑组织策略",
|
||||||
"org": "组织",
|
"org": "组织",
|
||||||
@@ -2026,7 +2027,7 @@
|
|||||||
},
|
},
|
||||||
"internationaldomaindetected": "检测到国际域",
|
"internationaldomaindetected": "检测到国际域",
|
||||||
"willbestoredas": "储存为:",
|
"willbestoredas": "储存为:",
|
||||||
"roleMappingDescription": "确定当用户启用自动配送时如何分配他们的角色。",
|
"roleMappingDescription": "确定当用户使用此身份提供者登陆时如何分配角色。",
|
||||||
"selectRole": "选择角色",
|
"selectRole": "选择角色",
|
||||||
"roleMappingExpression": "表达式",
|
"roleMappingExpression": "表达式",
|
||||||
"selectRolePlaceholder": "选择角色",
|
"selectRolePlaceholder": "选择角色",
|
||||||
@@ -2899,5 +2900,22 @@
|
|||||||
"httpDestUpdatedSuccess": "目标已成功更新",
|
"httpDestUpdatedSuccess": "目标已成功更新",
|
||||||
"httpDestCreatedSuccess": "目标创建成功",
|
"httpDestCreatedSuccess": "目标创建成功",
|
||||||
"httpDestUpdateFailed": "更新目标失败",
|
"httpDestUpdateFailed": "更新目标失败",
|
||||||
"httpDestCreateFailed": "创建目标失败"
|
"httpDestCreateFailed": "创建目标失败",
|
||||||
|
"idpAddActionCreateNew": "创建新的身份提供者",
|
||||||
|
"idpAddActionImportFromOrg": "从另一个组织导入",
|
||||||
|
"idpImportDialogTitle": "导入身份提供者",
|
||||||
|
"idpImportDialogDescription": "从您是管理员的组织中选择一个身份提供者。它将关联到本组织。",
|
||||||
|
"idpImportSearchPlaceholder": "按组织或提供者名称搜索……",
|
||||||
|
"idpImportEmpty": "未找到身份提供者。",
|
||||||
|
"idpImportedDescription": "身份提供者已成功导入。",
|
||||||
|
"idpDeleteGlobalQuestion": "您确定要永久删除此身份提供者吗?",
|
||||||
|
"idpDeleteGlobalDescription": "这将永久删除与其关联的所有组织中的身份提供者。",
|
||||||
|
"idpUnassociateTitle": "取消关联身份提供者",
|
||||||
|
"idpUnassociateQuestion": "您确定要将此身份提供者从此组织中取消关联吗?",
|
||||||
|
"idpUnassociateDescription": "与此身份提供者关联的所有用户将从该组织中移除,但身份提供者仍会继续存在于关联的其他组织中。",
|
||||||
|
"idpUnassociateConfirm": "确认取消关联身份提供者",
|
||||||
|
"idpUnassociateWarning": "此操作无法对该组织撤销。",
|
||||||
|
"idpUnassociatedDescription": "身份提供者已成功从该组织中取消关联",
|
||||||
|
"idpUnassociateMenu": "取消关联",
|
||||||
|
"idpDeleteAllOrgsMenu": "删除"
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 765 KiB After Width: | Height: | Size: 588 KiB |
|
Before Width: | Height: | Size: 742 KiB After Width: | Height: | Size: 569 KiB |
|
Before Width: | Height: | Size: 765 KiB After Width: | Height: | Size: 588 KiB |
|
Before Width: | Height: | Size: 2.9 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 243 KiB After Width: | Height: | Size: 274 KiB |
@@ -19,12 +19,11 @@ import HttpCode from "@server/types/HttpCode";
|
|||||||
import createHttpError from "http-errors";
|
import createHttpError from "http-errors";
|
||||||
import logger from "@server/logger";
|
import logger from "@server/logger";
|
||||||
import { fromError } from "zod-validation-error";
|
import { fromError } from "zod-validation-error";
|
||||||
import { OpenAPITags, registry } from "@server/openApi";
|
|
||||||
import { idp, idpOrg, orgs, roles, userOrgs } from "@server/db";
|
import { idp, idpOrg, orgs, roles, userOrgs } from "@server/db";
|
||||||
import { and, eq, inArray } from "drizzle-orm";
|
import { and, eq, inArray } from "drizzle-orm";
|
||||||
import { CreateOrgIdpResponse } from "@server/routers/orgIdp/types";
|
import { CreateOrgIdpResponse } from "@server/routers/orgIdp/types";
|
||||||
import { generateOidcRedirectUrl } from "@server/lib/idp/generateRedirectUrl";
|
import { generateOidcRedirectUrl } from "@server/lib/idp/generateRedirectUrl";
|
||||||
import { checkOrgAccessPolicy } from "#dynamic/lib/checkOrgAccessPolicy";
|
import { checkOrgAccessPolicy } from "#private/lib/checkOrgAccessPolicy";
|
||||||
import { getUserOrgRoleIds } from "@server/lib/userOrgRoles";
|
import { getUserOrgRoleIds } from "@server/lib/userOrgRoles";
|
||||||
|
|
||||||
const paramsSchema = z.strictObject({
|
const paramsSchema = z.strictObject({
|
||||||
|
|||||||
@@ -0,0 +1,106 @@
|
|||||||
|
import { db, apiKeys } from "@server/db";
|
||||||
|
import { eq } from "drizzle-orm";
|
||||||
|
import { generateRandomString, RandomReader } from "@oslojs/crypto/random";
|
||||||
|
import moment from "moment";
|
||||||
|
import logger from "@server/logger";
|
||||||
|
import { hashPassword } from "@server/auth/password";
|
||||||
|
|
||||||
|
const random: RandomReader = {
|
||||||
|
read(bytes: Uint8Array): void {
|
||||||
|
crypto.getRandomValues(bytes);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function validateApiKeyId(id: string): boolean {
|
||||||
|
return /^[a-z0-9]{15}$/.test(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
function validateApiKeySecret(secret: string): boolean {
|
||||||
|
return secret.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function showRootApiKey(apiKeyId: string, source: string): void {
|
||||||
|
console.log(`=== ROOT API KEY ${source} ===`);
|
||||||
|
console.log("API Key ID:", apiKeyId);
|
||||||
|
console.log(
|
||||||
|
"The root API key from PANGOLIN_ROOT_API_KEY has been applied."
|
||||||
|
);
|
||||||
|
console.log("Use the full key value (apiKeyId.apiKeySecret) in requests.");
|
||||||
|
console.log("================================");
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function ensureRootApiKey() {
|
||||||
|
try {
|
||||||
|
const envApiKey = process.env.PANGOLIN_ROOT_API_KEY;
|
||||||
|
|
||||||
|
if (!envApiKey) {
|
||||||
|
logger.debug(
|
||||||
|
"PANGOLIN_ROOT_API_KEY not set. Root API key from environment skipped."
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const parts = envApiKey.split(".");
|
||||||
|
if (parts.length !== 2) {
|
||||||
|
throw new Error(
|
||||||
|
"Invalid format for PANGOLIN_ROOT_API_KEY. Expected format: {apiKeyId}.{apiKeySecret}"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const [apiKeyId, apiKeySecret] = parts;
|
||||||
|
|
||||||
|
if (!validateApiKeyId(apiKeyId)) {
|
||||||
|
throw new Error(
|
||||||
|
"Invalid apiKeyId in PANGOLIN_ROOT_API_KEY. Must be 15 lowercase alphanumeric characters."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!validateApiKeySecret(apiKeySecret)) {
|
||||||
|
throw new Error(
|
||||||
|
"Invalid apiKeySecret in PANGOLIN_ROOT_API_KEY. Secret must not be empty."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const apiKeyHash = await hashPassword(apiKeySecret);
|
||||||
|
const lastChars = apiKeySecret.slice(-4);
|
||||||
|
const createdAt = moment().toISOString();
|
||||||
|
|
||||||
|
const [existingKey] = await db
|
||||||
|
.select()
|
||||||
|
.from(apiKeys)
|
||||||
|
.where(eq(apiKeys.apiKeyId, apiKeyId));
|
||||||
|
|
||||||
|
if (existingKey) {
|
||||||
|
if (!existingKey.isRoot) {
|
||||||
|
console.warn(
|
||||||
|
`API key with ID ${apiKeyId} exists but is not a root key. Promoting to root and updating hash.`
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
console.warn(
|
||||||
|
`Overwriting existing root API key hash since PANGOLIN_ROOT_API_KEY is set (apiKeyId: ${apiKeyId})`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
await db
|
||||||
|
.update(apiKeys)
|
||||||
|
.set({ apiKeyHash, lastChars, isRoot: true })
|
||||||
|
.where(eq(apiKeys.apiKeyId, apiKeyId));
|
||||||
|
|
||||||
|
showRootApiKey(apiKeyId, "UPDATED FROM ENVIRONMENT");
|
||||||
|
} else {
|
||||||
|
await db.insert(apiKeys).values({
|
||||||
|
apiKeyId,
|
||||||
|
name: "Root API Key (Environment)",
|
||||||
|
apiKeyHash,
|
||||||
|
lastChars,
|
||||||
|
createdAt,
|
||||||
|
isRoot: true
|
||||||
|
});
|
||||||
|
|
||||||
|
showRootApiKey(apiKeyId, "CREATED FROM ENVIRONMENT");
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Failed to ensure root API key:", error);
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,10 +2,12 @@ import { ensureActions } from "./ensureActions";
|
|||||||
import { copyInConfig } from "./copyInConfig";
|
import { copyInConfig } from "./copyInConfig";
|
||||||
import { clearStaleData } from "./clearStaleData";
|
import { clearStaleData } from "./clearStaleData";
|
||||||
import { ensureSetupToken } from "./ensureSetupToken";
|
import { ensureSetupToken } from "./ensureSetupToken";
|
||||||
|
import { ensureRootApiKey } from "./ensureRootApiKey";
|
||||||
|
|
||||||
export async function runSetupFunctions() {
|
export async function runSetupFunctions() {
|
||||||
await copyInConfig(); // copy in the config to the db as needed
|
await copyInConfig(); // copy in the config to the db as needed
|
||||||
await ensureActions(); // make sure all of the actions are in the db and the roles
|
await ensureActions(); // make sure all of the actions are in the db and the roles
|
||||||
await clearStaleData();
|
await clearStaleData();
|
||||||
await ensureSetupToken(); // ensure setup token exists for initial setup
|
await ensureSetupToken(); // ensure setup token exists for initial setup
|
||||||
|
await ensureRootApiKey();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,8 @@
|
|||||||
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
|
import DomainPageClient from "@app/components/DomainPageClient";
|
||||||
import DomainInfoCard from "@app/components/DomainInfoCard";
|
|
||||||
import RestartDomainButton from "@app/components/RestartDomainButton";
|
|
||||||
import { GetDomainResponse } from "@server/routers/domain/getDomain";
|
import { GetDomainResponse } from "@server/routers/domain/getDomain";
|
||||||
import { pullEnv } from "@app/lib/pullEnv";
|
|
||||||
import { getTranslations } from "next-intl/server";
|
|
||||||
import RefreshButton from "@app/components/RefreshButton";
|
|
||||||
import { internal } from "@app/lib/api";
|
import { internal } from "@app/lib/api";
|
||||||
import { authCookieHeader } from "@app/lib/api/cookies";
|
import { authCookieHeader } from "@app/lib/api/cookies";
|
||||||
import { GetDNSRecordsResponse } from "@server/routers/domain";
|
import { GetDNSRecordsResponse } from "@server/routers/domain";
|
||||||
import DNSRecordsTable from "@app/components/DNSRecordTable";
|
|
||||||
import DomainCertForm from "@app/components/DomainCertForm";
|
|
||||||
import { build } from "@server/build";
|
|
||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
@@ -25,8 +17,6 @@ export default async function DomainSettingsPage({
|
|||||||
params
|
params
|
||||||
}: DomainSettingsPageProps) {
|
}: DomainSettingsPageProps) {
|
||||||
const { domainId, orgId } = await params;
|
const { domainId, orgId } = await params;
|
||||||
const t = await getTranslations();
|
|
||||||
const env = pullEnv();
|
|
||||||
|
|
||||||
let domain: GetDomainResponse | null = null;
|
let domain: GetDomainResponse | null = null;
|
||||||
try {
|
try {
|
||||||
@@ -39,57 +29,27 @@ export default async function DomainSettingsPage({
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
let dnsRecords;
|
let dnsRecords: GetDNSRecordsResponse | null = null;
|
||||||
try {
|
try {
|
||||||
const response = await internal.get(
|
const response = await internal.get(
|
||||||
`/org/${orgId}/domain/${domainId}/dns-records`,
|
`/org/${orgId}/domain/${domainId}/dns-records`,
|
||||||
await authCookieHeader()
|
await authCookieHeader()
|
||||||
);
|
);
|
||||||
dnsRecords = response.data.data;
|
dnsRecords = response.data.data;
|
||||||
} catch (error) {
|
} catch {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!domain) {
|
if (!domain || !dnsRecords) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<DomainPageClient
|
||||||
<div className="flex justify-between">
|
initialDomain={domain}
|
||||||
<SettingsSectionTitle
|
initialDnsRecords={dnsRecords}
|
||||||
title={domain.baseDomain}
|
orgId={orgId}
|
||||||
description={t("domainSettingDescription")}
|
domainId={domainId}
|
||||||
/>
|
/>
|
||||||
{env.flags.usePangolinDns && domain.failed ? (
|
|
||||||
<RestartDomainButton
|
|
||||||
orgId={orgId}
|
|
||||||
domainId={domain.domainId}
|
|
||||||
/>
|
|
||||||
) : (
|
|
||||||
<RefreshButton />
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
<div className="space-y-6">
|
|
||||||
{build != "oss" && env.flags.usePangolinDns ? (
|
|
||||||
<DomainInfoCard
|
|
||||||
failed={domain.failed}
|
|
||||||
verified={domain.verified}
|
|
||||||
type={domain.type}
|
|
||||||
errorMessage={domain.errorMessage}
|
|
||||||
/>
|
|
||||||
) : null}
|
|
||||||
|
|
||||||
<DNSRecordsTable records={dnsRecords} type={domain.type} />
|
|
||||||
|
|
||||||
{domain.type == "wildcard" && !domain.configManaged && (
|
|
||||||
<DomainCertForm
|
|
||||||
orgId={orgId}
|
|
||||||
domainId={domain.domainId}
|
|
||||||
domain={domain}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
import { domainQueries } from "@app/lib/queries";
|
||||||
|
import { GetDomainResponse } from "@server/routers/domain/getDomain";
|
||||||
|
import { GetDNSRecordsResponse } from "@server/routers/domain";
|
||||||
|
import DomainInfoCard from "@app/components/DomainInfoCard";
|
||||||
|
import DNSRecordsTable from "@app/components/DNSRecordTable";
|
||||||
|
import RestartDomainButton from "@app/components/RestartDomainButton";
|
||||||
|
import RefreshButton from "@app/components/RefreshButton";
|
||||||
|
import SettingsSectionTitle from "@app/components/SettingsSectionTitle";
|
||||||
|
import DomainCertForm from "@app/components/DomainCertForm";
|
||||||
|
import { build } from "@server/build";
|
||||||
|
import { useEnvContext } from "@app/hooks/useEnvContext";
|
||||||
|
import { useTranslations } from "next-intl";
|
||||||
|
|
||||||
|
interface DomainPageClientProps {
|
||||||
|
initialDomain: GetDomainResponse;
|
||||||
|
initialDnsRecords: GetDNSRecordsResponse;
|
||||||
|
orgId: string;
|
||||||
|
domainId: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function DomainPageClient({
|
||||||
|
initialDomain,
|
||||||
|
initialDnsRecords,
|
||||||
|
orgId,
|
||||||
|
domainId
|
||||||
|
}: DomainPageClientProps) {
|
||||||
|
const t = useTranslations();
|
||||||
|
const { env } = useEnvContext();
|
||||||
|
|
||||||
|
const { data: domain, refetch: refetchDomain } = useQuery({
|
||||||
|
...domainQueries.getDomain({ orgId, domainId }),
|
||||||
|
initialData: initialDomain
|
||||||
|
});
|
||||||
|
|
||||||
|
const { data: dnsRecords, refetch: refetchDnsRecords } = useQuery({
|
||||||
|
...domainQueries.getDNSRecords({ orgId, domainId }),
|
||||||
|
initialData: initialDnsRecords
|
||||||
|
});
|
||||||
|
|
||||||
|
const refetchAll = () => {
|
||||||
|
refetchDomain();
|
||||||
|
refetchDnsRecords();
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="flex justify-between">
|
||||||
|
<SettingsSectionTitle
|
||||||
|
title={domain.baseDomain}
|
||||||
|
description={t("domainSettingDescription")}
|
||||||
|
/>
|
||||||
|
{env.flags.usePangolinDns && domain.failed ? (
|
||||||
|
<RestartDomainButton
|
||||||
|
orgId={orgId}
|
||||||
|
domainId={domain.domainId}
|
||||||
|
onSuccess={refetchAll}
|
||||||
|
/>
|
||||||
|
) : (
|
||||||
|
<RefreshButton onRefresh={refetchAll} />
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
<div className="space-y-6">
|
||||||
|
{build !== "oss" && env.flags.usePangolinDns ? (
|
||||||
|
<DomainInfoCard
|
||||||
|
failed={domain.failed}
|
||||||
|
verified={domain.verified}
|
||||||
|
type={domain.type}
|
||||||
|
errorMessage={domain.errorMessage}
|
||||||
|
/>
|
||||||
|
) : null}
|
||||||
|
|
||||||
|
<DNSRecordsTable
|
||||||
|
records={dnsRecords.map((r) => ({
|
||||||
|
...r,
|
||||||
|
id: String(r.id)
|
||||||
|
}))}
|
||||||
|
type={domain.type}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{domain.type === "wildcard" && !domain.configManaged && (
|
||||||
|
<DomainCertForm
|
||||||
|
orgId={orgId}
|
||||||
|
domainId={domain.domainId}
|
||||||
|
domain={domain}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -10,13 +10,12 @@ import {
|
|||||||
MoreHorizontal,
|
MoreHorizontal,
|
||||||
RefreshCw
|
RefreshCw
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
import { useState } from "react";
|
import { useMemo, useState } from "react";
|
||||||
import ConfirmDeleteDialog from "@app/components/ConfirmDeleteDialog";
|
import ConfirmDeleteDialog from "@app/components/ConfirmDeleteDialog";
|
||||||
import { formatAxiosError } from "@app/lib/api";
|
import { formatAxiosError } from "@app/lib/api";
|
||||||
import { createApiClient } from "@app/lib/api";
|
import { createApiClient } from "@app/lib/api";
|
||||||
import { useEnvContext } from "@app/hooks/useEnvContext";
|
import { useEnvContext } from "@app/hooks/useEnvContext";
|
||||||
import { Badge } from "@app/components/ui/badge";
|
import { Badge } from "@app/components/ui/badge";
|
||||||
import { useRouter } from "next/navigation";
|
|
||||||
import { useTranslations } from "next-intl";
|
import { useTranslations } from "next-intl";
|
||||||
import CreateDomainForm from "@app/components/CreateDomainForm";
|
import CreateDomainForm from "@app/components/CreateDomainForm";
|
||||||
import { useToast } from "@app/hooks/useToast";
|
import { useToast } from "@app/hooks/useToast";
|
||||||
@@ -34,6 +33,10 @@ import {
|
|||||||
TooltipTrigger
|
TooltipTrigger
|
||||||
} from "./ui/tooltip";
|
} from "./ui/tooltip";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
||||||
|
import { orgQueries } from "@app/lib/queries";
|
||||||
|
import { toUnicode } from "punycode";
|
||||||
|
import { durationToMs } from "@app/lib/durationToMs";
|
||||||
|
|
||||||
export type DomainRow = {
|
export type DomainRow = {
|
||||||
domainId: string;
|
domainId: string;
|
||||||
@@ -59,32 +62,32 @@ export default function DomainsTable({ domains, orgId }: Props) {
|
|||||||
const [selectedDomain, setSelectedDomain] = useState<DomainRow | null>(
|
const [selectedDomain, setSelectedDomain] = useState<DomainRow | null>(
|
||||||
null
|
null
|
||||||
);
|
);
|
||||||
const [isRefreshing, setIsRefreshing] = useState(false);
|
|
||||||
const [restartingDomains, setRestartingDomains] = useState<Set<string>>(
|
const [restartingDomains, setRestartingDomains] = useState<Set<string>>(
|
||||||
new Set()
|
new Set()
|
||||||
);
|
);
|
||||||
const env = useEnvContext();
|
const env = useEnvContext();
|
||||||
const api = createApiClient(env);
|
const api = createApiClient(env);
|
||||||
const router = useRouter();
|
|
||||||
const t = useTranslations();
|
const t = useTranslations();
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const { org } = useOrgContext();
|
const { org } = useOrgContext();
|
||||||
|
const queryClient = useQueryClient();
|
||||||
|
|
||||||
const refreshData = async () => {
|
const { data: rawDomains, isRefetching, refetch } = useQuery({
|
||||||
setIsRefreshing(true);
|
...orgQueries.domains({ orgId }),
|
||||||
try {
|
initialData: domains as any,
|
||||||
await new Promise((resolve) => setTimeout(resolve, 200));
|
refetchInterval: durationToMs(10, "seconds")
|
||||||
router.refresh();
|
});
|
||||||
} catch (error) {
|
|
||||||
toast({
|
const tableData = useMemo(
|
||||||
title: t("error"),
|
() =>
|
||||||
description: t("refreshError"),
|
(rawDomains ?? []).map((d) => ({
|
||||||
variant: "destructive"
|
...d,
|
||||||
});
|
baseDomain: toUnicode(d.baseDomain),
|
||||||
} finally {
|
type: d.type ?? "",
|
||||||
setIsRefreshing(false);
|
errorMessage: d.errorMessage ?? null
|
||||||
}
|
} as DomainRow)),
|
||||||
};
|
[rawDomains]
|
||||||
|
);
|
||||||
|
|
||||||
const deleteDomain = async (domainId: string) => {
|
const deleteDomain = async (domainId: string) => {
|
||||||
try {
|
try {
|
||||||
@@ -94,7 +97,7 @@ export default function DomainsTable({ domains, orgId }: Props) {
|
|||||||
description: t("domainDeletedDescription")
|
description: t("domainDeletedDescription")
|
||||||
});
|
});
|
||||||
setIsDeleteModalOpen(false);
|
setIsDeleteModalOpen(false);
|
||||||
refreshData();
|
refetch();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
toast({
|
toast({
|
||||||
title: t("error"),
|
title: t("error"),
|
||||||
@@ -114,7 +117,7 @@ export default function DomainsTable({ domains, orgId }: Props) {
|
|||||||
fallback: "Domain verification restarted successfully"
|
fallback: "Domain verification restarted successfully"
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
refreshData();
|
refetch();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
toast({
|
toast({
|
||||||
title: t("error"),
|
title: t("error"),
|
||||||
@@ -361,16 +364,16 @@ export default function DomainsTable({ domains, orgId }: Props) {
|
|||||||
open={isCreateModalOpen}
|
open={isCreateModalOpen}
|
||||||
setOpen={setIsCreateModalOpen}
|
setOpen={setIsCreateModalOpen}
|
||||||
onCreated={(domain) => {
|
onCreated={(domain) => {
|
||||||
refreshData();
|
refetch();
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<DomainsDataTable
|
<DomainsDataTable
|
||||||
columns={columns}
|
columns={columns}
|
||||||
data={domains}
|
data={tableData}
|
||||||
onAdd={() => setIsCreateModalOpen(true)}
|
onAdd={() => setIsCreateModalOpen(true)}
|
||||||
onRefresh={refreshData}
|
onRefresh={refetch}
|
||||||
isRefreshing={isRefreshing}
|
isRefreshing={isRefetching}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ import { Button } from "@app/components/ui/button";
|
|||||||
import { useTranslations } from "next-intl";
|
import { useTranslations } from "next-intl";
|
||||||
import { toast } from "@app/hooks/useToast";
|
import { toast } from "@app/hooks/useToast";
|
||||||
|
|
||||||
export default function RefreshButton() {
|
interface RefreshButtonProps {
|
||||||
|
onRefresh?: () => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function RefreshButton({ onRefresh }: RefreshButtonProps = {}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [isRefreshing, setIsRefreshing] = useState(false);
|
const [isRefreshing, setIsRefreshing] = useState(false);
|
||||||
const t = useTranslations();
|
const t = useTranslations();
|
||||||
@@ -16,7 +20,11 @@ export default function RefreshButton() {
|
|||||||
setIsRefreshing(true);
|
setIsRefreshing(true);
|
||||||
try {
|
try {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 200));
|
await new Promise((resolve) => setTimeout(resolve, 200));
|
||||||
router.refresh();
|
if (onRefresh) {
|
||||||
|
onRefresh();
|
||||||
|
} else {
|
||||||
|
router.refresh();
|
||||||
|
}
|
||||||
} catch {
|
} catch {
|
||||||
toast({
|
toast({
|
||||||
title: t("error"),
|
title: t("error"),
|
||||||
|
|||||||
@@ -12,11 +12,13 @@ import { useTranslations } from "next-intl";
|
|||||||
interface RestartDomainButtonProps {
|
interface RestartDomainButtonProps {
|
||||||
orgId: string;
|
orgId: string;
|
||||||
domainId: string;
|
domainId: string;
|
||||||
|
onSuccess?: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function RestartDomainButton({
|
export default function RestartDomainButton({
|
||||||
orgId,
|
orgId,
|
||||||
domainId
|
domainId,
|
||||||
|
onSuccess
|
||||||
}: RestartDomainButtonProps) {
|
}: RestartDomainButtonProps) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const api = createApiClient(useEnvContext());
|
const api = createApiClient(useEnvContext());
|
||||||
@@ -35,7 +37,11 @@ export default function RestartDomainButton({
|
|||||||
});
|
});
|
||||||
// Wait a bit before refreshing to allow the restart to take effect
|
// Wait a bit before refreshing to allow the restart to take effect
|
||||||
await new Promise((resolve) => setTimeout(resolve, 200));
|
await new Promise((resolve) => setTimeout(resolve, 200));
|
||||||
router.refresh();
|
if (onSuccess) {
|
||||||
|
onSuccess();
|
||||||
|
} else {
|
||||||
|
router.refresh();
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
toast({
|
toast({
|
||||||
title: t("error"),
|
title: t("error"),
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export default function SiteInfoCard({}: SiteInfoCardProps) {
|
|||||||
return (
|
return (
|
||||||
<Alert>
|
<Alert>
|
||||||
<AlertDescription>
|
<AlertDescription>
|
||||||
<InfoSections cols={3}>
|
<InfoSections cols={site.endpoint ? 4 : 3}>
|
||||||
<InfoSection>
|
<InfoSection>
|
||||||
<InfoSectionTitle>{t("identifier")}</InfoSectionTitle>
|
<InfoSectionTitle>{t("identifier")}</InfoSectionTitle>
|
||||||
<InfoSectionContent>{site.niceId}</InfoSectionContent>
|
<InfoSectionContent>{site.niceId}</InfoSectionContent>
|
||||||
@@ -68,6 +68,18 @@ export default function SiteInfoCard({}: SiteInfoCardProps) {
|
|||||||
{getConnectionTypeString(site.type)}
|
{getConnectionTypeString(site.type)}
|
||||||
</InfoSectionContent>
|
</InfoSectionContent>
|
||||||
</InfoSection>
|
</InfoSection>
|
||||||
|
{site.endpoint && (
|
||||||
|
<InfoSection>
|
||||||
|
<InfoSectionTitle>
|
||||||
|
{t("publicIpEndpoint")}
|
||||||
|
</InfoSectionTitle>
|
||||||
|
<InfoSectionContent>
|
||||||
|
{site.endpoint.includes(":")
|
||||||
|
? site.endpoint.substring(0, site.endpoint.lastIndexOf(":"))
|
||||||
|
: site.endpoint}
|
||||||
|
</InfoSectionContent>
|
||||||
|
</InfoSection>
|
||||||
|
)}
|
||||||
</InfoSections>
|
</InfoSections>
|
||||||
</AlertDescription>
|
</AlertDescription>
|
||||||
</Alert>
|
</Alert>
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { build } from "@server/build";
|
import { build } from "@server/build";
|
||||||
import type { QueryRequestAnalyticsResponse } from "@server/routers/auditLogs";
|
import type { QueryRequestAnalyticsResponse } from "@server/routers/auditLogs";
|
||||||
import type { ListClientsResponse } from "@server/routers/client";
|
import type { ListClientsResponse } from "@server/routers/client";
|
||||||
import type { ListDomainsResponse } from "@server/routers/domain";
|
import type { ListDomainsResponse, GetDNSRecordsResponse } from "@server/routers/domain";
|
||||||
|
import type { GetDomainResponse } from "@server/routers/domain/getDomain";
|
||||||
import type {
|
import type {
|
||||||
GetResourceWhitelistResponse,
|
GetResourceWhitelistResponse,
|
||||||
ListResourceNamesResponse,
|
ListResourceNamesResponse,
|
||||||
@@ -472,3 +473,49 @@ export const approvalQueries = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const domainQueries = {
|
||||||
|
getDomain: ({
|
||||||
|
orgId,
|
||||||
|
domainId
|
||||||
|
}: {
|
||||||
|
orgId: string;
|
||||||
|
domainId: string;
|
||||||
|
}) =>
|
||||||
|
queryOptions({
|
||||||
|
queryKey: ["ORG", orgId, "DOMAIN", domainId] as const,
|
||||||
|
queryFn: async ({ signal, meta }) => {
|
||||||
|
const res = await meta!.api.get<
|
||||||
|
AxiosResponse<GetDomainResponse>
|
||||||
|
>(`/org/${orgId}/domain/${domainId}`, { signal });
|
||||||
|
return res.data.data;
|
||||||
|
},
|
||||||
|
refetchInterval: durationToMs(10, "seconds")
|
||||||
|
}),
|
||||||
|
getDNSRecords: ({
|
||||||
|
orgId,
|
||||||
|
domainId
|
||||||
|
}: {
|
||||||
|
orgId: string;
|
||||||
|
domainId: string;
|
||||||
|
}) =>
|
||||||
|
queryOptions({
|
||||||
|
queryKey: [
|
||||||
|
"ORG",
|
||||||
|
orgId,
|
||||||
|
"DOMAIN",
|
||||||
|
domainId,
|
||||||
|
"DNS_RECORDS"
|
||||||
|
] as const,
|
||||||
|
queryFn: async ({ signal, meta }) => {
|
||||||
|
const res = await meta!.api.get<
|
||||||
|
AxiosResponse<GetDNSRecordsResponse>
|
||||||
|
>(
|
||||||
|
`/org/${orgId}/domain/${domainId}/dns-records`,
|
||||||
|
{ signal }
|
||||||
|
);
|
||||||
|
return res.data.data;
|
||||||
|
},
|
||||||
|
refetchInterval: durationToMs(10, "seconds")
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|||||||