ldap-rest 1.2.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sync-james.mjs +13 -2
- package/dist/abstract/ldapFlat.js +1 -1
- package/dist/abstract/plugin.js +1 -1
- package/dist/abstract/twakePlugin.js +1 -1
- package/dist/bin/index.js +1 -1
- package/dist/config/args.js +1 -1
- package/dist/config/options.js +1 -0
- package/dist/config/schema.js +1 -1
- package/dist/lib/auth/base.js +1 -1
- package/dist/lib/authz/base.js +1 -1
- package/dist/lib/entitySchema/validator.js +1 -1
- package/dist/lib/errors.js +1 -1
- package/dist/lib/expressFormatedResponses.js +1 -1
- package/dist/lib/health.js +1 -1
- package/dist/lib/hookBus.js +1 -0
- package/dist/lib/instanceProviders.js +1 -1
- package/dist/lib/ldap/callerView.js +1 -0
- package/dist/lib/ldap/pool.js +1 -0
- package/dist/lib/ldap/schema.js +1 -0
- package/dist/lib/ldap/searchCache.js +1 -0
- package/dist/lib/ldapActions.js +1 -1
- package/dist/lib/ldapSchema.js +1 -1
- package/dist/lib/parseConfig.js +1 -1
- package/dist/lib/route.js +1 -0
- package/dist/lib/schemaFile.js +1 -1
- package/dist/lib/services/index.js +1 -0
- package/dist/lib/storage/store.js +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/lib/version.js +1 -0
- package/dist/logger/winston.js +1 -1
- package/dist/plugins/auth/auth.options.js +1 -0
- package/dist/plugins/auth/authzDynamic.js +1 -1
- package/dist/plugins/auth/authzLinid1.js +1 -1
- package/dist/plugins/auth/authzPerBranch.js +1 -1
- package/dist/plugins/auth/authzPerRoute.js +1 -1
- package/dist/plugins/auth/authzScope.js +1 -1
- package/dist/plugins/auth/crowdsec.js +1 -1
- package/dist/plugins/auth/fake.js +1 -1
- package/dist/plugins/auth/hmac.js +1 -1
- package/dist/plugins/auth/llng.js +1 -1
- package/dist/plugins/auth/openidconnect.js +1 -1
- package/dist/plugins/auth/rateLimit.js +1 -1
- package/dist/plugins/auth/token.js +1 -1
- package/dist/plugins/auth/totp.js +1 -1
- package/dist/plugins/auth/trustedProxy.js +1 -1
- package/dist/plugins/bcl.js +1 -1
- package/dist/plugins/bcl.options.js +1 -0
- package/dist/plugins/configApi.js +1 -1
- package/dist/plugins/demo/helloworld.js +1 -1
- package/dist/plugins/ldap/accountLifecycle.js +1 -1
- package/dist/plugins/ldap/bulkImport.js +1 -1
- package/dist/plugins/ldap/departmentSync.js +1 -1
- package/dist/plugins/ldap/enterpriseRules.js +1 -1
- package/dist/plugins/ldap/externalUsersInGroups.js +1 -1
- package/dist/plugins/ldap/flatGeneric.js +1 -1
- package/dist/plugins/ldap/groups.js +1 -1
- package/dist/plugins/ldap/ldap.options.js +1 -0
- package/dist/plugins/ldap/onChange.js +1 -1
- package/dist/plugins/ldap/organizations.js +1 -1
- package/dist/plugins/ldap/passwordPolicy.js +1 -1
- package/dist/plugins/ldap/raw.js +1 -1
- package/dist/plugins/ldap/trash.js +1 -1
- package/dist/plugins/metrics.js +1 -1
- package/dist/plugins/metrics.options.js +1 -0
- package/dist/plugins/rabbitmq.js +1 -1
- package/dist/plugins/rabbitmq.options.js +1 -0
- package/dist/plugins/scim/baseResolver.js +1 -1
- package/dist/plugins/scim/bulk.js +1 -1
- package/dist/plugins/scim/discovery.js +1 -1
- package/dist/plugins/scim/errors.js +1 -1
- package/dist/plugins/scim/filter.js +1 -1
- package/dist/plugins/scim/groups.js +1 -1
- package/dist/plugins/scim/mapping.js +1 -1
- package/dist/plugins/scim/patch.js +1 -1
- package/dist/plugins/scim/scim.js +1 -1
- package/dist/plugins/scim/scim.options.js +1 -0
- package/dist/plugins/scim/users.js +1 -1
- package/dist/plugins/static.js +1 -1
- package/dist/plugins/static.options.js +1 -0
- package/dist/plugins/storage/file.js +1 -1
- package/dist/plugins/storage/ldap.js +1 -1
- package/dist/plugins/storage/postgres.js +1 -1
- package/dist/plugins/storage/valkey.js +1 -1
- package/dist/plugins/storage.js +1 -1
- package/dist/plugins/storage.options.js +1 -0
- package/dist/plugins/twake/appAccounts.options.js +1 -0
- package/dist/plugins/twake/appAccountsApi.js +1 -1
- package/dist/plugins/twake/appAccountsConsistency.js +1 -1
- package/dist/plugins/twake/calendar.js +1 -1
- package/dist/plugins/twake/calendar.options.js +1 -0
- package/dist/plugins/twake/calendarResources.js +1 -1
- package/dist/plugins/twake/cloudery.options.js +1 -0
- package/dist/plugins/twake/clouderyProvision.js +1 -1
- package/dist/plugins/twake/cozy.options.js +1 -0
- package/dist/plugins/twake/cozyProvision.js +1 -1
- package/dist/plugins/twake/drive.js +1 -1
- package/dist/plugins/twake/drive.options.js +1 -0
- package/dist/plugins/twake/groups.js +1 -1
- package/dist/plugins/twake/instances.js +1 -1
- package/dist/plugins/twake/james.js +1 -1
- package/dist/plugins/twake/james.options.js +1 -0
- package/dist/plugins/twake/lifecycleAttributes.js +1 -1
- package/dist/plugins/twake/lifecycleEvents.js +1 -1
- package/dist/plugins/twake/migrationProxy.js +1 -1
- package/dist/plugins/twake/migrationProxy.options.js +1 -0
- package/dist/plugins/twake/spaces.js +1 -1
- package/dist/plugins/twake/tombstone.js +1 -1
- package/dist/plugins/twake/twakeGroups.options.js +1 -0
- package/dist/plugins/twake/twakeInstances.options.js +1 -0
- package/dist/plugins/twake/twakeLifecycle.options.js +1 -0
- package/dist/plugins/twake/twakeSpaces.options.js +1 -0
- package/dist/plugins/twake/twakeTombstone.options.js +1 -0
- package/dist/plugins/weblogs.js +1 -1
- package/dist/src/abstract/ldapFlat.d.ts +41 -10
- package/dist/src/abstract/plugin.d.ts +31 -5
- package/dist/src/abstract/twakePlugin.d.ts +14 -4
- package/dist/src/bin/index.d.ts +35 -4
- package/dist/src/config/args.d.ts +2 -4
- package/dist/src/config/options.d.ts +104 -0
- package/dist/src/config/schema.d.ts +50 -1
- package/dist/src/hooks.d.ts +60 -22
- package/dist/src/lib/authz/base.d.ts +4 -51
- package/dist/src/lib/authz/composition.d.ts +2 -2
- package/dist/src/lib/entitySchema/validator.d.ts +63 -6
- package/dist/src/lib/errors.d.ts +57 -1
- package/dist/src/lib/expressFormatedResponses.d.ts +49 -7
- package/dist/src/lib/hookBus.d.ts +226 -0
- package/dist/src/lib/instanceProviders.d.ts +0 -8
- package/dist/src/lib/ldap/callerView.d.ts +45 -0
- package/dist/src/lib/ldap/pool.d.ts +108 -0
- package/dist/src/lib/ldap/schema.d.ts +157 -0
- package/dist/src/lib/ldap/searchCache.d.ts +112 -0
- package/dist/src/lib/ldapActions.d.ts +26 -256
- package/dist/src/lib/parseConfig.d.ts +31 -2
- package/dist/src/lib/route.d.ts +99 -0
- package/dist/src/lib/services/index.d.ts +56 -0
- package/dist/src/lib/utils.d.ts +100 -36
- package/dist/src/lib/version.d.ts +12 -0
- package/dist/src/plugins/auth/auth.options.d.ts +88 -0
- package/dist/src/plugins/auth/authzDynamic.d.ts +10 -1
- package/dist/src/plugins/auth/authzLinid1.d.ts +6 -0
- package/dist/src/plugins/auth/authzPerBranch.d.ts +9 -0
- package/dist/src/plugins/auth/authzPerRoute.d.ts +3 -0
- package/dist/src/plugins/auth/authzScope.d.ts +23 -14
- package/dist/src/plugins/auth/crowdsec.d.ts +5 -0
- package/dist/src/plugins/auth/fake.d.ts +3 -0
- package/dist/src/plugins/auth/hmac.d.ts +4 -0
- package/dist/src/plugins/auth/llng.d.ts +4 -0
- package/dist/src/plugins/auth/openidconnect.d.ts +7 -0
- package/dist/src/plugins/auth/rateLimit.d.ts +4 -0
- package/dist/src/plugins/auth/token.d.ts +3 -0
- package/dist/src/plugins/auth/totp.d.ts +5 -0
- package/dist/src/plugins/auth/trustedProxy.d.ts +4 -0
- package/dist/src/plugins/bcl.d.ts +3 -0
- package/dist/src/plugins/bcl.options.d.ts +8 -0
- package/dist/src/plugins/configApi.d.ts +24 -5
- package/dist/src/plugins/demo/helloworld.d.ts +8 -19
- package/dist/src/plugins/ldap/accountLifecycle.d.ts +17 -0
- package/dist/src/plugins/ldap/bulkImport.d.ts +6 -76
- package/dist/src/plugins/ldap/departmentSync.d.ts +1 -0
- package/dist/src/plugins/ldap/enterpriseRules.d.ts +8 -15
- package/dist/src/plugins/ldap/externalUsersInGroups.d.ts +4 -0
- package/dist/src/plugins/ldap/flatGeneric.d.ts +4 -0
- package/dist/src/plugins/ldap/groups.d.ts +27 -11
- package/dist/src/plugins/ldap/ldap.options.d.ts +75 -0
- package/dist/src/plugins/ldap/onChange.d.ts +10 -2
- package/dist/src/plugins/ldap/organizations.d.ts +16 -0
- package/dist/src/plugins/ldap/passwordPolicy.d.ts +35 -3
- package/dist/src/plugins/ldap/raw.d.ts +50 -19
- package/dist/src/plugins/ldap/trash.d.ts +6 -0
- package/dist/src/plugins/metrics.d.ts +3 -0
- package/dist/src/plugins/metrics.options.d.ts +8 -0
- package/dist/src/plugins/rabbitmq.d.ts +3 -0
- package/dist/src/plugins/rabbitmq.options.d.ts +8 -0
- package/dist/src/plugins/scim/baseResolver.d.ts +2 -1
- package/dist/src/plugins/scim/bulk.d.ts +6 -7
- package/dist/src/plugins/scim/discovery.d.ts +3 -0
- package/dist/src/plugins/scim/errors.d.ts +2 -1
- package/dist/src/plugins/scim/groups.d.ts +6 -4
- package/dist/src/plugins/scim/mapping.d.ts +16 -3
- package/dist/src/plugins/scim/scim.d.ts +37 -3
- package/dist/src/plugins/scim/scim.options.d.ts +35 -0
- package/dist/src/plugins/scim/types.d.ts +2 -0
- package/dist/src/plugins/scim/users.d.ts +6 -7
- package/dist/src/plugins/static.d.ts +9 -0
- package/dist/src/plugins/static.options.d.ts +13 -0
- package/dist/src/plugins/storage.d.ts +12 -1
- package/dist/src/plugins/storage.options.d.ts +16 -0
- package/dist/src/plugins/twake/appAccounts.options.d.ts +13 -0
- package/dist/src/plugins/twake/appAccountsApi.d.ts +18 -0
- package/dist/src/plugins/twake/appAccountsConsistency.d.ts +8 -0
- package/dist/src/plugins/twake/calendar.d.ts +25 -2
- package/dist/src/plugins/twake/calendar.options.d.ts +19 -0
- package/dist/src/plugins/twake/cloudery.options.d.ts +26 -0
- package/dist/src/plugins/twake/clouderyProvision.d.ts +18 -0
- package/dist/src/plugins/twake/cozy.options.d.ts +23 -0
- package/dist/src/plugins/twake/cozyProvision.d.ts +14 -0
- package/dist/src/plugins/twake/drive.d.ts +7 -0
- package/dist/src/plugins/twake/drive.options.d.ts +15 -0
- package/dist/src/plugins/twake/groups.d.ts +29 -1
- package/dist/src/plugins/twake/instances.d.ts +74 -10
- package/dist/src/plugins/twake/james.d.ts +17 -0
- package/dist/src/plugins/twake/james.options.d.ts +21 -0
- package/dist/src/plugins/twake/lifecycleAttributes.d.ts +13 -2
- package/dist/src/plugins/twake/lifecycleEvents.d.ts +12 -0
- package/dist/src/plugins/twake/migrationProxy.d.ts +11 -11
- package/dist/src/plugins/twake/migrationProxy.options.d.ts +16 -0
- package/dist/src/plugins/twake/spaces.d.ts +30 -0
- package/dist/src/plugins/twake/tombstone.d.ts +25 -16
- package/dist/src/plugins/twake/twakeGroups.options.d.ts +20 -0
- package/dist/src/plugins/twake/twakeInstances.options.d.ts +43 -0
- package/dist/src/plugins/twake/twakeLifecycle.options.d.ts +21 -0
- package/dist/src/plugins/twake/twakeSpaces.options.d.ts +19 -0
- package/dist/src/plugins/twake/twakeTombstone.options.d.ts +17 -0
- package/docs/README.md +17 -2
- package/docs/client-development/api/rest-api.md +13 -3
- package/docs/client-development/schemas/README.md +96 -32
- package/docs/development/contracts.md +109 -0
- package/docs/plugin-development/README.md +53 -95
- package/docs/plugin-development/dependencies.md +24 -8
- package/docs/plugin-development/hooks.md +143 -23
- package/docs/plugin-development/openapi.md +14 -1
- package/docs/plugin-development/options.md +136 -0
- package/docs/plugin-development/routes.md +152 -0
- package/docs/plugin-development/services.md +95 -0
- package/docs/plugin-development/testing.md +3 -3
- package/docs/usage/configuration.md +18 -11
- package/docs/usage/operations.md +28 -4
- package/docs/usage/plugins/integrations/instances.md +11 -3
- package/docs/usage/plugins/integrations/lifecycle-events.md +4 -1
- package/docs/usage/plugins/integrations/scim.md +20 -18
- package/docs/usage/plugins/integrations/tombstone.md +10 -6
- package/docs/usage/plugins/ldap/enterprise-rules.md +10 -1
- package/docs/usage/plugins/ldap/flat-generic.md +11 -0
- package/docs/usage/plugins/ldap/groups.md +4 -1
- package/docs/usage/plugins/ldap/password-policy.md +7 -0
- package/docs/usage/plugins/ldap/raw.md +17 -1
- package/docs/usage/upgrading.md +253 -0
- package/package.json +372 -286
- package/static/browser/ldap-browser/LdapBrowser.js +8 -6
- package/static/browser/ldap-browser/LdapBrowser.js.map +1 -1
- package/static/browser/ldap-browser/api/RawApiClient.js +2 -0
- package/static/browser/ldap-browser/api/RawApiClient.js.map +1 -1
- package/static/browser/ldap-browser/components/EntryTree.js +9 -5
- package/static/browser/ldap-browser/components/EntryTree.js.map +1 -1
- package/static/browser/ldap-browser/components/EntryView.js +2 -0
- package/static/browser/ldap-browser/components/EntryView.js.map +1 -1
- package/static/browser/ldap-browser/schema.js +3 -2
- package/static/browser/ldap-browser/schema.js.map +1 -1
- package/static/browser/ldap-browser.esm.js +27 -18
- package/static/browser/ldap-browser.esm.js.map +1 -1
- package/static/browser/ldap-browser.js +27 -18
- package/static/browser/ldap-browser.js.map +1 -1
- package/static/browser/ldap-browser.min.js +1 -1
- package/static/browser/ldap-browser.min.js.map +1 -1
- package/static/browser/ldap-group-editor/LdapGroupEditor.js +8 -6
- package/static/browser/ldap-group-editor/LdapGroupEditor.js.map +1 -1
- package/static/browser/ldap-group-editor/api/GroupApiClient.js +1 -0
- package/static/browser/ldap-group-editor/api/GroupApiClient.js.map +1 -1
- package/static/browser/ldap-group-editor/components/CreateGroupModal.js +5 -1
- package/static/browser/ldap-group-editor/components/CreateGroupModal.js.map +1 -1
- package/static/browser/ldap-group-editor/components/GroupPropertyEditor.js +6 -3
- package/static/browser/ldap-group-editor/components/GroupPropertyEditor.js.map +1 -1
- package/static/browser/ldap-group-editor/components/GroupTree.js +6 -3
- package/static/browser/ldap-group-editor/components/GroupTree.js.map +1 -1
- package/static/browser/ldap-group-editor/components/MoveGroupModal.js +6 -3
- package/static/browser/ldap-group-editor/components/MoveGroupModal.js.map +1 -1
- package/static/browser/ldap-group-editor.esm.js +32 -16
- package/static/browser/ldap-group-editor.esm.js.map +1 -1
- package/static/browser/ldap-group-editor.js +32 -16
- package/static/browser/ldap-group-editor.js.map +1 -1
- package/static/browser/ldap-group-editor.min.js +1 -1
- package/static/browser/ldap-group-editor.min.js.map +1 -1
- package/static/browser/ldap-resource-editor/api/ResourceApiClient.js +3 -0
- package/static/browser/ldap-resource-editor/api/ResourceApiClient.js.map +1 -1
- package/static/browser/ldap-resource-editor/cache/CacheManager.js +3 -1
- package/static/browser/ldap-resource-editor/cache/CacheManager.js.map +1 -1
- package/static/browser/ldap-tree-viewer/LdapTreeViewer.js +6 -1
- package/static/browser/ldap-tree-viewer/LdapTreeViewer.js.map +1 -1
- package/static/browser/ldap-tree-viewer/api/LdapApiClient.js +2 -0
- package/static/browser/ldap-tree-viewer/api/LdapApiClient.js.map +1 -1
- package/static/browser/ldap-tree-viewer/components/TreeNode.js +4 -0
- package/static/browser/ldap-tree-viewer/components/TreeNode.js.map +1 -1
- package/static/browser/ldap-tree-viewer/components/TreeRoot.js +3 -0
- package/static/browser/ldap-tree-viewer/components/TreeRoot.js.map +1 -1
- package/static/browser/ldap-tree-viewer/store/Store.js +3 -1
- package/static/browser/ldap-tree-viewer/store/Store.js.map +1 -1
- package/static/browser/ldap-tree-viewer.esm.js +18 -2
- package/static/browser/ldap-tree-viewer.esm.js.map +1 -1
- package/static/browser/ldap-tree-viewer.js +18 -2
- package/static/browser/ldap-tree-viewer.js.map +1 -1
- package/static/browser/ldap-tree-viewer.min.js +1 -1
- package/static/browser/ldap-tree-viewer.min.js.map +1 -1
- package/static/browser/ldap-unit-editor/LdapUnitEditor.js +7 -5
- package/static/browser/ldap-unit-editor/LdapUnitEditor.js.map +1 -1
- package/static/browser/ldap-unit-editor/api/UnitApiClient.js +1 -0
- package/static/browser/ldap-unit-editor/api/UnitApiClient.js.map +1 -1
- package/static/browser/ldap-unit-editor/components/MoveUnitModal.js +7 -4
- package/static/browser/ldap-unit-editor/components/MoveUnitModal.js.map +1 -1
- package/static/browser/ldap-unit-editor/components/UnitPropertyEditor.js +7 -4
- package/static/browser/ldap-unit-editor/components/UnitPropertyEditor.js.map +1 -1
- package/static/browser/ldap-unit-editor/components/UnitTree.js +6 -3
- package/static/browser/ldap-unit-editor/components/UnitTree.js.map +1 -1
- package/static/browser/ldap-unit-editor.esm.js +28 -16
- package/static/browser/ldap-unit-editor.esm.js.map +1 -1
- package/static/browser/ldap-unit-editor.js +28 -16
- package/static/browser/ldap-unit-editor.js.map +1 -1
- package/static/browser/ldap-unit-editor.min.js +1 -1
- package/static/browser/ldap-unit-editor.min.js.map +1 -1
- package/static/browser/ldap-user-editor/LdapUserEditor.js +9 -7
- package/static/browser/ldap-user-editor/LdapUserEditor.js.map +1 -1
- package/static/browser/ldap-user-editor/api/UserApiClient.js +2 -0
- package/static/browser/ldap-user-editor/api/UserApiClient.js.map +1 -1
- package/static/browser/ldap-user-editor/cache/CacheManager.js +3 -1
- package/static/browser/ldap-user-editor/cache/CacheManager.js.map +1 -1
- package/static/browser/ldap-user-editor/components/MoveUserModal.js +7 -4
- package/static/browser/ldap-user-editor/components/MoveUserModal.js.map +1 -1
- package/static/browser/ldap-user-editor/components/PointerField.js +6 -1
- package/static/browser/ldap-user-editor/components/PointerField.js.map +1 -1
- package/static/browser/ldap-user-editor/components/UserEditor.js +10 -5
- package/static/browser/ldap-user-editor/components/UserEditor.js.map +1 -1
- package/static/browser/ldap-user-editor/components/UserList.js +8 -4
- package/static/browser/ldap-user-editor/components/UserList.js.map +1 -1
- package/static/browser/ldap-user-editor/components/UserTree.js +7 -3
- package/static/browser/ldap-user-editor/components/UserTree.js.map +1 -1
- package/static/browser/ldap-user-editor.esm.js +55 -30
- package/static/browser/ldap-user-editor.esm.js.map +1 -1
- package/static/browser/ldap-user-editor.js +55 -30
- package/static/browser/ldap-user-editor.js.map +1 -1
- package/static/browser/ldap-user-editor.min.js +1 -1
- package/static/browser/ldap-user-editor.min.js.map +1 -1
- package/static/browser/shared/components/DisposableComponent.js +3 -5
- package/static/browser/shared/components/DisposableComponent.js.map +1 -1
- package/static/browser/shared/components/Modal.js +2 -1
- package/static/browser/shared/components/Modal.js.map +1 -1
- package/static/browser/shared/components/StatusMessage.js +3 -2
- package/static/browser/shared/components/StatusMessage.js.map +1 -1
- package/static/browser/shared/utils/form.js.map +1 -1
- package/static/browser/shared/utils/hmac.js +1 -0
- package/static/browser/shared/utils/hmac.js.map +1 -1
- package/static/browser/shared/utils/totp.js +1 -0
- package/static/browser/shared/utils/totp.js.map +1 -1
- package/static/browser/shared.esm.js +9 -8
- package/static/browser/shared.esm.js.map +1 -1
- package/static/browser/shared.js +9 -8
- package/static/browser/shared.js.map +1 -1
- package/static/browser/shared.min.js +1 -1
- package/static/browser/shared.min.js.map +1 -1
- package/static/schemas/ad/groups.json +1 -1
- package/static/schemas/ad/users.json +3 -3
- package/static/schemas/example/organizations.json +2 -2
- package/static/schemas/example/users.json +2 -2
- package/static/schemas/obm/users.json +2 -2
- package/static/schemas/standard/groups.json +1 -1
- package/static/schemas/standard/users.json +2 -2
- package/static/schemas/twake/groups.json +4 -4
- package/static/schemas/twake/teamMailboxes.json +3 -3
- package/static/schemas/twake/users.json +7 -7
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).LdapUnitEditor={})}(this,function(t){"use strict";class e{constructor(t,e,n){this.expandedNodes=new Set,this.selectedDn=null,this.rootDn=null,this.container=t,this.apiBaseUrl=e,this.onOrgSelect=n}async init(){this.container.innerHTML='\n <div class="unit-tree">\n <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;">\n <h3 style="margin: 0; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons">account_tree</span>\n Organizations\n </h3>\n <button id="create-unit-btn" style="background: var(--primary-color, #6200ee); color: white; border: none; border-radius: 4px; padding: 8px 12px; cursor: pointer; display: flex; align-items: center; gap: 4px; font-size: 14px;">\n <span class="material-icons" style="font-size: 18px;">add</span>\n Create\n </button>\n </div>\n <div id="tree-content">\n <div class="loading"><div class="spinner"></div></div>\n </div>\n </div>\n ';try{const t=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations/top`);if(!t.ok)throw new Error("Failed to load organizations");const e=await t.json();this.rootDn=e.dn,await this.renderTree();const n=this.container.querySelector("#create-unit-btn");n&&n.addEventListener("click",()=>this.handleCreateUnit())}catch(t){console.error("Failed to init tree:",t);const e=this.container.querySelector("#tree-content");e&&(e.innerHTML='<p style="color: #f44336;">Failed to load organizations</p>')}}async handleCreateUnit(){const t=this.selectedDn||this.rootDn;if(!t)return void alert("Please select a parent organization first");const e=prompt("Enter the name for the new organizational unit (ou):");if(e&&e.trim())try{const n=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ou:e.trim(),parentDn:t})});if(!n.ok){const t=await n.text();throw new Error(t||"Failed to create organizational unit")}alert(`Organizational unit "${e}" created successfully!`),this.expandedNodes.add(t),await this.renderTree()}catch(t){console.error("Failed to create unit:",t),alert(`Failed to create unit: ${t.message}`)}}async renderTree(){const t=this.container.querySelector("#tree-content");if(t&&this.rootDn)try{const e=await this.renderNode(this.rootDn,0);t.innerHTML=e,this.attachEventListeners()}catch(e){console.error("Failed to render tree:",e),t.innerHTML='<p style="color: #f44336;">Error rendering tree</p>'}}async renderNode(t,e){const n=this.expandedNodes.has(t),i=this.selectedDn===t,a=20*e,s=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`);if(!s.ok)throw new Error("Failed to load node");const o=await s.json();let r=t;o.ou?r=Array.isArray(o.ou)?o.ou[0]:o.ou:o.cn&&(r=Array.isArray(o.cn)?o.cn[0]:o.cn);let l=`\n <div class="tree-node ${i?"active":""}" style="padding-left: ${a}px; padding: 8px 8px 8px ${a}px; cursor: pointer; display: flex; align-items: center; gap: 4px;">\n <span class="material-icons tree-node-toggle" data-dn="${this.escapeHtml(t)}" style="font-size: 18px; cursor: pointer;">\n ${n?"expand_more":"chevron_right"}\n </span>\n <span class="material-icons" style="font-size: 18px;">business</span>\n <span class="tree-node-label" data-dn="${this.escapeHtml(t)}">${this.escapeHtml(r)}</span>\n </div>\n `;if(n)try{const n=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}/subnodes`);if(!n.ok)throw new Error("Failed to load subnodes");const i=(await n.json()).filter(t=>{const e=Array.isArray(t.objectClass)?t.objectClass:t.objectClass?[t.objectClass]:[];return e.includes("organizationalUnit")||e.includes("organization")});for(const t of i)l+=await this.renderNode(t.dn,e+1)}catch(e){console.error("Failed to load subnodes for",t,e)}return l}attachEventListeners(){this.container.querySelectorAll(".tree-node-toggle").forEach(t=>{t.addEventListener("click",async e=>{e.stopPropagation();const n=t.getAttribute("data-dn");n&&(this.expandedNodes.has(n)?this.expandedNodes.delete(n):this.expandedNodes.add(n),await this.renderTree())})}),this.container.querySelectorAll(".tree-node-label").forEach(t=>{t.addEventListener("click",e=>{e.stopPropagation();const n=t.getAttribute("data-dn");n&&(this.selectedDn=n,this.onOrgSelect(n),this.renderTree())})})}escapeHtml(t){if(null==t)return"";const e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'/]/g,t=>e[t])}}class n{constructor(t,e,n){this.modal=null,this.selectedOrgDn=null,this.expandedNodes=new Set,this.rootDn=null,this.api=t,this.currentOrgDn=e,this.onMove=n}static escapeHtml(t){if(null==t)return"";const e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'/]/g,t=>e[t])}async show(){this.modal=document.createElement("div"),this.modal.className="modal-overlay active",this.modal.innerHTML='\n <div class="modal-container" style="max-width: 600px;">\n <div class="modal-header">\n <h3 style="margin: 0; display: flex; align-items: center; gap: 0.5rem;">\n <span class="material-icons">folder_open</span>\n Move Unit to Organization\n </h3>\n <button class="modal-close" id="modal-close-btn">\n <span class="material-icons">close</span>\n </button>\n </div>\n <div class="modal-body">\n <div id="move-modal-alert"></div>\n <div style="margin-bottom: 1rem; color: #666; font-size: 0.9rem;">\n Select the target organization where you want to move this unit.\n </div>\n <div id="organization-tree-container" style="max-height: 400px; overflow-y: auto; border: 1px solid #ddd; border-radius: 4px; padding: 0.5rem;">\n <div class="loading">\n <div class="spinner"></div>\n <p style="margin-top: 1rem">Loading organizations...</p>\n </div>\n </div>\n </div>\n <div class="modal-footer">\n <button type="button" class="btn btn-secondary" id="modal-cancel-btn">\n Cancel\n </button>\n <button type="button" class="btn btn-primary" id="modal-move-btn" disabled>\n <span class="material-icons">drive_file_move</span>\n Move Unit\n </button>\n </div>\n </div>\n ',document.body.appendChild(this.modal),this.attachHandlers(),await this.loadOrganizationTree()}attachHandlers(){if(!this.modal)return;const t=this.modal.querySelector("#modal-close-btn");t?.addEventListener("click",()=>this.close());const e=this.modal.querySelector("#modal-cancel-btn");e?.addEventListener("click",()=>this.close());const n=this.modal.querySelector("#modal-move-btn");n?.addEventListener("click",()=>this.handleMove()),this.modal.addEventListener("click",t=>{t.target===this.modal&&this.close()});const i=t=>{"Escape"===t.key&&(this.close(),document.removeEventListener("keydown",i))};document.addEventListener("keydown",i)}async loadOrganizationTree(){const t=this.modal?.querySelector("#organization-tree-container");if(t)try{const t=await this.api.getOrganizations();this.rootDn=t.dn,this.expandedNodes.add(this.rootDn),await this.renderTree()}catch(e){t.innerHTML=`\n <div class="alert alert-error">\n <span class="material-icons">error</span>\n <div>Failed to load organizations: ${n.escapeHtml(e.message)}</div>\n </div>\n `}}async renderTree(){const t=this.modal?.querySelector("#organization-tree-container");if(t&&this.rootDn)try{const e=await this.renderNode(this.rootDn,0);t.innerHTML=e,this.attachTreeHandlers()}catch(e){t.innerHTML=`\n <div class="alert alert-error">\n <span class="material-icons">error</span>\n <div>Error rendering tree: ${n.escapeHtml(e.message)}</div>\n </div>\n `}}async renderNode(t,e){const i=this.expandedNodes.has(t),a=t===this.currentOrgDn,s=t===this.selectedOrgDn,o=20*e,r=await this.api.getUnit(t),l=Array.isArray(r.ou)?r.ou[0]:r.ou,d=(r.twakeDepartmentPath?Array.isArray(r.twakeDepartmentPath)?r.twakeDepartmentPath[0]:r.twakeDepartmentPath:void 0)||l||t;let c=`\n <div\n class="org-node ${a?"org-current":""} ${s?"org-selected":""}"\n data-org-dn="${n.escapeHtml(t)}"\n style="\n padding: 0.5rem;\n padding-left: ${o+8}px;\n cursor: ${a?"not-allowed":"pointer"};\n background: ${a?"#f5f5f5":s?"#e3f2fd":"white"};\n opacity: ${a?"0.6":"1"};\n display: flex;\n align-items: center;\n gap: 0.5rem;\n border-left: 2px solid ${s?"#2196f3":"transparent"};\n "\n >\n <span class="material-icons tree-toggle" data-dn="${n.escapeHtml(t)}" style="cursor: pointer; font-size: 1.2rem;">\n ${i?"expand_more":"chevron_right"}\n </span>\n <span class="material-icons" style="font-size: 1.2rem; color: ${a?"#999":"#2196f3"};">\n ${a?"business":"folder"}\n </span>\n <span style="flex: 1; font-weight: ${s?"600":"500"};">\n ${n.escapeHtml(d)}\n ${a?'<span style="font-size: 0.85rem; color: #666; margin-left: 0.5rem;">(current)</span>':""}\n </span>\n ${s?'<span class="material-icons" style="color: #2196f3;">check_circle</span>':""}\n </div>\n `;if(i)try{const n=await fetch(`${this.api.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}/subnodes`);if(!n.ok)throw new Error("Failed to load subnodes");const i=(await n.json()).filter(t=>{const e=Array.isArray(t.objectClass)?t.objectClass:t.objectClass?[t.objectClass]:[];return e.includes("organizationalUnit")||e.includes("organization")});for(const t of i)c+=await this.renderNode(t.dn,e+1)}catch(e){console.error("Failed to load subnodes for",t,e)}return c}attachTreeHandlers(){const t=this.modal?.querySelectorAll(".tree-toggle");t?.forEach(t=>{t.addEventListener("click",async e=>{e.stopPropagation();const n=t.getAttribute("data-dn");n&&(this.expandedNodes.has(n)?this.expandedNodes.delete(n):this.expandedNodes.add(n),await this.renderTree())})});const e=this.modal?.querySelectorAll(".org-node");e?.forEach(t=>{const e=t.getAttribute("data-org-dn");e&&e!==this.currentOrgDn&&t.addEventListener("click",()=>{this.selectOrganization(e)})})}async selectOrganization(t){this.selectedOrgDn=t,await this.renderTree();const e=this.modal?.querySelector("#modal-move-btn");e&&(e.disabled=!1)}async handleMove(){if(!this.selectedOrgDn)return;const t=this.modal?.querySelector("#modal-move-btn"),e=this.modal?.querySelector("#move-modal-alert");t&&(t.disabled=!0,t.innerHTML='\n <span class="spinner" style="width: 1rem; height: 1rem; border-width: 2px;"></span>\n Moving...\n ');try{this.onMove(this.selectedOrgDn),this.close()}catch(i){e&&(e.innerHTML=`\n <div class="alert alert-error" style="margin-bottom: 1rem;">\n <span class="material-icons">error</span>\n <div>Move failed: ${n.escapeHtml(i.message)}</div>\n </div>\n `),t&&(t.disabled=!1,t.innerHTML='\n <span class="material-icons">drive_file_move</span>\n Move Unit\n ')}}close(){this.modal&&(this.modal.remove(),this.modal=null)}}const i=t=>(Array.isArray(t)?t:[t]).filter(t=>!(t=>null==t||""===t)(t));class a{constructor(t,e,n){this.unit=null,this.schema=null,this.saveCallback=null,this.hasSubnodes=!1,this.container=t,this.api=e,this.unitDn=n}async init(){await this.loadUnit(),await this.loadSchema(),await this.checkSubnodes(),this.render(),this.attachEventListeners()}async loadUnit(){this.unit=await this.api.getUnit(this.unitDn)}async checkSubnodes(){try{const t=await fetch(`${this.api.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(this.unitDn)}/subnodes`);if(t.ok){const e=await t.json();this.hasSubnodes=e.some(t=>{const e=Array.isArray(t.objectClass)?t.objectClass:t.objectClass?[t.objectClass]:[];return e.includes("organizationalUnit")||e.includes("organization")})}}catch(t){console.error("Failed to check subnodes:",t),this.hasSubnodes=!1}}async loadSchema(){console.warn("[UnitPropertyEditor] Loading schema...");const t=await this.api.getConfig(),e=t.features?.ldapOrganizations;if(console.warn("[UnitPropertyEditor] Organizations config:",e),e?.schemaUrl){console.warn("[UnitPropertyEditor] Loading schema from URL:",e.schemaUrl);const t=await fetch(e.schemaUrl);this.schema=await t.json(),console.warn("[UnitPropertyEditor] Schema loaded from URL:",this.schema)}else if(e?.schema)console.warn("[UnitPropertyEditor] Using schema from config"),this.schema=e.schema;else{console.warn("[UnitPropertyEditor] Falling back to flatResources");const e=t.features?.ldapFlatGeneric?.flatResources?.find(t=>"organizations"===t.pluralName||"organizations"===t.name);if(e?.schemaUrl){const t=await fetch(e.schemaUrl);this.schema=await t.json()}else e?.schema?this.schema=e.schema:(console.warn("[UnitPropertyEditor] No schema found, using default"),this.schema={entity:{objectClass:["organizationalUnit"]},attributes:{ou:{type:"string",required:!0},description:{type:"string"}}})}}onSave(t){this.saveCallback=t}render(){this.unit&&(this.container.innerHTML=`\n <div class="unit-property-editor">\n <h3 style="margin: 0 0 16px 0; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons">business</span>\n Edit Organizational Unit\n </h3>\n <form id="unit-edit-form">\n ${this.renderFields()}\n <div class="form-actions" style="margin-top: 24px; padding-top: 24px; border-top: 1px solid #e0e0e0; display: flex; gap: 12px; justify-content: space-between;">\n <button type="button" id="move-unit-btn" class="btn btn-secondary" style="background: #757575; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons" style="font-size: 18px;">drive_file_move</span>\n Move\n </button>\n <div style="display: flex; gap: 12px;">\n <button type="button" id="delete-unit-btn" class="btn btn-danger" ${this.hasSubnodes?'disabled title="Cannot delete: organization has sub-organizations"':""} style="background: ${this.hasSubnodes?"#ccc":"#d32f2f"}; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: ${this.hasSubnodes?"not-allowed":"pointer"}; display: flex; align-items: center; gap: 8px; opacity: ${this.hasSubnodes?"0.5":"1"};">\n <span class="material-icons" style="font-size: 18px;">delete</span>\n Delete Unit\n </button>\n <button type="submit" class="btn btn-primary" style="background: var(--primary-color, #6200ee); color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons" style="font-size: 18px;">save</span>\n Save Changes\n </button>\n </div>\n </div>\n </form>\n </div>\n `)}renderFields(){if(!this.unit||!this.schema)return"<div>Loading...</div>";let t="";const e=[],n=[];for(const[t,i]of Object.entries(this.schema.attributes))i.fixed||"objectClass"===t||("ou"===t||"description"===t?e.push([t,i]):n.push([t,i]));if(e.length>0){t+='<div class="field-group" style="margin-bottom: 20px; padding: 16px; background: #f9f9f9; border-radius: 4px;">',t+='<div class="field-group-title" style="font-weight: 500; color: var(--primary-color, #6200ee); margin-bottom: 12px; font-size: 14px; text-transform: uppercase;">Basic Information</div>';for(const[n,i]of e)t+=this.renderField(n,i);t+="</div>"}if(n.length>0){t+='<div class="field-group" style="margin-bottom: 20px; padding: 16px; background: #f9f9f9; border-radius: 4px;">',t+='<div class="field-group-title" style="font-weight: 500; color: var(--primary-color, #6200ee); margin-bottom: 12px; font-size: 14px; text-transform: uppercase;">Additional Properties</div>';for(const[e,i]of n)t+=this.renderField(e,i);t+="</div>"}return t}renderField(t,e){const n=this.unit?.[t],a=this.getFieldLabel(t),s=e.required?"required":"";if("array"===e.type){const e=(t=>i(t).map(String))(n).join("\n");return`\n <div class="form-group" style="margin-bottom: 16px;">\n <label style="display: block; margin-bottom: 8px; font-weight: 500;">${this.escapeHtml(a)}</label>\n <textarea name="${this.escapeHtml(t)}" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; min-height: 80px; font-family: 'Roboto', sans-serif;" ${s}>${this.escapeHtml(e)}</textarea>\n <div style="font-size: 12px; color: #666; margin-top: 4px;">Enter one value per line</div>\n </div>\n `}return"number"===e.type||"integer"===e.type?`\n <div class="form-group" style="margin-bottom: 16px;">\n <label style="display: block; margin-bottom: 8px; font-weight: 500;">${this.escapeHtml(a)}</label>\n <input type="number" name="${this.escapeHtml(t)}" value="${n||""}" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px;" ${s} />\n </div>\n `:`\n <div class="form-group" style="margin-bottom: 16px;">\n <label style="display: block; margin-bottom: 8px; font-weight: 500;">${this.escapeHtml(a)}</label>\n <input type="text" name="${this.escapeHtml(t)}" value="${this.escapeHtml(String(n||""))}" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px;" ${s} />\n </div>\n `}getFieldLabel(t){return{ou:"Organization Unit",description:"Description"}[t]||t.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/^./,t=>t.toUpperCase())}attachEventListeners(){const t=document.getElementById("unit-edit-form");t&&t.addEventListener("submit",t=>this.handleSubmit(t));const e=document.getElementById("delete-unit-btn");e&&e.addEventListener("click",()=>this.handleDelete());const n=document.getElementById("move-unit-btn");n&&n.addEventListener("click",()=>this.handleMove())}async handleSubmit(t){t.preventDefault();const e=t.target,n=new FormData(e),a={};for(const[t,e]of n.entries())"array"===this.schema?.attributes[t]?.type?a[t]=e.split("\n").map(t=>t.trim()).filter(t=>t):"number"===this.schema?.attributes[t]?.type||"integer"===this.schema?.attributes[t]?.type?a[t]=Number(e):a[t]=e;try{const t=function(t,e){const n={};for(const[a,s]of Object.entries(e)){if("dn"===a)continue;const e=i(s),o=e.map(String).sort(),r=i(t?.[a]).map(String).sort();o.length===r.length&&o.every((t,e)=>t===r[e])||(n[a]=Array.isArray(s)?e:e.length?s:[])}return n}(this.unit,a);Object.keys(t).length&&await this.api.updateUnit(this.unitDn,t),alert("Organizational unit updated successfully!"),this.saveCallback&&this.saveCallback()}catch(t){console.error("Failed to update unit:",t),alert(`Failed to update unit: ${t.message}`)}}async handleMove(){if(!this.unit)return;const t=this.unitDn.split(",").slice(1).join(","),e=new n(this.api,t,async t=>{try{const e=await this.api.moveUnit(this.unitDn,t);alert("Unit moved successfully!"),e.newDn&&(this.unitDn=e.newDn,await this.loadUnit(),this.render(),this.attachEventListeners()),this.saveCallback&&this.saveCallback()}catch(t){console.error("Failed to move unit:",t),alert(`Failed to move unit: ${t.message}`)}});await e.show()}async handleDelete(){if(this.hasSubnodes)alert("Cannot delete this organizational unit because it contains sub-organizations. Please delete all sub-organizations first.");else if(confirm(`Are you sure you want to delete this organizational unit?\n\n${this.unitDn}\n\nThis action cannot be undone.`))try{await this.api.deleteEntry(this.unitDn),alert("Organizational unit deleted successfully!"),this.container.innerHTML='\n <div class="empty-state">\n <span class="material-icons">business</span>\n <p>Unit deleted. Select another unit to edit.</p>\n </div>\n '}catch(t){console.error("Failed to delete unit:",t),alert(`Failed to delete unit: ${t.message}`)}}escapeHtml(t){if(null==t)return"";const e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'/]/g,t=>e[t])}}class s{constructor(t){this.baseUrl=t}async getConfig(){const t=await fetch(`${this.baseUrl}/api/v1/config`);if(!t.ok)throw new Error(`Failed to load config: ${t.statusText}`);return t.json()}async getOrganizations(){const t=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/top`);if(!t.ok)throw new Error(`Failed to load organizations: ${t.statusText}`);return t.json()}async getUnit(t){const e=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`);if(!e.ok)throw new Error(`Failed to load unit: ${e.statusText}`);return e.json()}async updateUnit(t,e){const n=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({replace:e})});if(!n.ok){const t=await n.text();throw new Error(`Failed to update unit: ${t}`)}}async createEntry(t,e){const n=t.match(/^ou=([^,]+),(.+)$/);if(!n)throw new Error(`Invalid DN format: ${t}`);const[,i,a]=n,s=await fetch(`${this.baseUrl}/api/v1/ldap/organizations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ou:i,parentDn:a,...e})});if(!s.ok){const t=await s.text();throw new Error(`Failed to create entry: ${t}`)}}async deleteEntry(t){const e=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(`Failed to delete entry: ${t}`)}}async moveUnit(t,e){const n=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetOrgDn:e})});if(!n.ok){const t=await n.text();throw new Error(t||"Failed to move unit")}return n.json()}}t.LdapUnitEditor=class{constructor(t){this.container=null,this.unitTree=null,this.unitEditor=null,this.currentUnitDn=null,this.config=null,this.options=t,this.api=new s(t.apiBaseUrl||"")}async init(){const t=document.getElementById(this.options.containerId);if(!t)throw new Error(`Container element with id '${this.options.containerId}' not found`);this.container=t,this.config=await this.api.getConfig(),this.render(),await this.initializeComponents()}render(){this.container&&(this.container.innerHTML='\n <div class="ldap-unit-editor" style="display: flex; gap: 24px; height: 100%;">\n <div id="unit-tree-container" style="flex: 0 0 300px; overflow-y: auto; border-right: 1px solid #e0e0e0; padding-right: 24px;"></div>\n <div id="unit-editor-container" style="flex: 1; overflow-y: auto;">\n <div class="empty-state" style="display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #999;">\n <span class="material-icons" style="font-size: 64px; margin-bottom: 16px;">business</span>\n <p style="font-size: 16px; margin: 0;">Select an organizational unit to edit</p>\n </div>\n </div>\n </div>\n ')}async initializeComponents(){const t=document.getElementById("unit-tree-container");t&&(this.unitTree=new e(t,this.options.apiBaseUrl||"",t=>this.onUnitSelected(t)),await this.unitTree.init())}async onUnitSelected(t){this.currentUnitDn=t;const e=document.getElementById("unit-editor-container");if(e)try{this.unitEditor=new a(e,this.api,t),await this.unitEditor.init(),this.unitEditor.onSave(()=>{this.options.onUnitSaved&&this.options.onUnitSaved(t)})}catch(t){console.error("Failed to load unit editor:",t),e.innerHTML=`\n <div class="error-state" style="padding: 24px; color: #f44336;">\n <h3>Error loading unit</h3>\n <p>${t.message}</p>\n </div>\n `,this.options.onError&&this.options.onError(t)}}getCurrentUnitDn(){return this.currentUnitDn}async refresh(){if(this.unitTree&&await this.unitTree.init(),this.currentUnitDn&&this.unitEditor){const t=document.getElementById("unit-editor-container");t&&(this.unitEditor=new a(t,this.api,this.currentUnitDn),await this.unitEditor.init())}}getApi(){return this.api}getConfig(){return this.config}getCurrentOrgDn(){return this.currentUnitDn}getCurrentUserDn(){return this.currentUnitDn}async createUser(t){return this.api.createEntry(t.dn,t)}async deleteUser(t){return this.api.deleteEntry(t)}}});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).LdapUnitEditor={})}(this,function(t){"use strict";class e{container;apiBaseUrl;onOrgSelect;expandedNodes=new Set;selectedDn=null;rootDn=null;constructor(t,e,n){this.container=t,this.apiBaseUrl=e,this.onOrgSelect=n}async init(){this.container.innerHTML='\n <div class="unit-tree">\n <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;">\n <h3 style="margin: 0; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons">account_tree</span>\n Organizations\n </h3>\n <button id="create-unit-btn" style="background: var(--primary-color, #6200ee); color: white; border: none; border-radius: 4px; padding: 8px 12px; cursor: pointer; display: flex; align-items: center; gap: 4px; font-size: 14px;">\n <span class="material-icons" style="font-size: 18px;">add</span>\n Create\n </button>\n </div>\n <div id="tree-content">\n <div class="loading"><div class="spinner"></div></div>\n </div>\n </div>\n ';try{const t=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations/top`);if(!t.ok)throw new Error("Failed to load organizations");const e=await t.json();this.rootDn=e.dn,await this.renderTree();const n=this.container.querySelector("#create-unit-btn");n&&n.addEventListener("click",()=>this.handleCreateUnit())}catch(t){console.error("Failed to init tree:",t);const e=this.container.querySelector("#tree-content");e&&(e.innerHTML='<p style="color: #f44336;">Failed to load organizations</p>')}}async handleCreateUnit(){const t=this.selectedDn||this.rootDn;if(!t)return void alert("Please select a parent organization first");const e=prompt("Enter the name for the new organizational unit (ou):");if(e&&e.trim())try{const n=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ou:e.trim(),parentDn:t})});if(!n.ok){const t=await n.text();throw new Error(t||"Failed to create organizational unit")}alert(`Organizational unit "${e}" created successfully!`),this.expandedNodes.add(t),await this.renderTree()}catch(t){console.error("Failed to create unit:",t),alert(`Failed to create unit: ${t.message}`)}}async renderTree(){const t=this.container.querySelector("#tree-content");if(t&&this.rootDn)try{const e=await this.renderNode(this.rootDn,0);t.innerHTML=e,this.attachEventListeners()}catch(e){console.error("Failed to render tree:",e),t.innerHTML='<p style="color: #f44336;">Error rendering tree</p>'}}async renderNode(t,e){const n=this.expandedNodes.has(t),i=this.selectedDn===t,a=20*e,s=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`);if(!s.ok)throw new Error("Failed to load node");const o=await s.json();let r=t;o.ou?r=Array.isArray(o.ou)?o.ou[0]:o.ou:o.cn&&(r=Array.isArray(o.cn)?o.cn[0]:o.cn);let l=`\n <div class="tree-node ${i?"active":""}" style="padding-left: ${a}px; padding: 8px 8px 8px ${a}px; cursor: pointer; display: flex; align-items: center; gap: 4px;">\n <span class="material-icons tree-node-toggle" data-dn="${this.escapeHtml(t)}" style="font-size: 18px; cursor: pointer;">\n ${n?"expand_more":"chevron_right"}\n </span>\n <span class="material-icons" style="font-size: 18px;">business</span>\n <span class="tree-node-label" data-dn="${this.escapeHtml(t)}">${this.escapeHtml(r)}</span>\n </div>\n `;if(n)try{const n=await fetch(`${this.apiBaseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}/subnodes`);if(!n.ok)throw new Error("Failed to load subnodes");const i=(await n.json()).filter(t=>{const e=Array.isArray(t.objectClass)?t.objectClass:t.objectClass?[t.objectClass]:[];return e.includes("organizationalUnit")||e.includes("organization")});for(const t of i)l+=await this.renderNode(t.dn,e+1)}catch(e){console.error("Failed to load subnodes for",t,e)}return l}attachEventListeners(){this.container.querySelectorAll(".tree-node-toggle").forEach(t=>{t.addEventListener("click",async e=>{e.stopPropagation();const n=t.getAttribute("data-dn");n&&(this.expandedNodes.has(n)?this.expandedNodes.delete(n):this.expandedNodes.add(n),await this.renderTree())})}),this.container.querySelectorAll(".tree-node-label").forEach(t=>{t.addEventListener("click",e=>{e.stopPropagation();const n=t.getAttribute("data-dn");n&&(this.selectedDn=n,this.onOrgSelect(n),this.renderTree())})})}escapeHtml(t){if(null==t)return"";const e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'/]/g,t=>e[t])}}class n{modal=null;api;currentOrgDn;selectedOrgDn=null;onMove;expandedNodes=new Set;rootDn=null;constructor(t,e,n){this.api=t,this.currentOrgDn=e,this.onMove=n}static escapeHtml(t){if(null==t)return"";const e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'/]/g,t=>e[t])}async show(){this.modal=document.createElement("div"),this.modal.className="modal-overlay active",this.modal.innerHTML='\n <div class="modal-container" style="max-width: 600px;">\n <div class="modal-header">\n <h3 style="margin: 0; display: flex; align-items: center; gap: 0.5rem;">\n <span class="material-icons">folder_open</span>\n Move Unit to Organization\n </h3>\n <button class="modal-close" id="modal-close-btn">\n <span class="material-icons">close</span>\n </button>\n </div>\n <div class="modal-body">\n <div id="move-modal-alert"></div>\n <div style="margin-bottom: 1rem; color: #666; font-size: 0.9rem;">\n Select the target organization where you want to move this unit.\n </div>\n <div id="organization-tree-container" style="max-height: 400px; overflow-y: auto; border: 1px solid #ddd; border-radius: 4px; padding: 0.5rem;">\n <div class="loading">\n <div class="spinner"></div>\n <p style="margin-top: 1rem">Loading organizations...</p>\n </div>\n </div>\n </div>\n <div class="modal-footer">\n <button type="button" class="btn btn-secondary" id="modal-cancel-btn">\n Cancel\n </button>\n <button type="button" class="btn btn-primary" id="modal-move-btn" disabled>\n <span class="material-icons">drive_file_move</span>\n Move Unit\n </button>\n </div>\n </div>\n ',document.body.appendChild(this.modal),this.attachHandlers(),await this.loadOrganizationTree()}attachHandlers(){if(!this.modal)return;const t=this.modal.querySelector("#modal-close-btn");t?.addEventListener("click",()=>this.close());const e=this.modal.querySelector("#modal-cancel-btn");e?.addEventListener("click",()=>this.close());const n=this.modal.querySelector("#modal-move-btn");n?.addEventListener("click",()=>this.handleMove()),this.modal.addEventListener("click",t=>{t.target===this.modal&&this.close()});const i=t=>{"Escape"===t.key&&(this.close(),document.removeEventListener("keydown",i))};document.addEventListener("keydown",i)}async loadOrganizationTree(){const t=this.modal?.querySelector("#organization-tree-container");if(t)try{const t=await this.api.getOrganizations();this.rootDn=t.dn,this.expandedNodes.add(this.rootDn),await this.renderTree()}catch(e){t.innerHTML=`\n <div class="alert alert-error">\n <span class="material-icons">error</span>\n <div>Failed to load organizations: ${n.escapeHtml(e.message)}</div>\n </div>\n `}}async renderTree(){const t=this.modal?.querySelector("#organization-tree-container");if(t&&this.rootDn)try{const e=await this.renderNode(this.rootDn,0);t.innerHTML=e,this.attachTreeHandlers()}catch(e){t.innerHTML=`\n <div class="alert alert-error">\n <span class="material-icons">error</span>\n <div>Error rendering tree: ${n.escapeHtml(e.message)}</div>\n </div>\n `}}async renderNode(t,e){const i=this.expandedNodes.has(t),a=t===this.currentOrgDn,s=t===this.selectedOrgDn,o=20*e,r=await this.api.getUnit(t),l=Array.isArray(r.ou)?r.ou[0]:r.ou,d=(r.twakeDepartmentPath?Array.isArray(r.twakeDepartmentPath)?r.twakeDepartmentPath[0]:r.twakeDepartmentPath:void 0)||l||t;let c=`\n <div\n class="org-node ${a?"org-current":""} ${s?"org-selected":""}"\n data-org-dn="${n.escapeHtml(t)}"\n style="\n padding: 0.5rem;\n padding-left: ${o+8}px;\n cursor: ${a?"not-allowed":"pointer"};\n background: ${a?"#f5f5f5":s?"#e3f2fd":"white"};\n opacity: ${a?"0.6":"1"};\n display: flex;\n align-items: center;\n gap: 0.5rem;\n border-left: 2px solid ${s?"#2196f3":"transparent"};\n "\n >\n <span class="material-icons tree-toggle" data-dn="${n.escapeHtml(t)}" style="cursor: pointer; font-size: 1.2rem;">\n ${i?"expand_more":"chevron_right"}\n </span>\n <span class="material-icons" style="font-size: 1.2rem; color: ${a?"#999":"#2196f3"};">\n ${a?"business":"folder"}\n </span>\n <span style="flex: 1; font-weight: ${s?"600":"500"};">\n ${n.escapeHtml(d)}\n ${a?'<span style="font-size: 0.85rem; color: #666; margin-left: 0.5rem;">(current)</span>':""}\n </span>\n ${s?'<span class="material-icons" style="color: #2196f3;">check_circle</span>':""}\n </div>\n `;if(i)try{const n=await fetch(`${this.api.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}/subnodes`);if(!n.ok)throw new Error("Failed to load subnodes");const i=(await n.json()).filter(t=>{const e=Array.isArray(t.objectClass)?t.objectClass:t.objectClass?[t.objectClass]:[];return e.includes("organizationalUnit")||e.includes("organization")});for(const t of i)c+=await this.renderNode(t.dn,e+1)}catch(e){console.error("Failed to load subnodes for",t,e)}return c}attachTreeHandlers(){const t=this.modal?.querySelectorAll(".tree-toggle");t?.forEach(t=>{t.addEventListener("click",async e=>{e.stopPropagation();const n=t.getAttribute("data-dn");n&&(this.expandedNodes.has(n)?this.expandedNodes.delete(n):this.expandedNodes.add(n),await this.renderTree())})});const e=this.modal?.querySelectorAll(".org-node");e?.forEach(t=>{const e=t.getAttribute("data-org-dn");e&&e!==this.currentOrgDn&&t.addEventListener("click",()=>{this.selectOrganization(e)})})}async selectOrganization(t){this.selectedOrgDn=t,await this.renderTree();const e=this.modal?.querySelector("#modal-move-btn");e&&(e.disabled=!1)}async handleMove(){if(!this.selectedOrgDn)return;const t=this.modal?.querySelector("#modal-move-btn"),e=this.modal?.querySelector("#move-modal-alert");t&&(t.disabled=!0,t.innerHTML='\n <span class="spinner" style="width: 1rem; height: 1rem; border-width: 2px;"></span>\n Moving...\n ');try{this.onMove(this.selectedOrgDn),this.close()}catch(i){e&&(e.innerHTML=`\n <div class="alert alert-error" style="margin-bottom: 1rem;">\n <span class="material-icons">error</span>\n <div>Move failed: ${n.escapeHtml(i.message)}</div>\n </div>\n `),t&&(t.disabled=!1,t.innerHTML='\n <span class="material-icons">drive_file_move</span>\n Move Unit\n ')}}close(){this.modal&&(this.modal.remove(),this.modal=null)}}const i=t=>(Array.isArray(t)?t:[t]).filter(t=>!(t=>null==t||""===t)(t));class a{container;api;unitDn;unit=null;schema=null;saveCallback=null;hasSubnodes=!1;constructor(t,e,n){this.container=t,this.api=e,this.unitDn=n}async init(){await this.loadUnit(),await this.loadSchema(),await this.checkSubnodes(),this.render(),this.attachEventListeners()}async loadUnit(){this.unit=await this.api.getUnit(this.unitDn)}async checkSubnodes(){try{const t=await fetch(`${this.api.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(this.unitDn)}/subnodes`);if(t.ok){const e=await t.json();this.hasSubnodes=e.some(t=>{const e=Array.isArray(t.objectClass)?t.objectClass:t.objectClass?[t.objectClass]:[];return e.includes("organizationalUnit")||e.includes("organization")})}}catch(t){console.error("Failed to check subnodes:",t),this.hasSubnodes=!1}}async loadSchema(){console.warn("[UnitPropertyEditor] Loading schema...");const t=await this.api.getConfig(),e=t.features?.ldapOrganizations;if(console.warn("[UnitPropertyEditor] Organizations config:",e),e?.schemaUrl){console.warn("[UnitPropertyEditor] Loading schema from URL:",e.schemaUrl);const t=await fetch(e.schemaUrl);this.schema=await t.json(),console.warn("[UnitPropertyEditor] Schema loaded from URL:",this.schema)}else if(e?.schema)console.warn("[UnitPropertyEditor] Using schema from config"),this.schema=e.schema;else{console.warn("[UnitPropertyEditor] Falling back to flatResources");const e=t.features?.ldapFlatGeneric?.flatResources?.find(t=>"organizations"===t.pluralName||"organizations"===t.name);if(e?.schemaUrl){const t=await fetch(e.schemaUrl);this.schema=await t.json()}else e?.schema?this.schema=e.schema:(console.warn("[UnitPropertyEditor] No schema found, using default"),this.schema={entity:{objectClass:["organizationalUnit"]},attributes:{ou:{type:"string",required:!0},description:{type:"string"}}})}}onSave(t){this.saveCallback=t}render(){this.unit&&(this.container.innerHTML=`\n <div class="unit-property-editor">\n <h3 style="margin: 0 0 16px 0; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons">business</span>\n Edit Organizational Unit\n </h3>\n <form id="unit-edit-form">\n ${this.renderFields()}\n <div class="form-actions" style="margin-top: 24px; padding-top: 24px; border-top: 1px solid #e0e0e0; display: flex; gap: 12px; justify-content: space-between;">\n <button type="button" id="move-unit-btn" class="btn btn-secondary" style="background: #757575; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons" style="font-size: 18px;">drive_file_move</span>\n Move\n </button>\n <div style="display: flex; gap: 12px;">\n <button type="button" id="delete-unit-btn" class="btn btn-danger" ${this.hasSubnodes?'disabled title="Cannot delete: organization has sub-organizations"':""} style="background: ${this.hasSubnodes?"#ccc":"#d32f2f"}; color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: ${this.hasSubnodes?"not-allowed":"pointer"}; display: flex; align-items: center; gap: 8px; opacity: ${this.hasSubnodes?"0.5":"1"};">\n <span class="material-icons" style="font-size: 18px;">delete</span>\n Delete Unit\n </button>\n <button type="submit" class="btn btn-primary" style="background: var(--primary-color, #6200ee); color: white; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; display: flex; align-items: center; gap: 8px;">\n <span class="material-icons" style="font-size: 18px;">save</span>\n Save Changes\n </button>\n </div>\n </div>\n </form>\n </div>\n `)}renderFields(){if(!this.unit||!this.schema)return"<div>Loading...</div>";let t="";const e=[],n=[];for(const[t,i]of Object.entries(this.schema.attributes))i.fixed||"objectClass"===t||("ou"===t||"description"===t?e.push([t,i]):n.push([t,i]));if(e.length>0){t+='<div class="field-group" style="margin-bottom: 20px; padding: 16px; background: #f9f9f9; border-radius: 4px;">',t+='<div class="field-group-title" style="font-weight: 500; color: var(--primary-color, #6200ee); margin-bottom: 12px; font-size: 14px; text-transform: uppercase;">Basic Information</div>';for(const[n,i]of e)t+=this.renderField(n,i);t+="</div>"}if(n.length>0){t+='<div class="field-group" style="margin-bottom: 20px; padding: 16px; background: #f9f9f9; border-radius: 4px;">',t+='<div class="field-group-title" style="font-weight: 500; color: var(--primary-color, #6200ee); margin-bottom: 12px; font-size: 14px; text-transform: uppercase;">Additional Properties</div>';for(const[e,i]of n)t+=this.renderField(e,i);t+="</div>"}return t}renderField(t,e){const n=this.unit?.[t],a=this.getFieldLabel(t),s=e.required?"required":"";if("array"===e.type){const e=(t=>i(t).map(String))(n).join("\n");return`\n <div class="form-group" style="margin-bottom: 16px;">\n <label style="display: block; margin-bottom: 8px; font-weight: 500;">${this.escapeHtml(a)}</label>\n <textarea name="${this.escapeHtml(t)}" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; min-height: 80px; font-family: 'Roboto', sans-serif;" ${s}>${this.escapeHtml(e)}</textarea>\n <div style="font-size: 12px; color: #666; margin-top: 4px;">Enter one value per line</div>\n </div>\n `}return"number"===e.type||"integer"===e.type?`\n <div class="form-group" style="margin-bottom: 16px;">\n <label style="display: block; margin-bottom: 8px; font-weight: 500;">${this.escapeHtml(a)}</label>\n <input type="number" name="${this.escapeHtml(t)}" value="${n||""}" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px;" ${s} />\n </div>\n `:`\n <div class="form-group" style="margin-bottom: 16px;">\n <label style="display: block; margin-bottom: 8px; font-weight: 500;">${this.escapeHtml(a)}</label>\n <input type="text" name="${this.escapeHtml(t)}" value="${this.escapeHtml(String(n||""))}" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px;" ${s} />\n </div>\n `}getFieldLabel(t){return{ou:"Organization Unit",description:"Description"}[t]||t.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/^./,t=>t.toUpperCase())}attachEventListeners(){const t=document.getElementById("unit-edit-form");t&&t.addEventListener("submit",t=>this.handleSubmit(t));const e=document.getElementById("delete-unit-btn");e&&e.addEventListener("click",()=>this.handleDelete());const n=document.getElementById("move-unit-btn");n&&n.addEventListener("click",()=>this.handleMove())}async handleSubmit(t){t.preventDefault();const e=t.target,n=new FormData(e),a={};for(const[t,e]of n.entries())"array"===this.schema?.attributes[t]?.type?a[t]=e.split("\n").map(t=>t.trim()).filter(t=>t):"number"===this.schema?.attributes[t]?.type||"integer"===this.schema?.attributes[t]?.type?a[t]=Number(e):a[t]=e;try{const t=function(t,e){const n={};for(const[a,s]of Object.entries(e)){if("dn"===a)continue;const e=i(s),o=e.map(String).sort(),r=i(t?.[a]).map(String).sort();o.length===r.length&&o.every((t,e)=>t===r[e])||(n[a]=Array.isArray(s)?e:e.length?s:[])}return n}(this.unit,a);Object.keys(t).length&&await this.api.updateUnit(this.unitDn,t),alert("Organizational unit updated successfully!"),this.saveCallback&&this.saveCallback()}catch(t){console.error("Failed to update unit:",t),alert(`Failed to update unit: ${t.message}`)}}async handleMove(){if(!this.unit)return;const t=this.unitDn.split(",").slice(1).join(","),e=new n(this.api,t,async t=>{try{const e=await this.api.moveUnit(this.unitDn,t);alert("Unit moved successfully!"),e.newDn&&(this.unitDn=e.newDn,await this.loadUnit(),this.render(),this.attachEventListeners()),this.saveCallback&&this.saveCallback()}catch(t){console.error("Failed to move unit:",t),alert(`Failed to move unit: ${t.message}`)}});await e.show()}async handleDelete(){if(this.hasSubnodes)alert("Cannot delete this organizational unit because it contains sub-organizations. Please delete all sub-organizations first.");else if(confirm(`Are you sure you want to delete this organizational unit?\n\n${this.unitDn}\n\nThis action cannot be undone.`))try{await this.api.deleteEntry(this.unitDn),alert("Organizational unit deleted successfully!"),this.container.innerHTML='\n <div class="empty-state">\n <span class="material-icons">business</span>\n <p>Unit deleted. Select another unit to edit.</p>\n </div>\n '}catch(t){console.error("Failed to delete unit:",t),alert(`Failed to delete unit: ${t.message}`)}}escapeHtml(t){if(null==t)return"";const e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'/]/g,t=>e[t])}}class s{baseUrl;constructor(t){this.baseUrl=t}async getConfig(){const t=await fetch(`${this.baseUrl}/api/v1/config`);if(!t.ok)throw new Error(`Failed to load config: ${t.statusText}`);return t.json()}async getOrganizations(){const t=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/top`);if(!t.ok)throw new Error(`Failed to load organizations: ${t.statusText}`);return t.json()}async getUnit(t){const e=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`);if(!e.ok)throw new Error(`Failed to load unit: ${e.statusText}`);return e.json()}async updateUnit(t,e){const n=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({replace:e})});if(!n.ok){const t=await n.text();throw new Error(`Failed to update unit: ${t}`)}}async createEntry(t,e){const n=t.match(/^ou=([^,]+),(.+)$/);if(!n)throw new Error(`Invalid DN format: ${t}`);const[,i,a]=n,s=await fetch(`${this.baseUrl}/api/v1/ldap/organizations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ou:i,parentDn:a,...e})});if(!s.ok){const t=await s.text();throw new Error(`Failed to create entry: ${t}`)}}async deleteEntry(t){const e=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(`Failed to delete entry: ${t}`)}}async moveUnit(t,e){const n=await fetch(`${this.baseUrl}/api/v1/ldap/organizations/${encodeURIComponent(t)}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetOrgDn:e})});if(!n.ok){const t=await n.text();throw new Error(t||"Failed to move unit")}return n.json()}}t.LdapUnitEditor=class{container=null;options;api;unitTree=null;unitEditor=null;currentUnitDn=null;config=null;constructor(t){this.options=t,this.api=new s(t.apiBaseUrl||"")}async init(){const t=document.getElementById(this.options.containerId);if(!t)throw new Error(`Container element with id '${this.options.containerId}' not found`);this.container=t,this.config=await this.api.getConfig(),this.render(),await this.initializeComponents()}render(){this.container&&(this.container.innerHTML='\n <div class="ldap-unit-editor" style="display: flex; gap: 24px; height: 100%;">\n <div id="unit-tree-container" style="flex: 0 0 300px; overflow-y: auto; border-right: 1px solid #e0e0e0; padding-right: 24px;"></div>\n <div id="unit-editor-container" style="flex: 1; overflow-y: auto;">\n <div class="empty-state" style="display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #999;">\n <span class="material-icons" style="font-size: 64px; margin-bottom: 16px;">business</span>\n <p style="font-size: 16px; margin: 0;">Select an organizational unit to edit</p>\n </div>\n </div>\n </div>\n ')}async initializeComponents(){const t=document.getElementById("unit-tree-container");t&&(this.unitTree=new e(t,this.options.apiBaseUrl||"",t=>this.onUnitSelected(t)),await this.unitTree.init())}async onUnitSelected(t){this.currentUnitDn=t;const e=document.getElementById("unit-editor-container");if(e)try{this.unitEditor=new a(e,this.api,t),await this.unitEditor.init(),this.unitEditor.onSave(()=>{this.options.onUnitSaved&&this.options.onUnitSaved(t)})}catch(t){console.error("Failed to load unit editor:",t),e.innerHTML=`\n <div class="error-state" style="padding: 24px; color: #f44336;">\n <h3>Error loading unit</h3>\n <p>${t.message}</p>\n </div>\n `,this.options.onError&&this.options.onError(t)}}getCurrentUnitDn(){return this.currentUnitDn}async refresh(){if(this.unitTree&&await this.unitTree.init(),this.currentUnitDn&&this.unitEditor){const t=document.getElementById("unit-editor-container");t&&(this.unitEditor=new a(t,this.api,this.currentUnitDn),await this.unitEditor.init())}}getApi(){return this.api}getConfig(){return this.config}getCurrentOrgDn(){return this.currentUnitDn}getCurrentUserDn(){return this.currentUnitDn}async createUser(t){return this.api.createEntry(t.dn,t)}async deleteUser(t){return this.api.deleteEntry(t)}}});
|
|
2
2
|
//# sourceMappingURL=ldap-unit-editor.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ldap-unit-editor.min.js","sources":["../../../../src/browser/ldap-unit-editor/components/UnitTree.ts","../../../../src/browser/ldap-unit-editor/components/MoveUnitModal.ts","../../../../src/browser/shared/utils/form.ts","../../../../src/browser/ldap-unit-editor/components/UnitPropertyEditor.ts","../../../../src/browser/ldap-unit-editor/api/UnitApiClient.ts","../../../../src/browser/ldap-unit-editor/LdapUnitEditor.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["UnitTree","constructor","container","apiBaseUrl","onOrgSelect","this","expandedNodes","Set","selectedDn","rootDn","init","innerHTML","response","fetch","ok","Error","topOrg","json","dn","renderTree","createBtn","querySelector","addEventListener","handleCreateUnit","error","console","treeEl","parentDn","alert","ouName","prompt","trim","method","headers","body","JSON","stringify","ou","text","add","message","html","renderNode","attachEventListeners","level","isExpanded","has","isSelected","indent","encodeURIComponent","node","displayName","Array","isArray","cn","escapeHtml","subnodesResponse","orgs","filter","n","classes","objectClass","includes","subnode","querySelectorAll","forEach","el","async","e","stopPropagation","getAttribute","delete","map","String","replace","m","MoveUnitModal","api","currentOrgDn","onMove","modal","selectedOrgDn","show","document","createElement","className","appendChild","attachHandlers","loadOrganizationTree","closeBtn","close","cancelBtn","moveBtn","handleMove","target","handleEscape","key","removeEventListener","getOrganizations","attachTreeHandlers","isCurrentOrg","getUnit","twakeDepartmentPath","undefined","toggles","toggle","nodes","orgDn","selectOrganization","disabled","alertContainer","remove","valueList","value","v","isEmpty","UnitPropertyEditor","unitDn","unit","schema","saveCallback","hasSubnodes","loadUnit","loadSchema","checkSubnodes","render","subnodes","some","warn","config","getConfig","orgsConfig","features","ldapOrganizations","schemaUrl","unitsResource","ldapFlatGeneric","flatResources","find","r","pluralName","name","entity","attributes","type","required","description","onSave","callback","renderFields","basicFields","otherFields","fieldName","attribute","Object","entries","fixed","push","length","renderField","label","getFieldLabel","arrayValue","listValues","join","str","toUpperCase","form","getElementById","handleSubmit","deleteBtn","handleDelete","preventDefault","formData","FormData","updates","split","Number","original","edited","after","a","sort","b","every","i","changedAttributes","keys","updateUnit","slice","targetOrgDn","result","moveUnit","newDn","confirm","deleteEntry","UnitApiClient","baseUrl","statusText","createEntry","data","match","options","unitTree","unitEditor","currentUnitDn","containerId","initializeComponents","treeContainer","onUnitSelected","editorContainer","onUnitSaved","onError","getCurrentUnitDn","refresh","getApi","getCurrentOrgDn","getCurrentUserDn","createUser","deleteUser"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ldap-unit-editor.min.js","sources":["../../../../src/browser/ldap-unit-editor/components/UnitTree.ts","../../../../src/browser/ldap-unit-editor/components/MoveUnitModal.ts","../../../../src/browser/shared/utils/form.ts","../../../../src/browser/ldap-unit-editor/components/UnitPropertyEditor.ts","../../../../src/browser/ldap-unit-editor/api/UnitApiClient.ts","../../../../src/browser/ldap-unit-editor/LdapUnitEditor.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["UnitTree","container","apiBaseUrl","onOrgSelect","expandedNodes","Set","selectedDn","rootDn","constructor","this","init","innerHTML","response","fetch","ok","Error","topOrg","json","dn","renderTree","createBtn","querySelector","addEventListener","handleCreateUnit","error","console","treeEl","parentDn","alert","ouName","prompt","trim","method","headers","body","JSON","stringify","ou","text","add","message","html","renderNode","attachEventListeners","level","isExpanded","has","isSelected","indent","encodeURIComponent","node","displayName","Array","isArray","cn","escapeHtml","subnodesResponse","orgs","filter","n","classes","objectClass","includes","subnode","querySelectorAll","forEach","el","async","e","stopPropagation","getAttribute","delete","map","String","replace","m","MoveUnitModal","modal","api","currentOrgDn","selectedOrgDn","onMove","show","document","createElement","className","appendChild","attachHandlers","loadOrganizationTree","closeBtn","close","cancelBtn","moveBtn","handleMove","target","handleEscape","key","removeEventListener","getOrganizations","attachTreeHandlers","isCurrentOrg","getUnit","twakeDepartmentPath","undefined","toggles","toggle","nodes","orgDn","selectOrganization","disabled","alertContainer","remove","valueList","value","v","isEmpty","UnitPropertyEditor","unitDn","unit","schema","saveCallback","hasSubnodes","loadUnit","loadSchema","checkSubnodes","render","subnodes","some","warn","config","getConfig","orgsConfig","features","ldapOrganizations","schemaUrl","unitsResource","ldapFlatGeneric","flatResources","find","r","pluralName","name","entity","attributes","type","required","description","onSave","callback","renderFields","basicFields","otherFields","fieldName","attribute","Object","entries","fixed","push","length","renderField","label","getFieldLabel","arrayValue","listValues","join","str","toUpperCase","form","getElementById","handleSubmit","deleteBtn","handleDelete","preventDefault","formData","FormData","updates","split","Number","original","edited","after","a","sort","b","every","i","changedAttributes","keys","updateUnit","slice","targetOrgDn","result","moveUnit","newDn","confirm","deleteEntry","UnitApiClient","baseUrl","statusText","createEntry","data","match","options","unitTree","unitEditor","currentUnitDn","containerId","initializeComponents","treeContainer","onUnitSelected","editorContainer","onUnitSaved","onError","getCurrentUnitDn","refresh","getApi","getCurrentOrgDn","getCurrentUserDn","createUser","deleteUser"],"mappings":"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"}
|
|
@@ -8,14 +8,16 @@ import { UserList } from './components/UserList.js';
|
|
|
8
8
|
* @author Xavier Guimard
|
|
9
9
|
*/
|
|
10
10
|
class LdapUserEditor {
|
|
11
|
+
options;
|
|
12
|
+
api;
|
|
13
|
+
container = null;
|
|
14
|
+
userTree = null;
|
|
15
|
+
userEditor = null;
|
|
16
|
+
userList = null;
|
|
17
|
+
currentUserDn = null;
|
|
18
|
+
currentOrgDn = null;
|
|
19
|
+
config = null;
|
|
11
20
|
constructor(options) {
|
|
12
|
-
this.container = null;
|
|
13
|
-
this.userTree = null;
|
|
14
|
-
this.userEditor = null;
|
|
15
|
-
this.userList = null;
|
|
16
|
-
this.currentUserDn = null;
|
|
17
|
-
this.currentOrgDn = null;
|
|
18
|
-
this.config = null;
|
|
19
21
|
this.options = {
|
|
20
22
|
apiBaseUrl: typeof window !== 'undefined' ? window.location.origin : '',
|
|
21
23
|
...options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LdapUserEditor.js","sources":["../../../../src/browser/ldap-user-editor/LdapUserEditor.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;AAGG;MAQU,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"LdapUserEditor.js","sources":["../../../../src/browser/ldap-user-editor/LdapUserEditor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import { hasRole } from '../../shared/utils/schema.js';
|
|
|
5
5
|
* LDAP User Editor - API Client
|
|
6
6
|
*/
|
|
7
7
|
class UserApiClient {
|
|
8
|
+
baseUrl;
|
|
9
|
+
cache;
|
|
8
10
|
constructor(baseUrl = '', cacheOptions) {
|
|
9
11
|
this.baseUrl =
|
|
10
12
|
baseUrl || (typeof window !== 'undefined' ? window.location.origin : '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserApiClient.js","sources":["../../../../../src/browser/ldap-user-editor/api/UserApiClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;AAEG;MAMU,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"UserApiClient.js","sources":["../../../../../src/browser/ldap-user-editor/api/UserApiClient.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
* Prevents excessive API calls when navigating the organization tree
|
|
4
4
|
*/
|
|
5
5
|
class CacheManager {
|
|
6
|
+
cache = new Map();
|
|
7
|
+
ttl;
|
|
8
|
+
maxEntries;
|
|
6
9
|
constructor(options = {}) {
|
|
7
|
-
this.cache = new Map();
|
|
8
10
|
this.ttl = options.ttl ?? 5 * 60 * 1000; // 5 minutes default
|
|
9
11
|
this.maxEntries = options.maxEntries ?? 200; // 200 entries max
|
|
10
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheManager.js","sources":["../../../../../src/browser/ldap-user-editor/cache/CacheManager.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;AAGG;MAmBU,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"CacheManager.js","sources":["../../../../../src/browser/ldap-user-editor/cache/CacheManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
* Modal dialog for selecting target organization when moving a user
|
|
4
4
|
*/
|
|
5
5
|
class MoveUserModal {
|
|
6
|
+
modal = null;
|
|
7
|
+
api;
|
|
8
|
+
currentOrgDn;
|
|
9
|
+
selectedOrgDn = null;
|
|
10
|
+
onMove;
|
|
11
|
+
expandedNodes = new Set();
|
|
12
|
+
rootDn = null;
|
|
6
13
|
constructor(api, currentOrgDn, onMove) {
|
|
7
|
-
this.modal = null;
|
|
8
|
-
this.selectedOrgDn = null;
|
|
9
|
-
this.expandedNodes = new Set();
|
|
10
|
-
this.rootDn = null;
|
|
11
14
|
this.api = api;
|
|
12
15
|
this.currentOrgDn = currentOrgDn;
|
|
13
16
|
this.onMove = onMove;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoveUserModal.js","sources":["../../../../../src/browser/ldap-user-editor/components/MoveUserModal.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;AAGG;MAIU,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"MoveUserModal.js","sources":["../../../../../src/browser/ldap-user-editor/components/MoveUserModal.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
* LDAP User Editor - Pointer Field Component
|
|
3
3
|
*/
|
|
4
4
|
class PointerField {
|
|
5
|
+
api;
|
|
6
|
+
attribute;
|
|
7
|
+
fieldName;
|
|
8
|
+
value;
|
|
9
|
+
onChange;
|
|
10
|
+
options = [];
|
|
5
11
|
constructor(api, fieldName, attribute, value, onChange) {
|
|
6
|
-
this.options = [];
|
|
7
12
|
this.api = api;
|
|
8
13
|
this.fieldName = fieldName;
|
|
9
14
|
this.attribute = attribute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointerField.js","sources":["../../../../../src/browser/ldap-user-editor/components/PointerField.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;AAEG;MAKU,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"PointerField.js","sources":["../../../../../src/browser/ldap-user-editor/components/PointerField.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,16 @@ import { listValues, changedAttributes } from '../../shared/utils/form.js';
|
|
|
7
7
|
* LDAP User Editor - User Editor Component
|
|
8
8
|
*/
|
|
9
9
|
class UserEditor {
|
|
10
|
+
container;
|
|
11
|
+
api;
|
|
12
|
+
userDn;
|
|
13
|
+
user = null;
|
|
14
|
+
schema = null;
|
|
15
|
+
formData = {};
|
|
16
|
+
pointerFields = new Map();
|
|
17
|
+
onSaved;
|
|
18
|
+
onDeleted;
|
|
19
|
+
ldapBase = '';
|
|
10
20
|
/**
|
|
11
21
|
* Escape HTML special characters to prevent XSS attacks
|
|
12
22
|
* Reference: https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html
|
|
@@ -25,11 +35,6 @@ class UserEditor {
|
|
|
25
35
|
return String(text).replace(/[&<>"'/]/g, m => map[m]);
|
|
26
36
|
}
|
|
27
37
|
constructor(container, api, userDn, onSaved, onDeleted) {
|
|
28
|
-
this.user = null;
|
|
29
|
-
this.schema = null;
|
|
30
|
-
this.formData = {};
|
|
31
|
-
this.pointerFields = new Map();
|
|
32
|
-
this.ldapBase = '';
|
|
33
38
|
this.container = container;
|
|
34
39
|
this.api = api;
|
|
35
40
|
this.userDn = userDn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserEditor.js","sources":["../../../../../src/browser/ldap-user-editor/components/UserEditor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserEditor.js","sources":["../../../../../src/browser/ldap-user-editor/components/UserEditor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,15 @@ import { hasRole } from '../../shared/utils/schema.js';
|
|
|
5
5
|
* Shows users in a selected organization
|
|
6
6
|
*/
|
|
7
7
|
class UserList {
|
|
8
|
+
container;
|
|
9
|
+
api;
|
|
10
|
+
users = [];
|
|
11
|
+
orgDn;
|
|
12
|
+
searchQuery = '';
|
|
13
|
+
onSelectUser;
|
|
14
|
+
schema = null;
|
|
15
|
+
config = null;
|
|
8
16
|
constructor(container, api, orgDn, onSelectUser) {
|
|
9
|
-
this.users = [];
|
|
10
|
-
this.searchQuery = '';
|
|
11
|
-
this.schema = null;
|
|
12
|
-
this.config = null;
|
|
13
17
|
this.container = container;
|
|
14
18
|
this.api = api;
|
|
15
19
|
this.orgDn = orgDn;
|