@tachybase/module-hera 1.9.22 → 1.9.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.js +15 -26
- package/dist/externalVersion.js +8 -10
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/server/actions/index.d.ts +0 -2
- package/dist/server/actions/index.js +1 -5
- package/dist/server/migrations/20250102010713-add-plugin-department.d.ts +6 -0
- package/dist/server/{middlewares/set-department-owners.js → migrations/20250102010713-add-plugin-department.js} +22 -41
- package/dist/server/plugin.js +0 -2
- package/package.json +14 -14
- package/dist/client/features/departments/common/DepartmentTable.schema.d.ts +0 -50
- package/dist/client/features/departments/common/DepartmentTable.view.d.ts +0 -4
- package/dist/client/features/departments/common/FilterKeys.context.d.ts +0 -10
- package/dist/client/features/departments/common/InternalDepartmentTable.d.ts +0 -5
- package/dist/client/features/departments/common/Request.povider.d.ts +0 -1
- package/dist/client/features/departments/common/UserDepartmentsFieldNotSupport.d.ts +0 -2
- package/dist/client/features/departments/common/scopes/useDepartmentFilterActionProps.d.ts +0 -5
- package/dist/client/features/departments/common/scopes/useFilterActionProps.d.ts +0 -5
- package/dist/client/features/departments/index.d.ts +0 -5
- package/dist/client/features/departments/main-tab/DepartmentIndex.d.ts +0 -5
- package/dist/client/features/departments/main-tab/DepartmentIndex.provider.d.ts +0 -3
- package/dist/client/features/departments/main-tab/DepartmentManagement.component.d.ts +0 -1
- package/dist/client/features/departments/main-tab/DepartmentManagement.schema.d.ts +0 -10
- package/dist/client/features/departments/main-tab/DepartmentManagement.view.d.ts +0 -1
- package/dist/client/features/departments/main-tab/collections/departments.collection.d.ts +0 -128
- package/dist/client/features/departments/main-tab/collections/users.collection.d.ts +0 -189
- package/dist/client/features/departments/main-tab/components/DepartmentSelect.d.ts +0 -1
- package/dist/client/features/departments/main-tab/components/InternalSuperiorDepartmentSelect.d.ts +0 -1
- package/dist/client/features/departments/main-tab/components/SuperiorDepartmentSelect.d.ts +0 -1
- package/dist/client/features/departments/main-tab/context/Department.context.d.ts +0 -23
- package/dist/client/features/departments/main-tab/context/DepartmentsExpanded.context.d.ts +0 -17
- package/dist/client/features/departments/main-tab/departments-block/AddNewDepartment.schema.d.ts +0 -67
- package/dist/client/features/departments/main-tab/departments-block/AddNewDepartment.view.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-block/DepartmentOwnersField.component.d.ts +0 -5
- package/dist/client/features/departments/main-tab/departments-block/DepartmentsBlock.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-block/DepartmentsSearch.component.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-block/DepartmentsTree.component.d.ts +0 -8
- package/dist/client/features/departments/main-tab/departments-block/Request.provider.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-block/UnknownOwerns.schema.d.ts +0 -136
- package/dist/client/features/departments/main-tab/departments-block/UnknownOwerns.view.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-block/schemas/schemaDepartmentEdit.d.ts +0 -62
- package/dist/client/features/departments/main-tab/departments-block/schemas/schemaDepartmentNewSub.d.ts +0 -57
- package/dist/client/features/departments/main-tab/departments-block/scopes/useCreateDepartment.d.ts +0 -3
- package/dist/client/features/departments/main-tab/departments-block/scopes/useUpdateDepartment.d.ts +0 -3
- package/dist/client/features/departments/main-tab/departments-users-block/AddMembers.schema.d.ts +0 -148
- package/dist/client/features/departments/main-tab/departments-users-block/AddMembers.view.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/DepartmentField.component.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/DepartmentsUsersBlock.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/DepartmentsUsersBlock.schema.d.ts +0 -676
- package/dist/client/features/departments/main-tab/departments-users-block/IsOwnerField.component.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/MemberActions.schema.d.ts +0 -49
- package/dist/client/features/departments/main-tab/departments-users-block/MemberActions.view.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/RowRemoveAction.schema.d.ts +0 -16
- package/dist/client/features/departments/main-tab/departments-users-block/RowRemoveAction.view.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/UserDepartmentsField.component.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/UserSelectDepartment.schema.d.ts +0 -42
- package/dist/client/features/departments/main-tab/departments-users-block/UserSelectDepartment.view.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/scopes/useBulkRemoveMembersAction.d.ts +0 -3
- package/dist/client/features/departments/main-tab/departments-users-block/scopes/useDataSource.d.ts +0 -40
- package/dist/client/features/departments/main-tab/departments-users-block/scopes/useMembersDataSource.d.ts +0 -6
- package/dist/client/features/departments/main-tab/departments-users-block/scopes/usePropsAddMember.d.ts +0 -1
- package/dist/client/features/departments/main-tab/departments-users-block/scopes/useRefreshActionProps.d.ts +0 -3
- package/dist/client/features/departments/main-tab/departments-users-block/scopes/useRemoveMemberAction.d.ts +0 -3
- package/dist/client/features/departments/main-tab/departments-users-block/scopes/useShowTotal.d.ts +0 -1
- package/dist/client/features/departments/main-tab/hooks/useDeepTree.d.ts +0 -14
- package/dist/client/features/departments/main-tab/hooks/useGetDepTree.d.ts +0 -18
- package/dist/client/features/departments/main-tab/kit.d.ts +0 -4
- package/dist/client/features/departments/main-tab/providers/DepartmentsResource.provider.d.ts +0 -3
- package/dist/client/features/departments/main-tab/providers/UserResource.provider.d.ts +0 -3
- package/dist/client/features/departments/role-auth/DepartmentTitle.component.d.ts +0 -1
- package/dist/client/features/departments/role-auth/Departments.d.ts +0 -1
- package/dist/client/features/departments/role-auth/Departments.schema.d.ts +0 -227
- package/dist/client/features/departments/role-auth/kit.d.ts +0 -4
- package/dist/client/features/departments/role-auth/scopes/useAddDepartments.d.ts +0 -3
- package/dist/client/features/departments/role-auth/scopes/useBulkRemoveDepartments.d.ts +0 -3
- package/dist/client/features/departments/role-auth/scopes/useDataSource.d.ts +0 -40
- package/dist/client/features/departments/role-auth/scopes/useDisabled.d.ts +0 -3
- package/dist/client/features/departments/role-auth/scopes/useRemoveDepartment.d.ts +0 -3
- package/dist/client/features/departments/settings/DepartmentOwnersFieldSetting.d.ts +0 -2
- package/dist/client/features/departments/settings/UserDepartmentsFieldSetting.d.ts +0 -2
- package/dist/client/features/departments/settings/UserMainDepartmentFieldSetting.d.ts +0 -2
- package/dist/client/features/departments/settings/items/enableLinkItem.d.ts +0 -2
- package/dist/client/features/departments/settings/items/modeSelectItem.d.ts +0 -2
- package/dist/client/features/departments/settings/items/titleFieldItem.d.ts +0 -2
- package/dist/client/features/departments/utils/getDepartmentStr.d.ts +0 -1
- package/dist/client/features/departments/utils/getUserListByDepartment.d.ts +0 -1
- package/dist/server/actions/departments.d.ts +0 -5
- package/dist/server/actions/departments.js +0 -105
- package/dist/server/actions/users.d.ts +0 -4
- package/dist/server/actions/users.js +0 -142
- package/dist/server/collections/departmentRoles.d.ts +0 -2
- package/dist/server/collections/departmentRoles.js +0 -27
- package/dist/server/collections/departments.d.ts +0 -29
- package/dist/server/collections/departments.js +0 -162
- package/dist/server/collections/departmentsUsers.d.ts +0 -2
- package/dist/server/collections/departmentsUsers.js +0 -43
- package/dist/server/collections/roles.d.ts +0 -2
- package/dist/server/collections/roles.js +0 -39
- package/dist/server/collections/users.d.ts +0 -55
- package/dist/server/collections/users.js +0 -87
- package/dist/server/features/departments.d.ts +0 -7
- package/dist/server/features/departments.js +0 -132
- package/dist/server/middlewares/destroy-department-check.d.ts +0 -2
- package/dist/server/middlewares/destroy-department-check.js +0 -53
- package/dist/server/middlewares/index.d.ts +0 -6
- package/dist/server/middlewares/index.js +0 -31
- package/dist/server/middlewares/list-users-include-child-department.d.ts +0 -2
- package/dist/server/middlewares/list-users-include-child-department.js +0 -77
- package/dist/server/middlewares/reset-user-departments-cache.d.ts +0 -2
- package/dist/server/middlewares/reset-user-departments-cache.js +0 -39
- package/dist/server/middlewares/set-department-owners.d.ts +0 -2
- package/dist/server/middlewares/set-departments-roles.d.ts +0 -2
- package/dist/server/middlewares/set-departments-roles.js +0 -64
- package/dist/server/middlewares/set-main-department.d.ts +0 -2
- package/dist/server/middlewares/set-main-department.js +0 -105
- package/dist/server/middlewares/update-department-isleaf.d.ts +0 -2
- package/dist/server/middlewares/update-department-isleaf.js +0 -84
- package/dist/server/models/department.d.ts +0 -4
- package/dist/server/models/department.js +0 -38
|
@@ -1,87 +0,0 @@
|
|
|
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 users_exports = {};
|
|
19
|
-
__export(users_exports, {
|
|
20
|
-
default: () => users_default,
|
|
21
|
-
departmentsField: () => departmentsField,
|
|
22
|
-
mainDepartmentField: () => mainDepartmentField
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(users_exports);
|
|
25
|
-
var import_database = require("@tachybase/database");
|
|
26
|
-
const departmentsField = {
|
|
27
|
-
collectionName: "users",
|
|
28
|
-
interface: "m2m",
|
|
29
|
-
type: "belongsToMany",
|
|
30
|
-
name: "departments",
|
|
31
|
-
target: "departments",
|
|
32
|
-
foreignKey: "userId",
|
|
33
|
-
otherKey: "departmentId",
|
|
34
|
-
onDelete: "CASCADE",
|
|
35
|
-
sourceKey: "id",
|
|
36
|
-
targetKey: "id",
|
|
37
|
-
through: "departmentsUsers",
|
|
38
|
-
uiSchema: {
|
|
39
|
-
type: "m2m",
|
|
40
|
-
title: '{{t("Departments")}}',
|
|
41
|
-
"x-component": "UserDepartmentsField",
|
|
42
|
-
"x-component-props": {
|
|
43
|
-
multiple: true,
|
|
44
|
-
fieldNames: {
|
|
45
|
-
label: "title",
|
|
46
|
-
value: "name"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
const mainDepartmentField = {
|
|
52
|
-
collectionName: "users",
|
|
53
|
-
interface: "m2m",
|
|
54
|
-
type: "belongsToMany",
|
|
55
|
-
name: "mainDepartment",
|
|
56
|
-
target: "departments",
|
|
57
|
-
foreignKey: "userId",
|
|
58
|
-
otherKey: "departmentId",
|
|
59
|
-
onDelete: "CASCADE",
|
|
60
|
-
sourceKey: "id",
|
|
61
|
-
targetKey: "id",
|
|
62
|
-
through: "departmentsUsers",
|
|
63
|
-
throughScope: {
|
|
64
|
-
isMain: true
|
|
65
|
-
},
|
|
66
|
-
uiSchema: {
|
|
67
|
-
type: "m2m",
|
|
68
|
-
title: '{{t("Main department")}}',
|
|
69
|
-
"x-component": "UserMainDepartmentField",
|
|
70
|
-
"x-component-props": {
|
|
71
|
-
multiple: false,
|
|
72
|
-
fieldNames: {
|
|
73
|
-
label: "title",
|
|
74
|
-
value: "name"
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
var users_default = (0, import_database.extendCollection)({
|
|
80
|
-
name: "users",
|
|
81
|
-
fields: [departmentsField, mainDepartmentField]
|
|
82
|
-
});
|
|
83
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
84
|
-
0 && (module.exports = {
|
|
85
|
-
departmentsField,
|
|
86
|
-
mainDepartmentField
|
|
87
|
-
});
|
|
@@ -1,132 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,53 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,77 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,64 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,105 +0,0 @@
|
|
|
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_main_department_exports = {};
|
|
19
|
-
__export(set_main_department_exports, {
|
|
20
|
-
setMainDepartment: () => setMainDepartment
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(set_main_department_exports);
|
|
23
|
-
const setMainDepartment = async (ctx, next) => {
|
|
24
|
-
await next();
|
|
25
|
-
const { associatedName, resourceName, associatedIndex, actionName, values } = ctx.action.params;
|
|
26
|
-
if (associatedName === "departments" && resourceName === "members" && (values == null ? void 0 : values.length)) {
|
|
27
|
-
const throughRepo = ctx.db.getRepository("departmentsUsers");
|
|
28
|
-
const usersHasMain = await throughRepo.find({
|
|
29
|
-
filter: {
|
|
30
|
-
userId: {
|
|
31
|
-
$in: values
|
|
32
|
-
},
|
|
33
|
-
isMain: true
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
const userIdsHasMain = usersHasMain.map((item) => item.userId);
|
|
37
|
-
if (actionName === "add" || actionName === "set") {
|
|
38
|
-
await throughRepo.update({
|
|
39
|
-
filter: {
|
|
40
|
-
userId: {
|
|
41
|
-
$in: values.filter((id) => !userIdsHasMain.includes(id))
|
|
42
|
-
},
|
|
43
|
-
departmentId: associatedIndex
|
|
44
|
-
},
|
|
45
|
-
values: {
|
|
46
|
-
isMain: true
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (actionName === "remove") {
|
|
52
|
-
const userIdsHasNoMain = values.filter((id) => !userIdsHasMain.includes(id));
|
|
53
|
-
for (const userId of userIdsHasNoMain) {
|
|
54
|
-
const firstDept = await throughRepo.findOne({
|
|
55
|
-
filter: {
|
|
56
|
-
userId
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
if (firstDept) {
|
|
60
|
-
await throughRepo.update({
|
|
61
|
-
filter: {
|
|
62
|
-
userId,
|
|
63
|
-
departmentId: firstDept.departmentId
|
|
64
|
-
},
|
|
65
|
-
values: {
|
|
66
|
-
isMain: true
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (associatedName === "users" && resourceName === "departments" && ["add", "remove", "set"].includes(actionName)) {
|
|
74
|
-
const throughRepo = ctx.db.getRepository("departmentsUsers");
|
|
75
|
-
const hasMain = await throughRepo.findOne({
|
|
76
|
-
filter: {
|
|
77
|
-
userId: associatedIndex,
|
|
78
|
-
isMain: true
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
if (hasMain) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
const firstDept = await throughRepo.findOne({
|
|
85
|
-
filter: {
|
|
86
|
-
userId: associatedIndex
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
if (firstDept) {
|
|
90
|
-
await throughRepo.update({
|
|
91
|
-
filter: {
|
|
92
|
-
userId: associatedIndex,
|
|
93
|
-
departmentId: firstDept.departmentId
|
|
94
|
-
},
|
|
95
|
-
values: {
|
|
96
|
-
isMain: true
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
103
|
-
0 && (module.exports = {
|
|
104
|
-
setMainDepartment
|
|
105
|
-
});
|