ldap-rest 2.0.2 → 2.0.4

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.
Files changed (177) hide show
  1. package/dist/abstract/ldapFlat.js +1 -1
  2. package/dist/lib/authz/base.js +1 -1
  3. package/dist/lib/entitySchema/validator.js +1 -1
  4. package/dist/lib/utils.js +1 -1
  5. package/dist/plugins/auth/auth.options.js +1 -1
  6. package/dist/plugins/auth/authzDynamic.js +1 -1
  7. package/dist/plugins/auth/openidconnect.js +1 -1
  8. package/dist/plugins/auth/trustedProxy.js +1 -1
  9. package/dist/plugins/ldap/departmentSync.js +1 -1
  10. package/dist/plugins/ldap/organizations.js +1 -1
  11. package/dist/plugins/scim/baseResolver.js +1 -1
  12. package/dist/src/abstract/ldapFlat.d.ts +6 -6
  13. package/dist/src/abstract/plugin.d.ts +11 -11
  14. package/dist/src/abstract/twakePlugin.d.ts +4 -4
  15. package/dist/src/bin/index.d.ts +10 -10
  16. package/dist/src/browser/ldap-browser/LdapBrowser.d.ts +1 -1
  17. package/dist/src/browser/ldap-browser/api/RawApiClient.d.ts +1 -1
  18. package/dist/src/browser/ldap-browser/components/EntryTree.d.ts +2 -2
  19. package/dist/src/browser/ldap-browser/components/EntryView.d.ts +2 -2
  20. package/dist/src/browser/ldap-browser/index.d.ts +4 -5
  21. package/dist/src/browser/ldap-browser/schema.d.ts +1 -1
  22. package/dist/src/browser/ldap-group-editor/LdapGroupEditor.d.ts +2 -2
  23. package/dist/src/browser/ldap-group-editor/api/GroupApiClient.d.ts +1 -1
  24. package/dist/src/browser/ldap-group-editor/components/CreateGroupModal.d.ts +2 -2
  25. package/dist/src/browser/ldap-group-editor/components/GroupPropertyEditor.d.ts +1 -1
  26. package/dist/src/browser/ldap-group-editor/components/MoveGroupModal.d.ts +1 -1
  27. package/dist/src/browser/ldap-group-editor/types.d.ts +1 -1
  28. package/dist/src/browser/ldap-resource-editor/api/ResourceApiClient.d.ts +2 -2
  29. package/dist/src/browser/ldap-resource-editor/index.d.ts +2 -2
  30. package/dist/src/browser/ldap-resource-editor/types.d.ts +1 -1
  31. package/dist/src/browser/ldap-tree-viewer/LdapTreeViewer.d.ts +1 -1
  32. package/dist/src/browser/ldap-tree-viewer/components/TreeNode.d.ts +2 -2
  33. package/dist/src/browser/ldap-tree-viewer/components/TreeRoot.d.ts +2 -2
  34. package/dist/src/browser/ldap-tree-viewer/index.d.ts +2 -3
  35. package/dist/src/browser/ldap-tree-viewer/store/actions.d.ts +2 -2
  36. package/dist/src/browser/ldap-tree-viewer/store/reducers.d.ts +2 -2
  37. package/dist/src/browser/ldap-unit-editor/LdapUnitEditor.d.ts +1 -1
  38. package/dist/src/browser/ldap-unit-editor/api/UnitApiClient.d.ts +1 -1
  39. package/dist/src/browser/ldap-unit-editor/components/MoveUnitModal.d.ts +1 -1
  40. package/dist/src/browser/ldap-unit-editor/components/UnitPropertyEditor.d.ts +1 -1
  41. package/dist/src/browser/ldap-unit-editor/types.d.ts +1 -1
  42. package/dist/src/browser/ldap-user-editor/LdapUserEditor.d.ts +2 -2
  43. package/dist/src/browser/ldap-user-editor/api/UserApiClient.d.ts +2 -2
  44. package/dist/src/browser/ldap-user-editor/components/MoveUserModal.d.ts +1 -1
  45. package/dist/src/browser/ldap-user-editor/components/PointerField.d.ts +2 -2
  46. package/dist/src/browser/ldap-user-editor/components/UserEditor.d.ts +1 -1
  47. package/dist/src/browser/ldap-user-editor/components/UserList.d.ts +1 -1
  48. package/dist/src/browser/ldap-user-editor/components/UserTree.d.ts +1 -1
  49. package/dist/src/browser/ldap-user-editor/index.d.ts +2 -3
  50. package/dist/src/browser/ldap-user-editor/types.d.ts +1 -1
  51. package/dist/src/browser/shared/components/Modal.d.ts +1 -1
  52. package/dist/src/browser/shared/index.d.ts +7 -7
  53. package/dist/src/browser/shared/utils/form.d.ts +1 -1
  54. package/dist/src/browser/shared/utils/schema.d.ts +1 -1
  55. package/dist/src/config/args.d.ts +3 -3
  56. package/dist/src/config/options.d.ts +2 -2
  57. package/dist/src/config/schema.d.ts +1 -1
  58. package/dist/src/hooks.d.ts +5 -5
  59. package/dist/src/lib/auth/base.d.ts +2 -2
  60. package/dist/src/lib/authz/base.d.ts +15 -20
  61. package/dist/src/lib/authz/composition.d.ts +4 -4
  62. package/dist/src/lib/entitySchema/validator.d.ts +23 -2
  63. package/dist/src/lib/expressFormatedResponses.d.ts +1 -1
  64. package/dist/src/lib/health.d.ts +1 -1
  65. package/dist/src/lib/hookBus.d.ts +1 -1
  66. package/dist/src/lib/ldap/schema.d.ts +2 -2
  67. package/dist/src/lib/ldapActions.d.ts +5 -5
  68. package/dist/src/lib/mailDomains.d.ts +1 -1
  69. package/dist/src/lib/parseConfig.d.ts +1 -1
  70. package/dist/src/lib/schemaFile.d.ts +1 -1
  71. package/dist/src/lib/staticFiles.d.ts +1 -1
  72. package/dist/src/lib/storage/store.d.ts +1 -1
  73. package/dist/src/lib/utils.d.ts +3 -3
  74. package/dist/src/logger/winston.d.ts +1 -1
  75. package/dist/src/plugins/auth/auth.options.d.ts +39 -38
  76. package/dist/src/plugins/auth/authzDynamic.d.ts +24 -11
  77. package/dist/src/plugins/auth/authzLinid1.d.ts +7 -7
  78. package/dist/src/plugins/auth/authzPerBranch.d.ts +8 -8
  79. package/dist/src/plugins/auth/authzPerRoute.d.ts +2 -2
  80. package/dist/src/plugins/auth/authzScope.d.ts +1 -1
  81. package/dist/src/plugins/auth/crowdsec.d.ts +4 -4
  82. package/dist/src/plugins/auth/fake.d.ts +3 -3
  83. package/dist/src/plugins/auth/hmac.d.ts +4 -4
  84. package/dist/src/plugins/auth/llng.d.ts +20 -5
  85. package/dist/src/plugins/auth/openidconnect.d.ts +29 -8
  86. package/dist/src/plugins/auth/rateLimit.d.ts +3 -3
  87. package/dist/src/plugins/auth/token.d.ts +3 -3
  88. package/dist/src/plugins/auth/totp.d.ts +5 -5
  89. package/dist/src/plugins/auth/trustedProxy.d.ts +16 -32
  90. package/dist/src/plugins/bcl.d.ts +4 -4
  91. package/dist/src/plugins/bcl.options.d.ts +3 -3
  92. package/dist/src/plugins/configApi.d.ts +1 -1
  93. package/dist/src/plugins/demo/helloworld.d.ts +1 -1
  94. package/dist/src/plugins/ldap/accountLifecycle.d.ts +1 -1
  95. package/dist/src/plugins/ldap/bulkImport.d.ts +5 -5
  96. package/dist/src/plugins/ldap/departmentSync.d.ts +14 -3
  97. package/dist/src/plugins/ldap/enterpriseRules.d.ts +7 -7
  98. package/dist/src/plugins/ldap/externalUsersInGroups.d.ts +6 -6
  99. package/dist/src/plugins/ldap/flatGeneric.d.ts +6 -6
  100. package/dist/src/plugins/ldap/groups.d.ts +8 -8
  101. package/dist/src/plugins/ldap/ldap.options.d.ts +45 -45
  102. package/dist/src/plugins/ldap/onChange.d.ts +4 -4
  103. package/dist/src/plugins/ldap/organization.d.ts +1 -1
  104. package/dist/src/plugins/ldap/organizations.d.ts +12 -12
  105. package/dist/src/plugins/ldap/passwordPolicy.d.ts +11 -11
  106. package/dist/src/plugins/ldap/raw.d.ts +8 -8
  107. package/dist/src/plugins/ldap/trash.d.ts +6 -6
  108. package/dist/src/plugins/metrics.d.ts +3 -3
  109. package/dist/src/plugins/metrics.options.d.ts +3 -3
  110. package/dist/src/plugins/rabbitmq.d.ts +4 -4
  111. package/dist/src/plugins/rabbitmq.options.d.ts +3 -3
  112. package/dist/src/plugins/scim/baseResolver.d.ts +3 -3
  113. package/dist/src/plugins/scim/bulk.d.ts +7 -7
  114. package/dist/src/plugins/scim/discovery.d.ts +4 -4
  115. package/dist/src/plugins/scim/errors.d.ts +3 -3
  116. package/dist/src/plugins/scim/filter.d.ts +1 -1
  117. package/dist/src/plugins/scim/groups.d.ts +8 -8
  118. package/dist/src/plugins/scim/list.d.ts +1 -1
  119. package/dist/src/plugins/scim/mapping.d.ts +2 -2
  120. package/dist/src/plugins/scim/patch.d.ts +2 -2
  121. package/dist/src/plugins/scim/scim.d.ts +30 -30
  122. package/dist/src/plugins/scim/scim.options.d.ts +27 -27
  123. package/dist/src/plugins/scim/users.d.ts +6 -6
  124. package/dist/src/plugins/static.d.ts +6 -6
  125. package/dist/src/plugins/static.options.d.ts +6 -6
  126. package/dist/src/plugins/storage/file.d.ts +2 -2
  127. package/dist/src/plugins/storage/ldap.d.ts +2 -2
  128. package/dist/src/plugins/storage/postgres.d.ts +2 -2
  129. package/dist/src/plugins/storage/valkey.d.ts +2 -2
  130. package/dist/src/plugins/storage.d.ts +13 -13
  131. package/dist/src/plugins/storage.options.d.ts +11 -11
  132. package/dist/src/plugins/twake/appAccounts.options.d.ts +6 -6
  133. package/dist/src/plugins/twake/appAccountsApi.d.ts +7 -7
  134. package/dist/src/plugins/twake/appAccountsConsistency.d.ts +9 -9
  135. package/dist/src/plugins/twake/calendar.d.ts +14 -14
  136. package/dist/src/plugins/twake/calendar.options.d.ts +11 -11
  137. package/dist/src/plugins/twake/calendarResources.d.ts +1 -1
  138. package/dist/src/plugins/twake/cloudery.options.d.ts +18 -18
  139. package/dist/src/plugins/twake/clouderyProvision.d.ts +19 -19
  140. package/dist/src/plugins/twake/cozy.options.d.ts +14 -14
  141. package/dist/src/plugins/twake/cozyProvision.d.ts +15 -15
  142. package/dist/src/plugins/twake/drive.d.ts +9 -9
  143. package/dist/src/plugins/twake/drive.options.d.ts +7 -7
  144. package/dist/src/plugins/twake/groups.d.ts +16 -16
  145. package/dist/src/plugins/twake/instances.d.ts +38 -38
  146. package/dist/src/plugins/twake/james.d.ts +18 -18
  147. package/dist/src/plugins/twake/james.options.d.ts +13 -13
  148. package/dist/src/plugins/twake/lifecycleAttributes.d.ts +2 -2
  149. package/dist/src/plugins/twake/lifecycleEvents.d.ts +13 -13
  150. package/dist/src/plugins/twake/migrationProxy.d.ts +11 -11
  151. package/dist/src/plugins/twake/migrationProxy.options.d.ts +8 -8
  152. package/dist/src/plugins/twake/spaces.d.ts +12 -12
  153. package/dist/src/plugins/twake/tombstone.d.ts +10 -10
  154. package/dist/src/plugins/twake/twakeGroups.options.d.ts +12 -12
  155. package/dist/src/plugins/twake/twakeInstances.options.d.ts +35 -35
  156. package/dist/src/plugins/twake/twakeLifecycle.options.d.ts +12 -12
  157. package/dist/src/plugins/twake/twakeSpaces.options.d.ts +11 -11
  158. package/dist/src/plugins/twake/twakeTombstone.options.d.ts +9 -9
  159. package/dist/src/plugins/weblogs.d.ts +1 -1
  160. package/docs/client-development/schemas/README.md +6 -1
  161. package/docs/development/contracts.md +22 -0
  162. package/docs/presentations/en.md +1 -1
  163. package/docs/presentations/fr.md +1 -1
  164. package/docs/usage/configuration.md +1 -0
  165. package/docs/usage/plugins/auth/authz-dynamic.md +3 -1
  166. package/docs/usage/plugins/auth/authz-linid1.md +10 -5
  167. package/docs/usage/plugins/auth/oidc.md +11 -0
  168. package/docs/usage/plugins/auth/trusted-proxy.md +11 -1
  169. package/docs/usage/upgrading.md +61 -0
  170. package/package.json +4 -3
  171. package/static/browser/ldap-user-editor.esm.js.map +1 -1
  172. package/static/browser/ldap-user-editor.js.map +1 -1
  173. package/static/browser/ldap-user-editor.min.js.map +1 -1
  174. package/static/browser/shared/utils/schema.js.map +1 -1
  175. package/static/browser/shared.esm.js.map +1 -1
  176. package/static/browser/shared.js.map +1 -1
  177. package/static/browser/shared.min.js.map +1 -1
@@ -14,17 +14,17 @@
14
14
  import express from 'express';
15
15
  import type winston from 'winston';
16
16
  import type { Request, Response } from 'express';
17
- import { type Config } from '../config/args';
18
- import type { Hooks } from '../hooks';
19
- import ldapActions from '../lib/ldapActions';
20
- import type DmPlugin from '../abstract/plugin';
21
- import AuthBase from '../lib/auth/base';
22
- import { type ServiceMap } from '../lib/services';
23
- import HookBus from '../lib/hookBus';
17
+ import { type Config } from '../config/args.js';
18
+ import type { Hooks } from '../hooks.js';
19
+ import ldapActions from '../lib/ldapActions.js';
20
+ import type DmPlugin from '../abstract/plugin.js';
21
+ import AuthBase from '../lib/auth/base.js';
22
+ import { type ServiceMap } from '../lib/services/index.js';
23
+ import HookBus from '../lib/hookBus.js';
24
24
  export type { Config };
25
- export * from '../lib/utils';
26
- export { asyncHandler } from '../lib/utils';
27
- export { HttpError, BadRequestError, UnauthorizedError, ForbiddenError, AuthzRefusedError, NotFoundError, ConflictError, UriTooLongError, TooManyRequestsError, BadGatewayError, ServiceUnavailableError, GatewayTimeoutError, } from '../lib/errors';
25
+ export * from '../lib/utils.js';
26
+ export { asyncHandler } from '../lib/utils.js';
27
+ export { HttpError, BadRequestError, UnauthorizedError, ForbiddenError, AuthzRefusedError, NotFoundError, ConflictError, UriTooLongError, TooManyRequestsError, BadGatewayError, ServiceUnavailableError, GatewayTimeoutError, } from '../lib/errors.js';
28
28
  /**
29
29
  * @class DM
30
30
  */
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module browser/ldap-browser/LdapBrowser
8
8
  */
9
- import type { BrowserOptions } from './types';
9
+ import type { BrowserOptions } from './types.js';
10
10
  export declare class LdapBrowser {
11
11
  private options;
12
12
  private api;
@@ -2,7 +2,7 @@
2
2
  * Client of the low-level LDAP API (`core/ldap/raw` plugin).
3
3
  * @module browser/ldap-browser/api/RawApiClient
4
4
  */
5
- import type { LdapSchema, RawChildren, RawEntry, RawSearchResult } from '../types';
5
+ import type { LdapSchema, RawChildren, RawEntry, RawSearchResult } from '../types.js';
6
6
  export declare class RawApiClient {
7
7
  private baseUrl;
8
8
  private authToken?;
@@ -2,8 +2,8 @@
2
2
  * Lazy directory tree: one root per exposed base, children fetched on expand.
3
3
  * @module browser/ldap-browser/components/EntryTree
4
4
  */
5
- import { DisposableComponent } from '../../shared/components/DisposableComponent';
6
- import type { RawApiClient } from '../api/RawApiClient';
5
+ import { DisposableComponent } from '../../shared/components/DisposableComponent.js';
6
+ import type { RawApiClient } from '../api/RawApiClient.js';
7
7
  export declare class EntryTree extends DisposableComponent {
8
8
  private container;
9
9
  private api;
@@ -2,8 +2,8 @@
2
2
  * Attribute table of one entry, annotated with the directory schema.
3
3
  * @module browser/ldap-browser/components/EntryView
4
4
  */
5
- import type { SchemaView } from '../schema';
6
- import type { RawEntry } from '../types';
5
+ import type { SchemaView } from '../schema.js';
6
+ import type { RawEntry } from '../types.js';
7
7
  export declare class EntryView {
8
8
  private container;
9
9
  private schema;
@@ -2,8 +2,7 @@
2
2
  * LDAP Browser - low-level directory browser (read-only)
3
3
  * @author Xavier Guimard
4
4
  */
5
- import './styles.css';
6
- export { LdapBrowser } from './LdapBrowser';
7
- export { RawApiClient } from './api/RawApiClient';
8
- export { SchemaView } from './schema';
9
- export type { BrowserOptions, LdapSchema, RawAttribute, RawChild, RawEntry, RawSearchResult, ObjectClassDefinition, AttributeTypeDefinition, } from './types';
5
+ export { LdapBrowser } from './LdapBrowser.js';
6
+ export { RawApiClient } from './api/RawApiClient.js';
7
+ export { SchemaView } from './schema.js';
8
+ export type { BrowserOptions, LdapSchema, RawAttribute, RawChild, RawEntry, RawSearchResult, ObjectClassDefinition, AttributeTypeDefinition, } from './types.js';
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @module browser/ldap-browser/schema
9
9
  */
10
- import type { AttributeTypeDefinition, LdapSchema, ObjectClassDefinition } from './types';
10
+ import type { AttributeTypeDefinition, LdapSchema, ObjectClassDefinition } from './types.js';
11
11
  export declare class SchemaView {
12
12
  readonly schema: LdapSchema;
13
13
  private objectClasses;
@@ -2,8 +2,8 @@
2
2
  * LDAP Group Editor - Main class for editing group properties
3
3
  * @author Xavier Guimard
4
4
  */
5
- import type { GroupEditorOptions, Config } from './types';
6
- import { GroupApiClient } from './api/GroupApiClient';
5
+ import type { GroupEditorOptions, Config } from './types.js';
6
+ import { GroupApiClient } from './api/GroupApiClient.js';
7
7
  export declare class LdapGroupEditor {
8
8
  private options;
9
9
  private api;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * API Client for LDAP Group operations
3
3
  */
4
- import type { Config, LdapGroup } from '../types';
4
+ import type { Config, LdapGroup } from '../types.js';
5
5
  export declare class GroupApiClient {
6
6
  private baseUrl;
7
7
  constructor(baseUrl: string);
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Create Group Modal Component - Modal for creating a new group
3
3
  */
4
- import type { GroupApiClient } from '../api/GroupApiClient';
5
- import type { Config } from '../types';
4
+ import type { GroupApiClient } from '../api/GroupApiClient.js';
5
+ import type { Config } from '../types.js';
6
6
  export declare class CreateGroupModal {
7
7
  private api;
8
8
  private config;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Group Property Editor Component - Edits properties of a selected group
3
3
  */
4
- import type { GroupApiClient } from '../api/GroupApiClient';
4
+ import type { GroupApiClient } from '../api/GroupApiClient.js';
5
5
  export declare class GroupPropertyEditor {
6
6
  private container;
7
7
  private api;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Move Group Modal Component - Modal for selecting target organization when moving a group
3
3
  */
4
- import type { GroupApiClient } from '../api/GroupApiClient';
4
+ import type { GroupApiClient } from '../api/GroupApiClient.js';
5
5
  export declare class MoveGroupModal {
6
6
  private api;
7
7
  private currentOrgDn;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * TypeScript types for LDAP Group Editor
3
3
  */
4
- import type { LocalizedText } from '../shared/types';
4
+ import type { LocalizedText } from '../shared/types/index.js';
5
5
  export interface GroupEditorOptions {
6
6
  containerId: string;
7
7
  apiBaseUrl?: string;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * LDAP Resource Editor - Generic API Client
3
3
  */
4
- import type { Config, LdapResource, PointerOption, Schema, ResourceType } from '../types';
5
- import { CacheManager } from '../cache/CacheManager';
4
+ import type { Config, LdapResource, PointerOption, Schema, ResourceType } from '../types.js';
5
+ import { CacheManager } from '../cache/CacheManager.js';
6
6
  export declare class ResourceApiClient {
7
7
  private baseUrl;
8
8
  private cache;
@@ -2,5 +2,5 @@
2
2
  * LDAP Resource Editor - Generic browser library
3
3
  * @author Xavier Guimard
4
4
  */
5
- export { ResourceApiClient } from './api/ResourceApiClient';
6
- export type { EditorOptions, LdapResource, Schema, SchemaAttribute, PointerOption, Config, ResourceType, NavigationType, ResourceTypeConfig, } from './types';
5
+ export { ResourceApiClient } from './api/ResourceApiClient.js';
6
+ export type { EditorOptions, LdapResource, Schema, SchemaAttribute, PointerOption, Config, ResourceType, NavigationType, ResourceTypeConfig, } from './types.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * LDAP Resource Editor - Generic Type Definitions
3
3
  */
4
- import type { LocalizedText } from '../shared/types';
4
+ import type { LocalizedText } from '../shared/types/index.js';
5
5
  export type ResourceType = 'users' | 'groups' | 'organizations';
6
6
  export type NavigationType = 'flat' | 'tree';
7
7
  export interface EditorOptions {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Main LdapTreeViewer class
3
3
  */
4
- import type { ViewerOptions, TreeState } from './types';
4
+ import type { ViewerOptions, TreeState } from './types.js';
5
5
  export declare class LdapTreeViewer {
6
6
  private options;
7
7
  private store;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * TreeNode component - renders individual tree nodes
3
3
  */
4
- import type { TreeState } from '../types';
5
- import type { Store } from '../store/Store';
4
+ import type { TreeState } from '../types.js';
5
+ import type { Store } from '../store/Store.js';
6
6
  export declare class TreeNodeComponent {
7
7
  private dn;
8
8
  private store;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * TreeRoot component - renders the root container and tree
3
3
  */
4
- import type { TreeState } from '../types';
5
- import type { Store } from '../store/Store';
4
+ import type { TreeState } from '../types.js';
5
+ import type { Store } from '../store/Store.js';
6
6
  export declare class TreeRoot {
7
7
  private store;
8
8
  private onClick;
@@ -2,6 +2,5 @@
2
2
  * LDAP Tree Viewer - Browser library
3
3
  * @author Xavier Guimard
4
4
  */
5
- import './styles.css';
6
- export { LdapTreeViewer } from './LdapTreeViewer';
7
- export type { ViewerOptions, TreeNode, TreeState, NodeType, FilterType, } from './types';
5
+ export { LdapTreeViewer } from './LdapTreeViewer.js';
6
+ export type { ViewerOptions, TreeNode, TreeState, NodeType, FilterType, } from './types.js';
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Action types and action creators
3
3
  */
4
- import type { TreeNode } from '../types';
5
- import type { Action } from './Store';
4
+ import type { TreeNode } from '../types.js';
5
+ import type { Action } from './Store.js';
6
6
  export declare const Actions: {
7
7
  readonly SET_ROOT: "SET_ROOT";
8
8
  readonly ADD_NODE: "ADD_NODE";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Reducers for tree state management
3
3
  */
4
- import type { TreeState } from '../types';
5
- import type { Action } from './Store';
4
+ import type { TreeState } from '../types.js';
5
+ import type { Action } from './Store.js';
6
6
  export declare const initialState: TreeState;
7
7
  export declare function treeReducer(state: TreeState, action: Action): TreeState;
@@ -2,7 +2,7 @@
2
2
  * LDAP Unit Editor - Main component for editing organizational units
3
3
  */
4
4
  import { UnitApiClient } from './api/UnitApiClient.js';
5
- import type { UnitEditorOptions, Config } from './types';
5
+ import type { UnitEditorOptions, Config } from './types.js';
6
6
  export declare class LdapUnitEditor {
7
7
  private container;
8
8
  private options;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * API Client for LDAP Unit operations
3
3
  */
4
- import type { Config, LdapUnit } from '../types';
4
+ import type { Config, LdapUnit } from '../types.js';
5
5
  export declare class UnitApiClient {
6
6
  private baseUrl;
7
7
  constructor(baseUrl: string);
@@ -2,7 +2,7 @@
2
2
  * LDAP Unit Editor - Move Unit Modal Component
3
3
  * Modal dialog for selecting target organization when moving a unit
4
4
  */
5
- import type { UnitApiClient } from '../api/UnitApiClient';
5
+ import type { UnitApiClient } from '../api/UnitApiClient.js';
6
6
  export declare class MoveUnitModal {
7
7
  private modal;
8
8
  private api;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Unit Property Editor Component - Edits properties of a selected organizational unit
3
3
  */
4
- import type { UnitApiClient } from '../api/UnitApiClient';
4
+ import type { UnitApiClient } from '../api/UnitApiClient.js';
5
5
  export declare class UnitPropertyEditor {
6
6
  private container;
7
7
  private api;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * TypeScript types for LDAP Unit Editor
3
3
  */
4
- import type { LocalizedText } from '../shared/types';
4
+ import type { LocalizedText } from '../shared/types/index.js';
5
5
  export interface UnitEditorOptions {
6
6
  containerId: string;
7
7
  apiBaseUrl?: string;
@@ -2,8 +2,8 @@
2
2
  * LDAP User Editor - Main class
3
3
  * @author Xavier Guimard
4
4
  */
5
- import type { EditorOptions, Config, LdapUser } from './types';
6
- import { UserApiClient } from './api/UserApiClient';
5
+ import type { EditorOptions, Config, LdapUser } from './types.js';
6
+ import { UserApiClient } from './api/UserApiClient.js';
7
7
  export declare class LdapUserEditor {
8
8
  private options;
9
9
  private api;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * LDAP User Editor - API Client
3
3
  */
4
- import type { Config, LdapUser, PointerOption, Schema } from '../types';
5
- import { CacheManager } from '../cache/CacheManager';
4
+ import type { Config, LdapUser, PointerOption, Schema } from '../types.js';
5
+ import { CacheManager } from '../cache/CacheManager.js';
6
6
  export declare class UserApiClient {
7
7
  private baseUrl;
8
8
  private cache;
@@ -2,7 +2,7 @@
2
2
  * LDAP User Editor - Move User Modal Component
3
3
  * Modal dialog for selecting target organization when moving a user
4
4
  */
5
- import type { UserApiClient } from '../api/UserApiClient';
5
+ import type { UserApiClient } from '../api/UserApiClient.js';
6
6
  export declare class MoveUserModal {
7
7
  private modal;
8
8
  private api;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * LDAP User Editor - Pointer Field Component
3
3
  */
4
- import type { SchemaAttribute } from '../types';
5
- import type { UserApiClient } from '../api/UserApiClient';
4
+ import type { SchemaAttribute } from '../types.js';
5
+ import type { UserApiClient } from '../api/UserApiClient.js';
6
6
  export declare class PointerField {
7
7
  private api;
8
8
  private attribute;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * LDAP User Editor - User Editor Component
3
3
  */
4
- import type { UserApiClient } from '../api/UserApiClient';
4
+ import type { UserApiClient } from '../api/UserApiClient.js';
5
5
  export declare class UserEditor {
6
6
  private container;
7
7
  private api;
@@ -2,7 +2,7 @@
2
2
  * LDAP User Editor - User List Component
3
3
  * Shows users in a selected organization
4
4
  */
5
- import type { UserApiClient } from '../api/UserApiClient';
5
+ import type { UserApiClient } from '../api/UserApiClient.js';
6
6
  export declare class UserList {
7
7
  private container;
8
8
  private api;
@@ -2,7 +2,7 @@
2
2
  * LDAP User Editor - Organization Tree Component
3
3
  * Shows only LDAP organization tree (filters out users/groups)
4
4
  */
5
- import { DisposableComponent } from '../../shared/components/DisposableComponent';
5
+ import { DisposableComponent } from '../../shared/components/DisposableComponent.js';
6
6
  export declare class UserTree extends DisposableComponent {
7
7
  private container;
8
8
  private baseUrl;
@@ -2,6 +2,5 @@
2
2
  * LDAP User Editor - Browser library
3
3
  * @author Xavier Guimard
4
4
  */
5
- import './styles.css';
6
- export { LdapUserEditor } from './LdapUserEditor';
7
- export type { EditorOptions, LdapUser, Schema, SchemaAttribute, PointerOption, Config, } from './types';
5
+ export { LdapUserEditor } from './LdapUserEditor.js';
6
+ export type { EditorOptions, LdapUser, Schema, SchemaAttribute, PointerOption, Config, } from './types.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * LDAP User Editor - Type definitions
3
3
  */
4
- import type { LocalizedText } from '../shared/types';
4
+ import type { LocalizedText } from '../shared/types/index.js';
5
5
  export interface EditorOptions {
6
6
  containerId: string;
7
7
  apiBaseUrl?: string;
@@ -2,7 +2,7 @@
2
2
  * Reusable Modal component
3
3
  * @module browser/shared/components/Modal
4
4
  */
5
- import { DisposableComponent } from './DisposableComponent';
5
+ import { DisposableComponent } from './DisposableComponent.js';
6
6
  export interface ModalOptions {
7
7
  id: string;
8
8
  title: string;
@@ -2,10 +2,10 @@
2
2
  * Main export file for shared browser utilities and components
3
3
  * @module browser/shared
4
4
  */
5
- export * from './utils/dom';
6
- export * from './utils/form';
7
- export * from './utils/schema';
8
- export * from './utils/totp';
9
- export { Modal, type ModalOptions } from './components/Modal';
10
- export { StatusMessage, showStatus, type StatusMessageOptions, } from './components/StatusMessage';
11
- export * from './types';
5
+ export * from './utils/dom.js';
6
+ export * from './utils/form.js';
7
+ export * from './utils/schema.js';
8
+ export * from './utils/totp.js';
9
+ export { Modal, type ModalOptions } from './components/Modal.js';
10
+ export { StatusMessage, showStatus, type StatusMessageOptions, } from './components/StatusMessage.js';
11
+ export * from './types/index.js';
@@ -2,7 +2,7 @@
2
2
  * Form utility functions
3
3
  * @module browser/shared/utils/form
4
4
  */
5
- import type { SchemaAttribute, PointerOption } from '../types';
5
+ import type { SchemaAttribute, PointerOption } from '../types/index.js';
6
6
  /**
7
7
  * Get user-friendly field label from field name
8
8
  */
@@ -2,7 +2,7 @@
2
2
  * Schema utility functions
3
3
  * @module browser/shared/utils/schema
4
4
  */
5
- import type { LocalizedText, PointerOption, SchemaAttribute } from '../types';
5
+ import type { LocalizedText, PointerOption, SchemaAttribute } from '../types/index.js';
6
6
  /**
7
7
  * Load pointer options from API
8
8
  */
@@ -1,6 +1,6 @@
1
- import type { AttributesList } from '../lib/ldapActions';
2
- import type { ConfigTemplate } from '../lib/parseConfig';
3
- export { STATIC_CSP, STATIC_FRAME_OPTIONS } from '../plugins/static.options';
1
+ import type { AttributesList } from '../lib/ldapActions.js';
2
+ import type { ConfigTemplate } from '../lib/parseConfig.js';
3
+ export { STATIC_CSP, STATIC_FRAME_OPTIONS } from '../plugins/static.options.js';
4
4
  export interface BranchPermissions {
5
5
  read?: boolean;
6
6
  write?: boolean;
@@ -8,8 +8,8 @@
8
8
  *
9
9
  * See `docs/plugin-development/options.md`.
10
10
  */
11
- import { type ArrayKind, type ConfigEntry, type ConfigTemplate } from '../lib/parseConfig';
12
- import type { Config } from './args';
11
+ import { type ArrayKind, type ConfigEntry, type ConfigTemplate } from '../lib/parseConfig.js';
12
+ import type { Config } from './args.js';
13
13
  export type OptionType = 'string' | 'number' | 'boolean' | 'array' | 'json';
14
14
  export interface OptionSpec<T> {
15
15
  readonly type: OptionType;
@@ -1,4 +1,4 @@
1
- import type { AttributesList, AttributeValue, ModifyRequest } from '../lib/ldapActions';
1
+ import type { AttributesList, AttributeValue, ModifyRequest } from '../lib/ldapActions.js';
2
2
  /**
3
3
  * Scalar and container types an entity schema may declare.
4
4
  *
@@ -4,11 +4,11 @@
4
4
  */
5
5
  import type { Entry, SearchOptions, SearchResult } from 'ldapts';
6
6
  import type { Request, Response } from 'express';
7
- import type { ModifyRequest, AttributesList, AttributeValue, LdapList } from './lib/ldapActions';
8
- import type { ChangesToNotify } from './plugins/ldap/onChange';
9
- import type { ChangeContext } from './lib/changeContext';
10
- import type { BulkResponse, ScimGroup, ScimUser } from './plugins/scim/types';
11
- import * as utils from './lib/utils';
7
+ import type { ModifyRequest, AttributesList, AttributeValue, LdapList } from './lib/ldapActions.js';
8
+ import type { ChangesToNotify } from './plugins/ldap/onChange.js';
9
+ import type { ChangeContext } from './lib/changeContext.js';
10
+ import type { BulkResponse, ScimGroup, ScimUser } from './plugins/scim/types.js';
11
+ import * as utils from './lib/utils.js';
12
12
  export type MaybePromise<T> = Promise<T> | T;
13
13
  export type ChainedHook<T> = (arg: T) => MaybePromise<T>;
14
14
  /**
@@ -1,6 +1,6 @@
1
1
  import type { Express, Request, Response } from 'express';
2
- import DmPlugin from '../../abstract/plugin';
3
- import type { Config } from '../../config/args';
2
+ import DmPlugin from '../../abstract/plugin.js';
3
+ import type { Config } from '../../config/args.js';
4
4
  /**
5
5
  * A request as the authentication plugins leave it.
6
6
  *
@@ -7,12 +7,12 @@
7
7
  * @group Libraries
8
8
  */
9
9
  import type { SearchOptions } from 'ldapts';
10
- import DmPlugin, { type Role } from '../../abstract/plugin';
11
- import type { DM } from '../../bin';
12
- import type { BranchPermissions } from '../../config/args';
13
- import type { Hooks } from '../../hooks';
14
- import { type DmRequest } from '../auth/base';
15
- import type { ModifyRequest } from '../ldapActions';
10
+ import DmPlugin, { type Role } from '../../abstract/plugin.js';
11
+ import type { DM } from '../../bin/index.js';
12
+ import type { BranchPermissions } from '../../config/args.js';
13
+ import type { Hooks } from '../../hooks.js';
14
+ import { type DmRequest } from '../auth/base.js';
15
+ import type { ModifyRequest } from '../ldapActions.js';
16
16
  /**
17
17
  * The rule of the most specific configured branch holding `target`.
18
18
  *
@@ -46,13 +46,8 @@ export default abstract class AuthzBase extends DmPlugin {
46
46
  * An object spread copies the key; a set would no longer know the copy.
47
47
  */
48
48
  private static readonly widenedForLink;
49
- /**
50
- * The search of the top organization by itself, which every caller may
51
- * make (`getOrganisationTop`): granted by `ldapsearchrequest` whatever the
52
- * rules say, it is not filtered by them either. A symbol key, for the
53
- * reason given at {@link widenedForLink}.
54
- */
55
- private static readonly topOrganizationRead;
49
+ /** Searches widened to carry `objectClass`, by the same means and for the same reason. */
50
+ private static readonly widenedForObjectClass;
56
51
  roles: Role[];
57
52
  cacheTTL: number;
58
53
  /** What `--authz-unresolved-user` accepts. */
@@ -100,13 +95,13 @@ export default abstract class AuthzBase extends DmPlugin {
100
95
  * the judgement of `ldapsearchrequest`, for `authzScope` to ask it of a
101
96
  * branch without searching it.
102
97
  *
103
- * Filtering, an administrator reads the directory whole — the
104
- * organization tree, the groups, the nomenclatures — and what is held to
105
- * a branch is the accounts, recognised one entry at a time by
106
- * `ldapsearchfilter`; only a global branch asks for the branch itself.
107
- * Otherwise the branch decides. Where a branch is a tenant rather than a
108
- * department, letting a listing cross it is letting a customer read
109
- * another.
98
+ * Filtering, a search is granted broadly — the groups, the nomenclatures,
99
+ * the entries attached to the caller's branches — and what is held to a
100
+ * branch is judged one entry at a time by `ldapsearchfilter`: an account by
101
+ * its link, an organization by the branch it sits in. Only a global branch
102
+ * asks for the branch itself. Otherwise the branch decides. Where a branch
103
+ * is a tenant rather than a department, letting a listing cross it is
104
+ * letting a customer read another.
110
105
  *
111
106
  * @param user the caller's DN
112
107
  * @param base the base of the search
@@ -16,10 +16,10 @@
16
16
  * the same ones without `--authz-combine`.
17
17
  * @group Libraries
18
18
  */
19
- import type DmPlugin from '../../abstract/plugin';
20
- import type { DM } from '../../bin';
21
- import type { Config } from '../../config/args';
22
- import type { DmRequest } from '../auth/base';
19
+ import type DmPlugin from '../../abstract/plugin.js';
20
+ import type { DM } from '../../bin/index.js';
21
+ import type { Config } from '../../config/args.js';
22
+ import type { DmRequest } from '../auth/base.js';
23
23
  /**
24
24
  * The hooks an LDAP operation is judged in: refused from, or — for
25
25
  * `ldapsearchfilter` — narrowed to what the caller may see. Two plugins on