@tachybase/module-hera 1.9.8

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 (262) hide show
  1. package/.turbo/turbo-build.log +11 -0
  2. package/README.md +1 -0
  3. package/client.d.ts +2 -0
  4. package/client.js +1 -0
  5. package/dist/client/components/PDFViewer.d.ts +11 -0
  6. package/dist/client/components/SignatureInput.d.ts +2 -0
  7. package/dist/client/components/SignaturePad.d.ts +240 -0
  8. package/dist/client/components/custom-components/CustomAssociatedField.d.ts +2 -0
  9. package/dist/client/components/custom-components/CustomComponentDispatcher.d.ts +5 -0
  10. package/dist/client/components/custom-components/CustomField.d.ts +2 -0
  11. package/dist/client/components/custom-components/ErrorBoundary.d.ts +2 -0
  12. package/dist/client/components/custom-components/custom-components.d.ts +21 -0
  13. package/dist/client/components/excel-table/ExcelFile.d.ts +2 -0
  14. package/dist/client/components/excel-table/Sheet.d.ts +10 -0
  15. package/dist/client/components/fields/AssociatedField.d.ts +7 -0
  16. package/dist/client/components/fields/CalcResult.d.ts +1 -0
  17. package/dist/client/components/fields/Expression.d.ts +3 -0
  18. package/dist/client/components/index.d.ts +11 -0
  19. package/dist/client/components/modal-full-screen/ModalFullScreen.d.ts +15 -0
  20. package/dist/client/components/modal-full-screen/ModalFullScreenChild.d.ts +2 -0
  21. package/dist/client/features/block-group/GroupBlock.d.ts +4 -0
  22. package/dist/client/features/block-group/GroupBlockConfigure.d.ts +19 -0
  23. package/dist/client/features/block-group/GroupBlockInitializer.d.ts +9 -0
  24. package/dist/client/features/block-group/index.d.ts +4 -0
  25. package/dist/client/features/custom-components/index.d.ts +5 -0
  26. package/dist/client/features/departments/common/DepartmentTable.schema.d.ts +50 -0
  27. package/dist/client/features/departments/common/DepartmentTable.view.d.ts +5 -0
  28. package/dist/client/features/departments/common/FilterKeys.context.d.ts +10 -0
  29. package/dist/client/features/departments/common/InternalDepartmentTable.d.ts +6 -0
  30. package/dist/client/features/departments/common/Request.povider.d.ts +2 -0
  31. package/dist/client/features/departments/common/UserDepartmentsFieldNotSupport.d.ts +2 -0
  32. package/dist/client/features/departments/common/scopes/useDepartmentFilterActionProps.d.ts +5 -0
  33. package/dist/client/features/departments/common/scopes/useFilterActionProps.d.ts +5 -0
  34. package/dist/client/features/departments/index.d.ts +5 -0
  35. package/dist/client/features/departments/main-tab/DepartmentIndex.d.ts +6 -0
  36. package/dist/client/features/departments/main-tab/DepartmentIndex.provider.d.ts +4 -0
  37. package/dist/client/features/departments/main-tab/DepartmentManagement.component.d.ts +2 -0
  38. package/dist/client/features/departments/main-tab/DepartmentManagement.schema.d.ts +10 -0
  39. package/dist/client/features/departments/main-tab/DepartmentManagement.view.d.ts +2 -0
  40. package/dist/client/features/departments/main-tab/collections/departments.collection.d.ts +128 -0
  41. package/dist/client/features/departments/main-tab/collections/users.collection.d.ts +189 -0
  42. package/dist/client/features/departments/main-tab/components/DepartmentSelect.d.ts +2 -0
  43. package/dist/client/features/departments/main-tab/components/InternalSuperiorDepartmentSelect.d.ts +2 -0
  44. package/dist/client/features/departments/main-tab/components/SuperiorDepartmentSelect.d.ts +2 -0
  45. package/dist/client/features/departments/main-tab/context/Department.context.d.ts +23 -0
  46. package/dist/client/features/departments/main-tab/context/DepartmentsExpanded.context.d.ts +17 -0
  47. package/dist/client/features/departments/main-tab/departments-block/AddNewDepartment.schema.d.ts +67 -0
  48. package/dist/client/features/departments/main-tab/departments-block/AddNewDepartment.view.d.ts +2 -0
  49. package/dist/client/features/departments/main-tab/departments-block/DepartmentOwnersField.component.d.ts +6 -0
  50. package/dist/client/features/departments/main-tab/departments-block/DepartmentsBlock.d.ts +2 -0
  51. package/dist/client/features/departments/main-tab/departments-block/DepartmentsSearch.component.d.ts +2 -0
  52. package/dist/client/features/departments/main-tab/departments-block/DepartmentsTree.component.d.ts +9 -0
  53. package/dist/client/features/departments/main-tab/departments-block/Request.provider.d.ts +2 -0
  54. package/dist/client/features/departments/main-tab/departments-block/UnknownOwerns.schema.d.ts +136 -0
  55. package/dist/client/features/departments/main-tab/departments-block/UnknownOwerns.view.d.ts +2 -0
  56. package/dist/client/features/departments/main-tab/departments-block/schemas/schemaDepartmentEdit.d.ts +62 -0
  57. package/dist/client/features/departments/main-tab/departments-block/schemas/schemaDepartmentNewSub.d.ts +57 -0
  58. package/dist/client/features/departments/main-tab/departments-block/scopes/useCreateDepartment.d.ts +3 -0
  59. package/dist/client/features/departments/main-tab/departments-block/scopes/useUpdateDepartment.d.ts +3 -0
  60. package/dist/client/features/departments/main-tab/departments-users-block/AddMembers.schema.d.ts +148 -0
  61. package/dist/client/features/departments/main-tab/departments-users-block/AddMembers.view.d.ts +2 -0
  62. package/dist/client/features/departments/main-tab/departments-users-block/DepartmentField.component.d.ts +2 -0
  63. package/dist/client/features/departments/main-tab/departments-users-block/DepartmentsUsersBlock.d.ts +2 -0
  64. package/dist/client/features/departments/main-tab/departments-users-block/DepartmentsUsersBlock.schema.d.ts +676 -0
  65. package/dist/client/features/departments/main-tab/departments-users-block/IsOwnerField.component.d.ts +2 -0
  66. package/dist/client/features/departments/main-tab/departments-users-block/MemberActions.schema.d.ts +49 -0
  67. package/dist/client/features/departments/main-tab/departments-users-block/MemberActions.view.d.ts +2 -0
  68. package/dist/client/features/departments/main-tab/departments-users-block/RowRemoveAction.schema.d.ts +16 -0
  69. package/dist/client/features/departments/main-tab/departments-users-block/RowRemoveAction.view.d.ts +2 -0
  70. package/dist/client/features/departments/main-tab/departments-users-block/UserDepartmentsField.component.d.ts +2 -0
  71. package/dist/client/features/departments/main-tab/departments-users-block/UserSelectDepartment.schema.d.ts +42 -0
  72. package/dist/client/features/departments/main-tab/departments-users-block/UserSelectDepartment.view.d.ts +2 -0
  73. package/dist/client/features/departments/main-tab/departments-users-block/scopes/useBulkRemoveMembersAction.d.ts +3 -0
  74. package/dist/client/features/departments/main-tab/departments-users-block/scopes/useDataSource.d.ts +40 -0
  75. package/dist/client/features/departments/main-tab/departments-users-block/scopes/useMembersDataSource.d.ts +6 -0
  76. package/dist/client/features/departments/main-tab/departments-users-block/scopes/usePropsAddMember.d.ts +1 -0
  77. package/dist/client/features/departments/main-tab/departments-users-block/scopes/useRefreshActionProps.d.ts +3 -0
  78. package/dist/client/features/departments/main-tab/departments-users-block/scopes/useRemoveMemberAction.d.ts +3 -0
  79. package/dist/client/features/departments/main-tab/departments-users-block/scopes/useShowTotal.d.ts +1 -0
  80. package/dist/client/features/departments/main-tab/hooks/useDeepTree.d.ts +14 -0
  81. package/dist/client/features/departments/main-tab/hooks/useGetDepTree.d.ts +18 -0
  82. package/dist/client/features/departments/main-tab/kit.d.ts +4 -0
  83. package/dist/client/features/departments/main-tab/providers/DepartmentsResource.provider.d.ts +4 -0
  84. package/dist/client/features/departments/main-tab/providers/UserResource.provider.d.ts +4 -0
  85. package/dist/client/features/departments/role-auth/DepartmentTitle.component.d.ts +2 -0
  86. package/dist/client/features/departments/role-auth/Departments.d.ts +2 -0
  87. package/dist/client/features/departments/role-auth/Departments.schema.d.ts +227 -0
  88. package/dist/client/features/departments/role-auth/kit.d.ts +4 -0
  89. package/dist/client/features/departments/role-auth/scopes/useAddDepartments.d.ts +3 -0
  90. package/dist/client/features/departments/role-auth/scopes/useBulkRemoveDepartments.d.ts +3 -0
  91. package/dist/client/features/departments/role-auth/scopes/useDataSource.d.ts +40 -0
  92. package/dist/client/features/departments/role-auth/scopes/useDisabled.d.ts +3 -0
  93. package/dist/client/features/departments/role-auth/scopes/useRemoveDepartment.d.ts +3 -0
  94. package/dist/client/features/departments/settings/DepartmentOwnersFieldSetting.d.ts +2 -0
  95. package/dist/client/features/departments/settings/UserDepartmentsFieldSetting.d.ts +2 -0
  96. package/dist/client/features/departments/settings/UserMainDepartmentFieldSetting.d.ts +2 -0
  97. package/dist/client/features/departments/settings/items/enableLinkItem.d.ts +2 -0
  98. package/dist/client/features/departments/settings/items/modeSelectItem.d.ts +2 -0
  99. package/dist/client/features/departments/settings/items/titleFieldItem.d.ts +2 -0
  100. package/dist/client/features/departments/utils/getDepartmentStr.d.ts +1 -0
  101. package/dist/client/features/departments/utils/getUserListByDepartment.d.ts +1 -0
  102. package/dist/client/features/embed/EmbedLayout.d.ts +2 -0
  103. package/dist/client/features/embed/EmbedPage.d.ts +2 -0
  104. package/dist/client/features/embed/EmbedSchemaComponent.d.ts +2 -0
  105. package/dist/client/features/embed/NotAuthorityResult.d.ts +2 -0
  106. package/dist/client/features/embed/index.d.ts +4 -0
  107. package/dist/client/features/embed/useEmbedToken.d.ts +1 -0
  108. package/dist/client/features/embed/usePageSettingsProps.d.ts +4 -0
  109. package/dist/client/features/field-appends/index.d.ts +4 -0
  110. package/dist/client/features/field-appends/show-code/Code.interface.d.ts +74 -0
  111. package/dist/client/features/field-appends/show-code/Code.view.d.ts +3 -0
  112. package/dist/client/features/field-appends/show-formula/Formula.interface.d.ts +75 -0
  113. package/dist/client/features/field-appends/show-formula/Formula.view.d.ts +3 -0
  114. package/dist/client/features/hera-version/HeraVersion.provider.d.ts +4 -0
  115. package/dist/client/features/hera-version/index.d.ts +4 -0
  116. package/dist/client/features/mode-highlight/ModeHighlight.provider.d.ts +4 -0
  117. package/dist/client/features/mode-highlight/index.d.ts +4 -0
  118. package/dist/client/features/outbound/OutboundLinkActionInitializer.d.ts +6 -0
  119. package/dist/client/features/outbound/OutboundPage.d.ts +2 -0
  120. package/dist/client/features/outbound/index.d.ts +4 -0
  121. package/dist/client/features/outbound/useOutboundActionProps.d.ts +3 -0
  122. package/dist/client/features/pdf/PDFVIewerBlockInitializer.d.ts +10 -0
  123. package/dist/client/features/pdf/PDFViewer.d.ts +2 -0
  124. package/dist/client/features/pdf/index.d.ts +4 -0
  125. package/dist/client/features/sheet/SheetBlockInitializer.d.ts +8 -0
  126. package/dist/client/features/sheet/index.d.ts +4 -0
  127. package/dist/client/hooks/useCustomComponent.d.ts +5 -0
  128. package/dist/client/hooks/useGetCustomAssociatedComponents.d.ts +4 -0
  129. package/dist/client/hooks/useGetCustomComponents.d.ts +4 -0
  130. package/dist/client/hooks/useNotifications.d.ts +2 -0
  131. package/dist/client/hooks/usePluginVersion.d.ts +1 -0
  132. package/dist/client/hooks/useTokenConfiguration.d.ts +3 -0
  133. package/dist/client/index.d.ts +16 -0
  134. package/dist/client/index.js +93 -0
  135. package/dist/client/interfaces/AssociatedFieldInterface.d.ts +118 -0
  136. package/dist/client/interfaces/CalcFieldInterface.d.ts +120 -0
  137. package/dist/client/interfaces/CustomAssociatedFieldInterface.d.ts +69 -0
  138. package/dist/client/interfaces/CustomFieldInterface.d.ts +45 -0
  139. package/dist/client/interfaces/ExcelFieldInterface.d.ts +38 -0
  140. package/dist/client/interfaces/SignaturePadFieldInterface.d.ts +38 -0
  141. package/dist/client/interfaces/TstzrangeFieldInterface.d.ts +41 -0
  142. package/dist/client/interfaces/index.d.ts +6 -0
  143. package/dist/client/locale.d.ts +9 -0
  144. package/dist/client/schema-initializer/blocks/SettingBlockInitializer.d.ts +2 -0
  145. package/dist/client/schema-initializer/index.d.ts +1 -0
  146. package/dist/client/schema-settings/SchemaSettingsDatePickerType.d.ts +2 -0
  147. package/dist/client/schema-settings/SchemaSettingsDatePresets.d.ts +11 -0
  148. package/dist/client/schema-settings/SchemaSettingsSubmitDataType.d.ts +5 -0
  149. package/dist/client/schema-settings/index.d.ts +4 -0
  150. package/dist/client/settings-manager-components/LinkManager.d.ts +2 -0
  151. package/dist/client/settings-manager-components/TokenConfiguration.d.ts +6 -0
  152. package/dist/client/settings-manager-components/index.d.ts +8 -0
  153. package/dist/client/utils.d.ts +2 -0
  154. package/dist/externalVersion.js +21 -0
  155. package/dist/index.d.ts +2 -0
  156. package/dist/index.js +39 -0
  157. package/dist/locale/en-US.json +94 -0
  158. package/dist/locale/zh-CN.json +94 -0
  159. package/dist/node_modules/fs-extra/LICENSE +15 -0
  160. package/dist/node_modules/fs-extra/lib/copy/copy-sync.js +161 -0
  161. package/dist/node_modules/fs-extra/lib/copy/copy.js +177 -0
  162. package/dist/node_modules/fs-extra/lib/copy/index.js +7 -0
  163. package/dist/node_modules/fs-extra/lib/empty/index.js +39 -0
  164. package/dist/node_modules/fs-extra/lib/ensure/file.js +66 -0
  165. package/dist/node_modules/fs-extra/lib/ensure/index.js +23 -0
  166. package/dist/node_modules/fs-extra/lib/ensure/link.js +64 -0
  167. package/dist/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
  168. package/dist/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
  169. package/dist/node_modules/fs-extra/lib/ensure/symlink.js +67 -0
  170. package/dist/node_modules/fs-extra/lib/fs/index.js +140 -0
  171. package/dist/node_modules/fs-extra/lib/index.js +1 -0
  172. package/dist/node_modules/fs-extra/lib/json/index.js +16 -0
  173. package/dist/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  174. package/dist/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  175. package/dist/node_modules/fs-extra/lib/json/output-json.js +12 -0
  176. package/dist/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  177. package/dist/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
  178. package/dist/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
  179. package/dist/node_modules/fs-extra/lib/move/index.js +7 -0
  180. package/dist/node_modules/fs-extra/lib/move/move-sync.js +55 -0
  181. package/dist/node_modules/fs-extra/lib/move/move.js +59 -0
  182. package/dist/node_modules/fs-extra/lib/output-file/index.js +31 -0
  183. package/dist/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  184. package/dist/node_modules/fs-extra/lib/remove/index.js +17 -0
  185. package/dist/node_modules/fs-extra/lib/util/stat.js +158 -0
  186. package/dist/node_modules/fs-extra/lib/util/utimes.js +36 -0
  187. package/dist/node_modules/fs-extra/package.json +1 -0
  188. package/dist/server/actions/departments.d.ts +5 -0
  189. package/dist/server/actions/departments.js +105 -0
  190. package/dist/server/actions/index.d.ts +7 -0
  191. package/dist/server/actions/index.js +33 -0
  192. package/dist/server/actions/link-manager-controller.d.ts +6 -0
  193. package/dist/server/actions/link-manager-controller.js +133 -0
  194. package/dist/server/actions/plugin-version.d.ts +6 -0
  195. package/dist/server/actions/plugin-version.js +91 -0
  196. package/dist/server/actions/robot-controller.d.ts +5 -0
  197. package/dist/server/actions/robot-controller.js +134 -0
  198. package/dist/server/actions/system-message-controller.d.ts +5 -0
  199. package/dist/server/actions/system-message-controller.js +106 -0
  200. package/dist/server/actions/token-configuration-controller.d.ts +5 -0
  201. package/dist/server/actions/token-configuration-controller.js +120 -0
  202. package/dist/server/actions/users.d.ts +4 -0
  203. package/dist/server/actions/users.js +142 -0
  204. package/dist/server/collections/departmentRoles.d.ts +2 -0
  205. package/dist/server/collections/departmentRoles.js +27 -0
  206. package/dist/server/collections/departments.d.ts +29 -0
  207. package/dist/server/collections/departments.js +162 -0
  208. package/dist/server/collections/departmentsUsers.d.ts +2 -0
  209. package/dist/server/collections/departmentsUsers.js +43 -0
  210. package/dist/server/collections/link-manage.d.ts +2 -0
  211. package/dist/server/collections/link-manage.js +42 -0
  212. package/dist/server/collections/roles.d.ts +2 -0
  213. package/dist/server/collections/roles.js +39 -0
  214. package/dist/server/collections/systemSettings.d.ts +2 -0
  215. package/dist/server/collections/systemSettings.js +33 -0
  216. package/dist/server/collections/system_message.d.ts +2 -0
  217. package/dist/server/collections/system_message.js +67 -0
  218. package/dist/server/collections/token-configuration.d.ts +2 -0
  219. package/dist/server/collections/token-configuration.js +54 -0
  220. package/dist/server/collections/users.d.ts +55 -0
  221. package/dist/server/collections/users.js +87 -0
  222. package/dist/server/features/departments.d.ts +7 -0
  223. package/dist/server/features/departments.js +132 -0
  224. package/dist/server/fields/calc.d.ts +11 -0
  225. package/dist/server/fields/calc.js +43 -0
  226. package/dist/server/fields/tstzrange.d.ts +7 -0
  227. package/dist/server/fields/tstzrange.js +28 -0
  228. package/dist/server/index.d.ts +3 -0
  229. package/dist/server/index.js +41 -0
  230. package/dist/server/middlewares/destroy-department-check.d.ts +2 -0
  231. package/dist/server/middlewares/destroy-department-check.js +53 -0
  232. package/dist/server/middlewares/index.d.ts +6 -0
  233. package/dist/server/middlewares/index.js +31 -0
  234. package/dist/server/middlewares/list-users-include-child-department.d.ts +2 -0
  235. package/dist/server/middlewares/list-users-include-child-department.js +77 -0
  236. package/dist/server/middlewares/reset-user-departments-cache.d.ts +2 -0
  237. package/dist/server/middlewares/reset-user-departments-cache.js +39 -0
  238. package/dist/server/middlewares/set-department-owners.d.ts +2 -0
  239. package/dist/server/middlewares/set-department-owners.js +74 -0
  240. package/dist/server/middlewares/set-departments-roles.d.ts +2 -0
  241. package/dist/server/middlewares/set-departments-roles.js +64 -0
  242. package/dist/server/middlewares/set-main-department.d.ts +2 -0
  243. package/dist/server/middlewares/set-main-department.js +105 -0
  244. package/dist/server/middlewares/update-department-isleaf.d.ts +2 -0
  245. package/dist/server/middlewares/update-department-isleaf.js +84 -0
  246. package/dist/server/models/department.d.ts +4 -0
  247. package/dist/server/models/department.js +38 -0
  248. package/dist/server/plugin.d.ts +6 -0
  249. package/dist/server/plugin.js +111 -0
  250. package/dist/server/services/plugin-version.d.ts +5 -0
  251. package/dist/server/services/plugin-version.js +89 -0
  252. package/dist/server/services/sql-loader.d.ts +10 -0
  253. package/dist/server/services/sql-loader.js +129 -0
  254. package/dist/server/services/system-setting-service.d.ts +7 -0
  255. package/dist/server/services/system-setting-service.js +87 -0
  256. package/dist/server/utils/curren-formula.d.ts +1 -0
  257. package/dist/server/utils/curren-formula.js +30 -0
  258. package/dist/server/utils/multiprocess.d.ts +2 -0
  259. package/dist/server/utils/multiprocess.js +38 -0
  260. package/package.json +64 -0
  261. package/server.d.ts +2 -0
  262. package/server.js +1 -0
@@ -0,0 +1,132 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var departments_exports = {};
19
+ __export(departments_exports, {
20
+ DepartmentsPlugin: () => DepartmentsPlugin
21
+ });
22
+ module.exports = __toCommonJS(departments_exports);
23
+ var import_server = require("@tachybase/server");
24
+ var import_actions = require("../actions");
25
+ var import_users = require("../collections/users");
26
+ var import_middlewares = require("../middlewares");
27
+ var import_list_users_include_child_department = require("../middlewares/list-users-include-child-department");
28
+ var import_department = require("../models/department");
29
+ class DepartmentsPlugin extends import_server.Plugin {
30
+ beforeLoad() {
31
+ this.app.db.registerModels({ DepartmentModel: import_department.DepartmentModel });
32
+ this.app.acl.addFixedParams("collections", "destroy", () => {
33
+ return {
34
+ filter: {
35
+ "name.$notIn": ["departments", "departmentsUsers", "departmentsRoles"]
36
+ }
37
+ };
38
+ });
39
+ }
40
+ async load() {
41
+ this.app.resourcer.define({
42
+ name: "users",
43
+ actions: {
44
+ listExcludeDept: import_actions.listExcludeDept,
45
+ setMainDepartment: import_actions.setMainDepartment
46
+ }
47
+ });
48
+ this.app.resourcer.define({
49
+ name: "departments",
50
+ actions: {
51
+ aggregateSearch: import_actions.aggregateSearch,
52
+ setOwner: import_actions.setOwner,
53
+ removeOwner: import_actions.removeOwner
54
+ }
55
+ });
56
+ this.app.acl.allow("users", ["setMainDepartment", "listExcludeDept"], "loggedIn");
57
+ this.app.acl.registerSnippet({
58
+ name: `pm.${this.name}.*`,
59
+ actions: [
60
+ "departments:*",
61
+ "roles:list",
62
+ "users:list",
63
+ "users:listExcludeDept",
64
+ "users:setMainDepartment",
65
+ "roles.departments:add",
66
+ "roles.departments:remove",
67
+ "users.departments:add",
68
+ "users.departments:remove"
69
+ ]
70
+ });
71
+ this.app.resourcer.use(import_middlewares.setDepartmentsInfo, {
72
+ tag: "setDepartmentsInfo",
73
+ before: "setCurrentRole",
74
+ after: "auth"
75
+ });
76
+ this.app.resourcer.use(import_middlewares.setDepartmentOwners, { tag: "setDepartmentOwners" });
77
+ this.app.resourcer.use(import_middlewares.destroyDepartmentCheck, { tag: "destroyDepartmentCheck" });
78
+ this.app.resourcer.use(import_middlewares.updateDepartmentIsLeaf, { tag: "updateDepartmentIsLeaf" });
79
+ this.app.resourcer.use(import_middlewares.resetUserDepartmentsCache, { tag: "resetUserDepartmentsCache" });
80
+ this.app.resourcer.use(import_middlewares.setMainDepartment, { tag: "setMainDepartment" });
81
+ this.app.resourcer.use(import_list_users_include_child_department.listUsersIncludeChildDepartment, { tag: "listUsersIncludeChildDepartment" });
82
+ this.app.db.on("departmentsUsers.afterSave", async (model) => {
83
+ const cache = this.app.cache;
84
+ await cache.del(`departments:${model.get("userId")}`);
85
+ });
86
+ this.app.db.on("departmentsUsers.afterDestroy", async (model) => {
87
+ const cache = this.app.cache;
88
+ await cache.del(`departments:${model.get("userId")}`);
89
+ });
90
+ this.app.on("beforeSignOut", ({ userId }) => {
91
+ this.app.cache.del(`departments:${userId}`);
92
+ });
93
+ }
94
+ async upgrade() {
95
+ await this.install();
96
+ }
97
+ async install(options) {
98
+ const collectionRepo = this.db.getRepository("collections");
99
+ if (collectionRepo) {
100
+ await collectionRepo.db2cm("departments");
101
+ }
102
+ const fieldRepo = this.db.getRepository("fields");
103
+ if (fieldRepo) {
104
+ const isDepartmentsFieldExists = await fieldRepo.count({
105
+ filter: {
106
+ name: "departments",
107
+ collectionName: "users"
108
+ }
109
+ });
110
+ if (!isDepartmentsFieldExists) {
111
+ await fieldRepo.create({
112
+ values: import_users.departmentsField
113
+ });
114
+ }
115
+ const isMainDepartmentFieldExists = await fieldRepo.count({
116
+ filter: {
117
+ name: "mainDepartment",
118
+ collectionName: "users"
119
+ }
120
+ });
121
+ if (!isMainDepartmentFieldExists) {
122
+ await fieldRepo.create({
123
+ values: import_users.mainDepartmentField
124
+ });
125
+ }
126
+ }
127
+ }
128
+ }
129
+ // Annotate the CommonJS export names for ESM import in node:
130
+ 0 && (module.exports = {
131
+ DepartmentsPlugin
132
+ });
@@ -0,0 +1,11 @@
1
+ import { BaseColumnFieldOptions, DataTypes, Field, Model } from '@tachybase/database';
2
+ export interface CalcFieldOptions extends BaseColumnFieldOptions {
3
+ type: 'calc';
4
+ }
5
+ export default class CalcField extends Field {
6
+ get dataType(): DataTypes.StringDataTypeConstructor;
7
+ constructor(options: CalcFieldOptions, context: any);
8
+ setValue: (instance: Model) => void;
9
+ bind(): void;
10
+ unbind(): void;
11
+ }
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var calc_exports = {};
19
+ __export(calc_exports, {
20
+ default: () => CalcField
21
+ });
22
+ module.exports = __toCommonJS(calc_exports);
23
+ var import_database = require("@tachybase/database");
24
+ class CalcField extends import_database.Field {
25
+ get dataType() {
26
+ return import_database.DataTypes.STRING;
27
+ }
28
+ constructor(options, context) {
29
+ super(options, context);
30
+ }
31
+ setValue = (instance) => {
32
+ const { name } = this.options;
33
+ instance.set(name, "hello world");
34
+ };
35
+ bind() {
36
+ super.bind();
37
+ this.on("beforeCreate", this.setValue);
38
+ }
39
+ unbind() {
40
+ super.unbind();
41
+ this.off("beforeCreate", this.setValue);
42
+ }
43
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseColumnFieldOptions, DataTypes, Field } from '@tachybase/database';
2
+ export interface TstzrangeFieldOptions extends BaseColumnFieldOptions {
3
+ type: 'tstzrange';
4
+ }
5
+ export default class TstzrangeField extends Field {
6
+ get dataType(): DataTypes.RangeDataType<DataTypes.DateDataTypeConstructor>;
7
+ }
@@ -0,0 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var tstzrange_exports = {};
19
+ __export(tstzrange_exports, {
20
+ default: () => TstzrangeField
21
+ });
22
+ module.exports = __toCommonJS(tstzrange_exports);
23
+ var import_database = require("@tachybase/database");
24
+ class TstzrangeField extends import_database.Field {
25
+ get dataType() {
26
+ return import_database.DataTypes.RANGE(import_database.DataTypes.DATE);
27
+ }
28
+ }
@@ -0,0 +1,3 @@
1
+ export { default } from './plugin';
2
+ export * from './services/system-setting-service';
3
+ export * from './services/sql-loader';
@@ -0,0 +1,41 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var server_exports = {};
30
+ __export(server_exports, {
31
+ default: () => import_plugin.default
32
+ });
33
+ module.exports = __toCommonJS(server_exports);
34
+ var import_plugin = __toESM(require("./plugin"));
35
+ __reExport(server_exports, require("./services/system-setting-service"), module.exports);
36
+ __reExport(server_exports, require("./services/sql-loader"), module.exports);
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ ...require("./services/system-setting-service"),
40
+ ...require("./services/sql-loader")
41
+ });
@@ -0,0 +1,2 @@
1
+ import type { Context, Next } from '@tachybase/actions';
2
+ export declare const destroyDepartmentCheck: (ctx: Context, next: Next) => Promise<void>;
@@ -0,0 +1,53 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var destroy_department_check_exports = {};
19
+ __export(destroy_department_check_exports, {
20
+ destroyDepartmentCheck: () => destroyDepartmentCheck
21
+ });
22
+ module.exports = __toCommonJS(destroy_department_check_exports);
23
+ const destroyCheck = async (ctx) => {
24
+ const { filterByTk } = ctx.action.params;
25
+ const repo = ctx.db.getRepository("departments");
26
+ const children = await repo.count({
27
+ filter: {
28
+ parentId: filterByTk
29
+ }
30
+ });
31
+ if (children) {
32
+ ctx.throw(400, ctx.t("The department has sub-departments, please delete them first", { ns: "departments" }));
33
+ }
34
+ const members = await ctx.db.getRepository("departmentsUsers").count({
35
+ filter: {
36
+ departmentId: filterByTk
37
+ }
38
+ });
39
+ if (members) {
40
+ ctx.throw(400, ctx.t("The department has members, please remove them first", { ns: "departments" }));
41
+ }
42
+ };
43
+ const destroyDepartmentCheck = async (ctx, next) => {
44
+ const { resourceName, actionName } = ctx.action.params;
45
+ if (resourceName === "departments" && actionName === "destroy") {
46
+ await destroyCheck(ctx);
47
+ }
48
+ await next();
49
+ };
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ destroyDepartmentCheck
53
+ });
@@ -0,0 +1,6 @@
1
+ export * from './destroy-department-check';
2
+ export * from './reset-user-departments-cache';
3
+ export * from './set-department-owners';
4
+ export * from './update-department-isleaf';
5
+ export * from './set-departments-roles';
6
+ export * from './set-main-department';
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var middlewares_exports = {};
16
+ module.exports = __toCommonJS(middlewares_exports);
17
+ __reExport(middlewares_exports, require("./destroy-department-check"), module.exports);
18
+ __reExport(middlewares_exports, require("./reset-user-departments-cache"), module.exports);
19
+ __reExport(middlewares_exports, require("./set-department-owners"), module.exports);
20
+ __reExport(middlewares_exports, require("./update-department-isleaf"), module.exports);
21
+ __reExport(middlewares_exports, require("./set-departments-roles"), module.exports);
22
+ __reExport(middlewares_exports, require("./set-main-department"), module.exports);
23
+ // Annotate the CommonJS export names for ESM import in node:
24
+ 0 && (module.exports = {
25
+ ...require("./destroy-department-check"),
26
+ ...require("./reset-user-departments-cache"),
27
+ ...require("./set-department-owners"),
28
+ ...require("./update-department-isleaf"),
29
+ ...require("./set-departments-roles"),
30
+ ...require("./set-main-department")
31
+ });
@@ -0,0 +1,2 @@
1
+ import type { Context, Next } from '@tachybase/actions';
2
+ export declare const listUsersIncludeChildDepartment: (ctx: Context, next: Next) => Promise<any>;
@@ -0,0 +1,77 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var list_users_include_child_department_exports = {};
19
+ __export(list_users_include_child_department_exports, {
20
+ listUsersIncludeChildDepartment: () => listUsersIncludeChildDepartment
21
+ });
22
+ module.exports = __toCommonJS(list_users_include_child_department_exports);
23
+ function getChildIds(ids, departmentIds, departments) {
24
+ const children = departments.filter((department) => ids.includes(department.parentId));
25
+ const noLeaf = [];
26
+ children.forEach((child) => {
27
+ departmentIds.add(child.id);
28
+ if (!child.isLeaf) {
29
+ noLeaf.push(child.id);
30
+ }
31
+ });
32
+ if (noLeaf.length) {
33
+ getChildIds(noLeaf, departmentIds, departments);
34
+ }
35
+ }
36
+ async function getAllDepartmentIds(repo, parentId) {
37
+ const departments = await repo.find({
38
+ fields: ["id", "parentId", "isLeaf"],
39
+ raw: true
40
+ });
41
+ const departmentIds = /* @__PURE__ */ new Set([parentId]);
42
+ getChildIds([parentId], departmentIds, departments);
43
+ return [...departmentIds];
44
+ }
45
+ const listUsersIncludeChildDepartment = async (ctx, next) => {
46
+ var _a, _b;
47
+ const { filter, resourceName, actionName } = ctx.action.params;
48
+ const repo = ctx.db.getRepository("departments");
49
+ if (resourceName === "users" && actionName === "list") {
50
+ if ((filter == null ? void 0 : filter.showChildren) !== void 0) {
51
+ const showChildren = filter.showChildren;
52
+ delete filter.showChildren;
53
+ const departmentId = filter["departments.id"] || ((_a = filter == null ? void 0 : filter.departments) == null ? void 0 : _a.id);
54
+ if (showChildren && departmentId) {
55
+ const departmentIds = await getAllDepartmentIds(repo, departmentId);
56
+ if (departmentIds.length > 1) {
57
+ if ((_b = filter == null ? void 0 : filter.departments) == null ? void 0 : _b.id) {
58
+ delete filter.departments.id;
59
+ }
60
+ delete filter["departments.id"];
61
+ if (!filter.departments) {
62
+ filter.departments = {};
63
+ }
64
+ filter.departments.id = {
65
+ $in: departmentIds
66
+ };
67
+ }
68
+ }
69
+ }
70
+ return next();
71
+ }
72
+ return next();
73
+ };
74
+ // Annotate the CommonJS export names for ESM import in node:
75
+ 0 && (module.exports = {
76
+ listUsersIncludeChildDepartment
77
+ });
@@ -0,0 +1,2 @@
1
+ import type { Context, Next } from '@tachybase/actions';
2
+ export declare const resetUserDepartmentsCache: (ctx: Context, next: Next) => Promise<void>;
@@ -0,0 +1,39 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var reset_user_departments_cache_exports = {};
19
+ __export(reset_user_departments_cache_exports, {
20
+ resetUserDepartmentsCache: () => resetUserDepartmentsCache
21
+ });
22
+ module.exports = __toCommonJS(reset_user_departments_cache_exports);
23
+ const resetUserDepartmentsCache = async (ctx, next) => {
24
+ await next();
25
+ const { associatedName, resourceName, associatedIndex, actionName, values } = ctx.action.params;
26
+ const cache = ctx.app.cache;
27
+ if (associatedName === "departments" && resourceName === "members" && ["add", "remove", "set"].includes(actionName) && (values == null ? void 0 : values.length)) {
28
+ for (const memberId of values) {
29
+ await cache.del(`departments:${memberId}`);
30
+ }
31
+ }
32
+ if (associatedName === "users" && resourceName === "departments" && ["add", "remove", "set"].includes(actionName)) {
33
+ await cache.del(`departments:${associatedIndex}`);
34
+ }
35
+ };
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ resetUserDepartmentsCache
39
+ });
@@ -0,0 +1,2 @@
1
+ import type { Context, Next } from '@tachybase/actions';
2
+ export declare const setDepartmentOwners: (ctx: Context, next: Next) => Promise<any>;
@@ -0,0 +1,74 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var set_department_owners_exports = {};
29
+ __export(set_department_owners_exports, {
30
+ setDepartmentOwners: () => setDepartmentOwners
31
+ });
32
+ module.exports = __toCommonJS(set_department_owners_exports);
33
+ var import_lodash = __toESM(require("lodash"));
34
+ const setOwners = async (ctx, filterByTk, owners) => {
35
+ const throughRepo = ctx.db.getRepository("departmentsUsers");
36
+ await ctx.db.sequelize.transaction(async (t) => {
37
+ await throughRepo.update({
38
+ filter: {
39
+ departmentId: filterByTk
40
+ },
41
+ values: {
42
+ isOwner: false
43
+ },
44
+ transaction: t
45
+ });
46
+ await throughRepo.update({
47
+ filter: {
48
+ departmentId: filterByTk,
49
+ userId: {
50
+ $in: owners.map((owner) => owner.id)
51
+ }
52
+ },
53
+ values: {
54
+ isOwner: true
55
+ },
56
+ transaction: t
57
+ });
58
+ });
59
+ };
60
+ const setDepartmentOwners = async (ctx, next) => {
61
+ const { filterByTk, values = {}, resourceName, actionName } = ctx.action.params;
62
+ const { owners } = values;
63
+ if (resourceName === "departments" && actionName === "update" && owners) {
64
+ ctx.action.params.values = import_lodash.default.omit(values, ["owners"]);
65
+ await next();
66
+ await setOwners(ctx, filterByTk, owners);
67
+ } else {
68
+ return next();
69
+ }
70
+ };
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ setDepartmentOwners
74
+ });
@@ -0,0 +1,2 @@
1
+ import type { Context, Next } from '@tachybase/actions';
2
+ export declare const setDepartmentsInfo: (ctx: Context, next: Next) => Promise<any>;
@@ -0,0 +1,64 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var set_departments_roles_exports = {};
19
+ __export(set_departments_roles_exports, {
20
+ setDepartmentsInfo: () => setDepartmentsInfo
21
+ });
22
+ module.exports = __toCommonJS(set_departments_roles_exports);
23
+ const setDepartmentsInfo = async (ctx, next) => {
24
+ const currentUser = ctx.state.currentUser;
25
+ if (!currentUser) {
26
+ return next();
27
+ }
28
+ const cache = ctx.cache;
29
+ const repo = ctx.db.getRepository("users.departments", currentUser.id);
30
+ const departments = await cache.wrap(
31
+ `departments:${currentUser.id}`,
32
+ () => repo.find({
33
+ // FIXME: 看下这个实际类型是啥?
34
+ // @ts-expect-error
35
+ appends: ["owners", "roles", "parent(recursively=true)"],
36
+ raw: true
37
+ })
38
+ );
39
+ if (!departments.length) {
40
+ return next();
41
+ }
42
+ ctx.state.currentUser.departments = departments;
43
+ ctx.state.currentUser.mainDeparmtent = departments.find((dept) => dept.isMain);
44
+ const departmentIds = departments.map((dept) => dept.id);
45
+ const roleRepo = ctx.db.getRepository("roles");
46
+ const roles = await roleRepo.find({
47
+ filter: {
48
+ "departments.id": {
49
+ $in: departmentIds
50
+ }
51
+ }
52
+ });
53
+ if (!roles.length) {
54
+ return next();
55
+ }
56
+ const rolesMap = /* @__PURE__ */ new Map();
57
+ roles.forEach((role) => rolesMap.set(role.name, role));
58
+ ctx.state.attachRoles = Array.from(rolesMap.values());
59
+ await next();
60
+ };
61
+ // Annotate the CommonJS export names for ESM import in node:
62
+ 0 && (module.exports = {
63
+ setDepartmentsInfo
64
+ });
@@ -0,0 +1,2 @@
1
+ import type { Context, Next } from '@tachybase/actions';
2
+ export declare const setMainDepartment: (ctx: Context, next: Next) => Promise<void>;