ldap-rest 0.0.1

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 (296) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +48 -0
  3. package/bin/cleanup-external-users.mjs +219 -0
  4. package/bin/index.mjs +54 -0
  5. package/bin/sync-james.mjs +190 -0
  6. package/dist/abstract/ldapFlat.js +1 -0
  7. package/dist/abstract/plugin.js +1 -0
  8. package/dist/abstract/twakePlugin.js +1 -0
  9. package/dist/bin/index.js +1 -0
  10. package/dist/config/args.js +1 -0
  11. package/dist/lib/auth/base.js +1 -0
  12. package/dist/lib/authz/base.js +1 -0
  13. package/dist/lib/expressFormatedResponses.js +1 -0
  14. package/dist/lib/ldapActions.js +1 -0
  15. package/dist/lib/parseConfig.js +1 -0
  16. package/dist/lib/utils.js +1 -0
  17. package/dist/logger/winston.js +1 -0
  18. package/dist/plugins/auth/authzLinid1.js +1 -0
  19. package/dist/plugins/auth/authzPerBranch.js +1 -0
  20. package/dist/plugins/auth/crowdsec.js +1 -0
  21. package/dist/plugins/auth/llng.js +1 -0
  22. package/dist/plugins/auth/openidconnect.js +1 -0
  23. package/dist/plugins/auth/rateLimit.js +1 -0
  24. package/dist/plugins/auth/token.js +1 -0
  25. package/dist/plugins/configApi.js +1 -0
  26. package/dist/plugins/demo/helloworld.js +1 -0
  27. package/dist/plugins/ldap/bulkImport.js +1 -0
  28. package/dist/plugins/ldap/departmentSync.js +1 -0
  29. package/dist/plugins/ldap/externalUsersInGroups.js +1 -0
  30. package/dist/plugins/ldap/flatGeneric.js +1 -0
  31. package/dist/plugins/ldap/groups.js +1 -0
  32. package/dist/plugins/ldap/onChange.js +1 -0
  33. package/dist/plugins/ldap/organization.js +1 -0
  34. package/dist/plugins/ldap/trash.js +1 -0
  35. package/dist/plugins/priority.json.js +1 -0
  36. package/dist/plugins/static.js +1 -0
  37. package/dist/plugins/twake/calendarResources.js +1 -0
  38. package/dist/plugins/twake/james.js +1 -0
  39. package/dist/plugins/weblogs.js +1 -0
  40. package/dist/src/abstract/ldapFlat.d.ts +94 -0
  41. package/dist/src/abstract/plugin.d.ts +43 -0
  42. package/dist/src/abstract/twakePlugin.d.ts +90 -0
  43. package/dist/src/bin/index.d.ts +43 -0
  44. package/dist/src/browser/ldap-group-editor/LdapGroupEditor.d.ts +31 -0
  45. package/dist/src/browser/ldap-group-editor/api/GroupApiClient.d.ts +23 -0
  46. package/dist/src/browser/ldap-group-editor/components/CreateGroupModal.d.ts +19 -0
  47. package/dist/src/browser/ldap-group-editor/components/GroupPropertyEditor.d.ts +30 -0
  48. package/dist/src/browser/ldap-group-editor/components/GroupTree.d.ts +17 -0
  49. package/dist/src/browser/ldap-group-editor/components/MoveGroupModal.d.ts +20 -0
  50. package/dist/src/browser/ldap-group-editor/index.d.ts +6 -0
  51. package/dist/src/browser/ldap-group-editor/types.d.ts +58 -0
  52. package/dist/src/browser/ldap-resource-editor/api/ResourceApiClient.d.ts +53 -0
  53. package/dist/src/browser/ldap-resource-editor/cache/CacheManager.d.ts +65 -0
  54. package/dist/src/browser/ldap-resource-editor/index.d.ts +6 -0
  55. package/dist/src/browser/ldap-resource-editor/types.d.ts +78 -0
  56. package/dist/src/browser/ldap-tree-viewer/LdapTreeViewer.d.ts +26 -0
  57. package/dist/src/browser/ldap-tree-viewer/api/LdapApiClient.d.ts +30 -0
  58. package/dist/src/browser/ldap-tree-viewer/components/TreeNode.d.ts +17 -0
  59. package/dist/src/browser/ldap-tree-viewer/components/TreeRoot.d.ts +14 -0
  60. package/dist/src/browser/ldap-tree-viewer/index.d.ts +7 -0
  61. package/dist/src/browser/ldap-tree-viewer/store/Store.d.ts +18 -0
  62. package/dist/src/browser/ldap-tree-viewer/store/actions.d.ts +28 -0
  63. package/dist/src/browser/ldap-tree-viewer/store/reducers.d.ts +7 -0
  64. package/dist/src/browser/ldap-tree-viewer/types.d.ts +34 -0
  65. package/dist/src/browser/ldap-unit-editor/LdapUnitEditor.d.ts +27 -0
  66. package/dist/src/browser/ldap-unit-editor/api/UnitApiClient.d.ts +24 -0
  67. package/dist/src/browser/ldap-unit-editor/components/MoveUnitModal.d.ts +28 -0
  68. package/dist/src/browser/ldap-unit-editor/components/UnitPropertyEditor.d.ts +28 -0
  69. package/dist/src/browser/ldap-unit-editor/components/UnitTree.d.ts +18 -0
  70. package/dist/src/browser/ldap-unit-editor/index.d.ts +6 -0
  71. package/dist/src/browser/ldap-unit-editor/types.d.ts +55 -0
  72. package/dist/src/browser/ldap-user-editor/LdapUserEditor.d.ts +32 -0
  73. package/dist/src/browser/ldap-user-editor/api/UserApiClient.d.ts +55 -0
  74. package/dist/src/browser/ldap-user-editor/cache/CacheManager.d.ts +65 -0
  75. package/dist/src/browser/ldap-user-editor/components/MoveUserModal.d.ts +28 -0
  76. package/dist/src/browser/ldap-user-editor/components/PointerField.d.ts +22 -0
  77. package/dist/src/browser/ldap-user-editor/components/UserEditor.d.ts +46 -0
  78. package/dist/src/browser/ldap-user-editor/components/UserList.d.ts +24 -0
  79. package/dist/src/browser/ldap-user-editor/components/UserTree.d.ts +24 -0
  80. package/dist/src/browser/ldap-user-editor/index.d.ts +7 -0
  81. package/dist/src/browser/ldap-user-editor/types.d.ts +67 -0
  82. package/dist/src/browser/shared/components/Modal.d.ts +38 -0
  83. package/dist/src/browser/shared/components/StatusMessage.d.ts +48 -0
  84. package/dist/src/browser/shared/index.d.ts +10 -0
  85. package/dist/src/browser/shared/types/index.d.ts +65 -0
  86. package/dist/src/browser/shared/utils/dom.d.ts +33 -0
  87. package/dist/src/browser/shared/utils/form.d.ts +28 -0
  88. package/dist/src/browser/shared/utils/schema.d.ts +29 -0
  89. package/dist/src/config/args.d.ts +128 -0
  90. package/dist/src/config/schema.d.ts +18 -0
  91. package/dist/src/hooks.d.ts +76 -0
  92. package/dist/src/lib/auth/base.d.ts +9 -0
  93. package/dist/src/lib/authz/base.d.ts +63 -0
  94. package/dist/src/lib/expressFormatedResponses.d.ts +26 -0
  95. package/dist/src/lib/ldapActions.d.ts +91 -0
  96. package/dist/src/lib/parseConfig.d.ts +23 -0
  97. package/dist/src/lib/utils.d.ts +73 -0
  98. package/dist/src/logger/winston.d.ts +3 -0
  99. package/dist/src/plugins/auth/authzLinid1.d.ts +46 -0
  100. package/dist/src/plugins/auth/authzPerBranch.d.ts +59 -0
  101. package/dist/src/plugins/auth/crowdsec.d.ts +29 -0
  102. package/dist/src/plugins/auth/llng.d.ts +8 -0
  103. package/dist/src/plugins/auth/openidconnect.d.ts +11 -0
  104. package/dist/src/plugins/auth/rateLimit.d.ts +24 -0
  105. package/dist/src/plugins/auth/token.d.ts +17 -0
  106. package/dist/src/plugins/configApi.d.ts +24 -0
  107. package/dist/src/plugins/demo/helloworld.d.ts +12 -0
  108. package/dist/src/plugins/ldap/bulkImport.d.ts +48 -0
  109. package/dist/src/plugins/ldap/departmentSync.d.ts +35 -0
  110. package/dist/src/plugins/ldap/externalUsersInGroups.d.ts +21 -0
  111. package/dist/src/plugins/ldap/flatGeneric.d.ts +31 -0
  112. package/dist/src/plugins/ldap/groups.d.ts +95 -0
  113. package/dist/src/plugins/ldap/onChange.d.ts +32 -0
  114. package/dist/src/plugins/ldap/organization.d.ts +65 -0
  115. package/dist/src/plugins/ldap/trash.d.ts +52 -0
  116. package/dist/src/plugins/static.d.ts +7 -0
  117. package/dist/src/plugins/twake/calendarResources.d.ts +31 -0
  118. package/dist/src/plugins/twake/james.d.ts +83 -0
  119. package/dist/src/plugins/weblogs.d.ts +8 -0
  120. package/docs/DEVELOPER_GUIDE.md +298 -0
  121. package/docs/OPENAPI.md +440 -0
  122. package/docs/PLUGIN_DEPENDENCIES.md +612 -0
  123. package/docs/README.md +466 -0
  124. package/docs/api/REFERENCE.md +983 -0
  125. package/docs/api/REST_API.md +1237 -0
  126. package/docs/authentication.md +469 -0
  127. package/docs/authzLinid1.md +521 -0
  128. package/docs/authzPerBranch.md +596 -0
  129. package/docs/browser/LIBRARIES.md +1196 -0
  130. package/docs/examples/EXAMPLES.md +1659 -0
  131. package/docs/examples/twake-mailbox-type-nomenclature.ldif +37 -0
  132. package/docs/examples/twake-mailbox-type-schema-amendment.ldif +30 -0
  133. package/docs/jamesTeamMailboxes.md +343 -0
  134. package/docs/ldapBulkImport.md +722 -0
  135. package/docs/ldapExternalUsersInGroups.md +325 -0
  136. package/docs/ldapFlatGeneric.md +444 -0
  137. package/docs/ldapGroups.md +589 -0
  138. package/docs/ldapOrganizations.md +659 -0
  139. package/docs/ldapTrash.md +260 -0
  140. package/docs/linagora.png +0 -0
  141. package/docs/onChange.md +318 -0
  142. package/docs/plugins/DEVELOPMENT.md +1219 -0
  143. package/docs/presenterm-fr.md +721 -0
  144. package/docs/presenterm.md +721 -0
  145. package/docs/schemas/SCHEMAS.md +1212 -0
  146. package/docs/static.md +410 -0
  147. package/docs/twakeCalendarResources.md +148 -0
  148. package/docs/twakeJames.md +661 -0
  149. package/docs/weblogs.md +399 -0
  150. package/examples/web/ldap-group-editor.html +113 -0
  151. package/examples/web/ldap-tree-viewer.html +368 -0
  152. package/examples/web/ldap-unit-editor.html +108 -0
  153. package/examples/web/ldap-user-editor.html +412 -0
  154. package/package.json +458 -0
  155. package/static/browser/common-demo.css +450 -0
  156. package/static/browser/ldap-group-editor/LdapGroupEditor.js +207 -0
  157. package/static/browser/ldap-group-editor/LdapGroupEditor.js.map +1 -0
  158. package/static/browser/ldap-group-editor/api/GroupApiClient.js +112 -0
  159. package/static/browser/ldap-group-editor/api/GroupApiClient.js.map +1 -0
  160. package/static/browser/ldap-group-editor/components/CreateGroupModal.js +212 -0
  161. package/static/browser/ldap-group-editor/components/CreateGroupModal.js.map +1 -0
  162. package/static/browser/ldap-group-editor/components/GroupPropertyEditor.js +497 -0
  163. package/static/browser/ldap-group-editor/components/GroupPropertyEditor.js.map +1 -0
  164. package/static/browser/ldap-group-editor/components/GroupTree.js +153 -0
  165. package/static/browser/ldap-group-editor/components/GroupTree.js.map +1 -0
  166. package/static/browser/ldap-group-editor/components/MoveGroupModal.js +235 -0
  167. package/static/browser/ldap-group-editor/components/MoveGroupModal.js.map +1 -0
  168. package/static/browser/ldap-group-editor/index.js +2 -0
  169. package/static/browser/ldap-group-editor/index.js.map +1 -0
  170. package/static/browser/ldap-group-editor/types.js +2 -0
  171. package/static/browser/ldap-group-editor/types.js.map +1 -0
  172. package/static/browser/ldap-group-editor.esm.js +1399 -0
  173. package/static/browser/ldap-group-editor.esm.js.map +1 -0
  174. package/static/browser/ldap-group-editor.js +1407 -0
  175. package/static/browser/ldap-group-editor.js.map +1 -0
  176. package/static/browser/ldap-group-editor.min.js +2 -0
  177. package/static/browser/ldap-group-editor.min.js.map +1 -0
  178. package/static/browser/ldap-resource-editor/api/ResourceApiClient.js +226 -0
  179. package/static/browser/ldap-resource-editor/api/ResourceApiClient.js.map +1 -0
  180. package/static/browser/ldap-resource-editor/cache/CacheManager.js +123 -0
  181. package/static/browser/ldap-resource-editor/cache/CacheManager.js.map +1 -0
  182. package/static/browser/ldap-resource-editor/index.js +2 -0
  183. package/static/browser/ldap-resource-editor/index.js.map +1 -0
  184. package/static/browser/ldap-resource-editor/types.js +2 -0
  185. package/static/browser/ldap-resource-editor/types.js.map +1 -0
  186. package/static/browser/ldap-tree-viewer/LdapTreeViewer.js +187 -0
  187. package/static/browser/ldap-tree-viewer/LdapTreeViewer.js.map +1 -0
  188. package/static/browser/ldap-tree-viewer/api/LdapApiClient.js +50 -0
  189. package/static/browser/ldap-tree-viewer/api/LdapApiClient.js.map +1 -0
  190. package/static/browser/ldap-tree-viewer/components/TreeNode.js +140 -0
  191. package/static/browser/ldap-tree-viewer/components/TreeNode.js.map +1 -0
  192. package/static/browser/ldap-tree-viewer/components/TreeRoot.js +98 -0
  193. package/static/browser/ldap-tree-viewer/components/TreeRoot.js.map +1 -0
  194. package/static/browser/ldap-tree-viewer/index.js +2 -0
  195. package/static/browser/ldap-tree-viewer/index.js.map +1 -0
  196. package/static/browser/ldap-tree-viewer/store/Store.js +29 -0
  197. package/static/browser/ldap-tree-viewer/store/Store.js.map +1 -0
  198. package/static/browser/ldap-tree-viewer/store/actions.js +53 -0
  199. package/static/browser/ldap-tree-viewer/store/actions.js.map +1 -0
  200. package/static/browser/ldap-tree-viewer/store/reducers.js +79 -0
  201. package/static/browser/ldap-tree-viewer/store/reducers.js.map +1 -0
  202. package/static/browser/ldap-tree-viewer/types.js +2 -0
  203. package/static/browser/ldap-tree-viewer/types.js.map +1 -0
  204. package/static/browser/ldap-tree-viewer.css +2 -0
  205. package/static/browser/ldap-tree-viewer.css.map +1 -0
  206. package/static/browser/ldap-tree-viewer.esm.js +606 -0
  207. package/static/browser/ldap-tree-viewer.esm.js.map +1 -0
  208. package/static/browser/ldap-tree-viewer.js +614 -0
  209. package/static/browser/ldap-tree-viewer.js.map +1 -0
  210. package/static/browser/ldap-tree-viewer.min.js +2 -0
  211. package/static/browser/ldap-tree-viewer.min.js.map +1 -0
  212. package/static/browser/ldap-unit-editor/LdapUnitEditor.js +119 -0
  213. package/static/browser/ldap-unit-editor/LdapUnitEditor.js.map +1 -0
  214. package/static/browser/ldap-unit-editor/api/UnitApiClient.js +95 -0
  215. package/static/browser/ldap-unit-editor/api/UnitApiClient.js.map +1 -0
  216. package/static/browser/ldap-unit-editor/components/MoveUnitModal.js +295 -0
  217. package/static/browser/ldap-unit-editor/components/MoveUnitModal.js.map +1 -0
  218. package/static/browser/ldap-unit-editor/components/UnitPropertyEditor.js +321 -0
  219. package/static/browser/ldap-unit-editor/components/UnitPropertyEditor.js.map +1 -0
  220. package/static/browser/ldap-unit-editor/components/UnitTree.js +197 -0
  221. package/static/browser/ldap-unit-editor/components/UnitTree.js.map +1 -0
  222. package/static/browser/ldap-unit-editor/index.js +2 -0
  223. package/static/browser/ldap-unit-editor/index.js.map +1 -0
  224. package/static/browser/ldap-unit-editor/types.js +2 -0
  225. package/static/browser/ldap-unit-editor/types.js.map +1 -0
  226. package/static/browser/ldap-unit-editor.esm.js +1013 -0
  227. package/static/browser/ldap-unit-editor.esm.js.map +1 -0
  228. package/static/browser/ldap-unit-editor.js +1021 -0
  229. package/static/browser/ldap-unit-editor.js.map +1 -0
  230. package/static/browser/ldap-unit-editor.min.js +2 -0
  231. package/static/browser/ldap-unit-editor.min.js.map +1 -0
  232. package/static/browser/ldap-user-editor/LdapUserEditor.js +184 -0
  233. package/static/browser/ldap-user-editor/LdapUserEditor.js.map +1 -0
  234. package/static/browser/ldap-user-editor/api/UserApiClient.js +209 -0
  235. package/static/browser/ldap-user-editor/api/UserApiClient.js.map +1 -0
  236. package/static/browser/ldap-user-editor/cache/CacheManager.js +123 -0
  237. package/static/browser/ldap-user-editor/cache/CacheManager.js.map +1 -0
  238. package/static/browser/ldap-user-editor/components/MoveUserModal.js +302 -0
  239. package/static/browser/ldap-user-editor/components/MoveUserModal.js.map +1 -0
  240. package/static/browser/ldap-user-editor/components/PointerField.js +152 -0
  241. package/static/browser/ldap-user-editor/components/PointerField.js.map +1 -0
  242. package/static/browser/ldap-user-editor/components/UserEditor.js +608 -0
  243. package/static/browser/ldap-user-editor/components/UserEditor.js.map +1 -0
  244. package/static/browser/ldap-user-editor/components/UserList.js +181 -0
  245. package/static/browser/ldap-user-editor/components/UserList.js.map +1 -0
  246. package/static/browser/ldap-user-editor/components/UserTree.js +164 -0
  247. package/static/browser/ldap-user-editor/components/UserTree.js.map +1 -0
  248. package/static/browser/ldap-user-editor/index.js +2 -0
  249. package/static/browser/ldap-user-editor/index.js.map +1 -0
  250. package/static/browser/ldap-user-editor/types.js +2 -0
  251. package/static/browser/ldap-user-editor/types.js.map +1 -0
  252. package/static/browser/ldap-user-editor.css +2 -0
  253. package/static/browser/ldap-user-editor.css.map +1 -0
  254. package/static/browser/ldap-user-editor.esm.js +1897 -0
  255. package/static/browser/ldap-user-editor.esm.js.map +1 -0
  256. package/static/browser/ldap-user-editor.js +1905 -0
  257. package/static/browser/ldap-user-editor.js.map +1 -0
  258. package/static/browser/ldap-user-editor.min.js +2 -0
  259. package/static/browser/ldap-user-editor.min.js.map +1 -0
  260. package/static/browser/shared/components/Modal.js +121 -0
  261. package/static/browser/shared/components/Modal.js.map +1 -0
  262. package/static/browser/shared/components/StatusMessage.js +119 -0
  263. package/static/browser/shared/components/StatusMessage.js.map +1 -0
  264. package/static/browser/shared/index.js +7 -0
  265. package/static/browser/shared/index.js.map +1 -0
  266. package/static/browser/shared/types/index.js +37 -0
  267. package/static/browser/shared/types/index.js.map +1 -0
  268. package/static/browser/shared/utils/dom.js +78 -0
  269. package/static/browser/shared/utils/dom.js.map +1 -0
  270. package/static/browser/shared/utils/form.js +234 -0
  271. package/static/browser/shared/utils/form.js.map +1 -0
  272. package/static/browser/shared/utils/schema.js +121 -0
  273. package/static/browser/shared/utils/schema.js.map +1 -0
  274. package/static/browser/shared.esm.js +694 -0
  275. package/static/browser/shared.esm.js.map +1 -0
  276. package/static/browser/shared.js +723 -0
  277. package/static/browser/shared.js.map +1 -0
  278. package/static/browser/shared.min.js +2 -0
  279. package/static/browser/shared.min.js.map +1 -0
  280. package/static/schemas/ad/computers.json +92 -0
  281. package/static/schemas/ad/groups.json +55 -0
  282. package/static/schemas/ad/organizations.json +66 -0
  283. package/static/schemas/ad/users.json +116 -0
  284. package/static/schemas/standard/devices.json +72 -0
  285. package/static/schemas/standard/groups.json +54 -0
  286. package/static/schemas/standard/organizations.json +49 -0
  287. package/static/schemas/standard/users.json +86 -0
  288. package/static/schemas/twake/groups.json +75 -0
  289. package/static/schemas/twake/nomenclature/twakeAccountStatus.json +31 -0
  290. package/static/schemas/twake/nomenclature/twakeDeliveryMode.json +31 -0
  291. package/static/schemas/twake/nomenclature/twakeListType.json +31 -0
  292. package/static/schemas/twake/nomenclature/twakeMailboxType.json +31 -0
  293. package/static/schemas/twake/nomenclature/twakeTitle.json +31 -0
  294. package/static/schemas/twake/organizations.json +52 -0
  295. package/static/schemas/twake/positions.json +32 -0
  296. package/static/schemas/twake/users.json +112 -0
@@ -0,0 +1,86 @@
1
+ {
2
+ "entity": {
3
+ "name": "standardUser",
4
+ "mainAttribute": "uid",
5
+ "objectClass": ["top", "inetOrgPerson", "organizationalPerson", "person"],
6
+ "singularName": "user",
7
+ "pluralName": "users",
8
+ "base": "ou=users,__ldap_base__"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string",
16
+ "test": "^[a-zA-Z][a-zA-Z0-9-]*$"
17
+ },
18
+ "default": ["top", "inetOrgPerson", "organizationalPerson", "person"],
19
+ "required": true,
20
+ "fixed": true
21
+ },
22
+ "uid": {
23
+ "type": "string",
24
+ "test": "^[a-zA-Z0-9._-]{1,255}$",
25
+ "required": true,
26
+ "role": "identifier"
27
+ },
28
+ "cn": {
29
+ "type": "string",
30
+ "required": true
31
+ },
32
+ "sn": {
33
+ "type": "string",
34
+ "required": true
35
+ },
36
+ "mail": {
37
+ "type": "string",
38
+ "test": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
39
+ "required": false,
40
+ "role": "primaryEmail"
41
+ },
42
+ "mailAlternateAddress": {
43
+ "type": "array",
44
+ "items": {
45
+ "type": "string",
46
+ "test": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
47
+ },
48
+ "required": false,
49
+ "role": "emailAliases"
50
+ },
51
+ "mailQuota": {
52
+ "type": "number",
53
+ "required": false,
54
+ "role": "emailQuota"
55
+ },
56
+ "givenName": {
57
+ "type": "string",
58
+ "required": false
59
+ },
60
+ "displayName": {
61
+ "type": "string",
62
+ "required": false
63
+ },
64
+ "telephoneNumber": {
65
+ "type": "string",
66
+ "required": false
67
+ },
68
+ "mobile": {
69
+ "type": "string",
70
+ "required": false
71
+ },
72
+ "userPassword": {
73
+ "type": "string",
74
+ "required": false
75
+ },
76
+ "departmentNumber": {
77
+ "type": "string",
78
+ "test": "^.*,__LDAP_BASE__",
79
+ "required": false
80
+ },
81
+ "ou": {
82
+ "type": "string",
83
+ "required": false
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakeGroup",
4
+ "mainAttribute": "cn",
5
+ "objectClass": ["top", "groupOfNames", "twakeStaticGroup"],
6
+ "singularName": "group",
7
+ "pluralName": "groups",
8
+ "base": "ou=groups,__ldap_base__"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string",
16
+ "test": "^[a-zA-Z][a-zA-Z0-9-]*$"
17
+ },
18
+ "default": ["top", "groupOfNames", "twakeStaticGroup"],
19
+ "required": true,
20
+ "fixed": true
21
+ },
22
+ "cn": {
23
+ "type": "string",
24
+ "test": "^[a-zA-Z][a-zA-Z0-9-]{0,254}$",
25
+ "required": true,
26
+ "role": "identifier"
27
+ },
28
+ "description": {
29
+ "type": "string",
30
+ "required": false
31
+ },
32
+ "mail": {
33
+ "type": "string",
34
+ "test": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
35
+ "required": false,
36
+ "role": "primaryEmail"
37
+ },
38
+ "twakeMailboxType": {
39
+ "type": "pointer",
40
+ "branch": ["ou=twakeMailboxType,ou=nomenclature,__LDAP_BASE__"],
41
+ "group": "Mailbox Settings",
42
+ "required": false
43
+ },
44
+ "member": {
45
+ "type": "array",
46
+ "items": {
47
+ "type": "string",
48
+ "test": "^[a-zA-Z]+=.*,__LDAP_BASE__$"
49
+ },
50
+ "required": false,
51
+ "role": "members"
52
+ },
53
+ "owner": {
54
+ "type": "array",
55
+ "items": {
56
+ "type": "string",
57
+ "test": "^[a-zA-Z]+=[a-zA-Z][a-zA-Z0-9-]*,__LDAP_BASE__$"
58
+ },
59
+ "required": false,
60
+ "role": "owners"
61
+ },
62
+ "twakeDepartmentLink": {
63
+ "type": "string",
64
+ "test": "^.*,__LDAP_BASE__",
65
+ "required": true,
66
+ "role": "organizationLink"
67
+ },
68
+ "twakeDepartmentPath": {
69
+ "type": "string",
70
+ "test": "^[\\w\\s/,]+$",
71
+ "required": true,
72
+ "role": "organizationPath"
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakeAccountStatus",
4
+ "mainAttribute": "cn",
5
+ "objectClass": ["top", "applicationProcess"],
6
+ "singularName": "accountStatus",
7
+ "pluralName": "accountStatuses",
8
+ "base": "ou=twakeAccountStatus,ou=nomenclature,{ldap_base}"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string"
16
+ },
17
+ "default": ["top", "applicationProcess"],
18
+ "required": true,
19
+ "fixed": true
20
+ },
21
+ "cn": {
22
+ "type": "string",
23
+ "test": "^[a-zA-Z][a-zA-Z0-9]+$",
24
+ "required": true
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "required": false
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakeDeliveryMode",
4
+ "mainAttribute": "cn",
5
+ "objectClass": ["top", "applicationProcess"],
6
+ "singularName": "deliveryMode",
7
+ "pluralName": "deliveryModes",
8
+ "base": "ou=twakeDeliveryMode,ou=nomenclature,{ldap_base}"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string"
16
+ },
17
+ "default": ["top", "applicationProcess"],
18
+ "required": true,
19
+ "fixed": true
20
+ },
21
+ "cn": {
22
+ "type": "string",
23
+ "test": "^[a-zA-Z][a-zA-Z0-9]+$",
24
+ "required": true
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "required": false
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakeListType",
4
+ "mainAttribute": "cn",
5
+ "objectClass": ["top", "applicationProcess"],
6
+ "singularName": "listType",
7
+ "pluralName": "listTypes",
8
+ "base": "ou=twakeListType,ou=nomenclature,{ldap_base}"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string"
16
+ },
17
+ "default": ["top", "applicationProcess"],
18
+ "required": true,
19
+ "fixed": true
20
+ },
21
+ "cn": {
22
+ "type": "string",
23
+ "test": "^[a-zA-Z][a-zA-Z0-9]+$",
24
+ "required": true
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "required": false
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakeMailboxType",
4
+ "mainAttribute": "cn",
5
+ "objectClass": ["top", "applicationProcess"],
6
+ "singularName": "mailboxType",
7
+ "pluralName": "mailboxTypes",
8
+ "base": "ou=twakeMailboxType,ou=nomenclature,{ldap_base}"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string"
16
+ },
17
+ "default": ["top", "applicationProcess"],
18
+ "required": true,
19
+ "fixed": true
20
+ },
21
+ "cn": {
22
+ "type": "string",
23
+ "test": "^(group|mailingList|teamMailbox)$",
24
+ "required": true
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "required": false
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakeTitle",
4
+ "mainAttribute": "cn",
5
+ "objectClass": ["top", "applicationProcess"],
6
+ "singularName": "title",
7
+ "pluralName": "titles",
8
+ "base": "ou=twakeTitle,ou=nomenclature,{ldap_base}"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string"
16
+ },
17
+ "default": ["top", "applicationProcess"],
18
+ "required": true,
19
+ "fixed": true
20
+ },
21
+ "cn": {
22
+ "type": "string",
23
+ "test": "^[a-zA-Z][a-zA-Z0-9 .]+$",
24
+ "required": true
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "required": false
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "strict": true,
3
+ "attributes": {
4
+ "objectClass": {
5
+ "type": "array",
6
+ "items": {
7
+ "type": "string",
8
+ "test": "^[a-zA-Z][a-zA-Z0-9-]*$"
9
+ },
10
+ "default": ["top", "organizationalUnit", "twakeDepartment"],
11
+ "required": true,
12
+ "fixed": true
13
+ },
14
+ "ou": {
15
+ "type": "string",
16
+ "test": "^[a-zA-Z0-9._-]{1,255}$",
17
+ "required": true
18
+ },
19
+ "description": {
20
+ "type": "string",
21
+ "required": false
22
+ },
23
+ "telephoneNumber": {
24
+ "type": "string",
25
+ "required": false
26
+ },
27
+ "facsimileTelephoneNumber": {
28
+ "type": "string",
29
+ "required": false
30
+ },
31
+ "l": {
32
+ "type": "string",
33
+ "required": false
34
+ },
35
+ "postalAddress": {
36
+ "type": "string",
37
+ "required": false
38
+ },
39
+ "twakeDepartmentPath": {
40
+ "type": "string",
41
+ "test": "^[\\w\\s/,]+$",
42
+ "required": true
43
+ },
44
+ "twakeLocalAdminLink": {
45
+ "type": "array",
46
+ "items": {
47
+ "type": "string"
48
+ },
49
+ "required": false
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakePosition",
4
+ "mainAttribute": "cn",
5
+ "objectClass": ["top", "twakePosition"],
6
+ "singularName": "position",
7
+ "pluralName": "positions",
8
+ "base": "ou=positions,{ldap_base}"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string",
16
+ "test": "^[a-zA-Z][a-zA-Z0-9-]*$"
17
+ },
18
+ "default": ["top", "twakePosition"],
19
+ "required": true,
20
+ "fixed": true
21
+ },
22
+ "cn": {
23
+ "type": "string",
24
+ "test": "^[a-zA-Z0-9 &/,.-]+$",
25
+ "required": true
26
+ },
27
+ "description": {
28
+ "type": "string",
29
+ "required": false
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "entity": {
3
+ "name": "twakeUser",
4
+ "mainAttribute": "uid",
5
+ "objectClass": ["top", "twakeAccount", "twakeWhitePages"],
6
+ "singularName": "user",
7
+ "pluralName": "users",
8
+ "base": "ou=users,__ldap_base__"
9
+ },
10
+ "strict": true,
11
+ "attributes": {
12
+ "objectClass": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string",
16
+ "test": "^[a-zA-Z][a-zA-Z0-9-]*$"
17
+ },
18
+ "default": ["top", "twakeAccount", "twakeWhitePages"],
19
+ "required": true,
20
+ "fixed": true
21
+ },
22
+ "uid": {
23
+ "type": "string",
24
+ "test": "^[a-zA-Z0-9._-]{1,255}$",
25
+ "required": true,
26
+ "role": "identifier"
27
+ },
28
+ "cn": {
29
+ "type": "string",
30
+ "required": true,
31
+ "role": "displayName"
32
+ },
33
+ "sn": {
34
+ "type": "string",
35
+ "required": true
36
+ },
37
+ "mail": {
38
+ "type": "string",
39
+ "test": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
40
+ "required": false,
41
+ "role": "primaryEmail"
42
+ },
43
+ "mailAlternateAddress": {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "string",
47
+ "test": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
48
+ },
49
+ "required": false,
50
+ "role": "emailAliases"
51
+ },
52
+ "mailQuota": {
53
+ "type": "number",
54
+ "required": false,
55
+ "role": "emailQuota"
56
+ },
57
+ "givenName": {
58
+ "type": "string",
59
+ "required": false
60
+ },
61
+ "displayName": {
62
+ "type": "string",
63
+ "required": false
64
+ },
65
+ "telephoneNumber": {
66
+ "type": "string",
67
+ "required": false
68
+ },
69
+ "mobile": {
70
+ "type": "string",
71
+ "required": false
72
+ },
73
+ "userPassword": {
74
+ "type": "string",
75
+ "required": false
76
+ },
77
+ "twakeDepartmentLink": {
78
+ "type": "string",
79
+ "test": "^.*,__LDAP_BASE__",
80
+ "required": true,
81
+ "role": "organizationLink"
82
+ },
83
+ "twakeDepartmentPath": {
84
+ "type": "string",
85
+ "test": "^[\\w\\s/,]+$",
86
+ "required": true,
87
+ "role": "organizationPath"
88
+ },
89
+ "twakeAccountStatus": {
90
+ "type": "pointer",
91
+ "branch": ["ou=twakeAccountStatus,ou=nomenclature,__LDAP_BASE__"],
92
+ "required": true
93
+ },
94
+ "twakeDeliveryMode": {
95
+ "type": "pointer",
96
+ "branch": ["ou=twakeDeliveryMode,ou=nomenclature,__LDAP_BASE__"],
97
+ "required": true
98
+ },
99
+ "twakeDelegatedUsers": {
100
+ "type": "array",
101
+ "items": {
102
+ "type": "pointer",
103
+ "branch": ["ou=users,__LDAP_BASE__"]
104
+ },
105
+ "required": false
106
+ },
107
+ "mailQuotaSize": {
108
+ "type": "integer",
109
+ "required": false
110
+ }
111
+ }
112
+ }