@tachybase/module-acl 0.23.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 (75) hide show
  1. package/.turbo/turbo-build.log +14 -0
  2. package/LICENSE +201 -0
  3. package/README.md +11 -0
  4. package/README.zh-CN.md +11 -0
  5. package/client.d.ts +2 -0
  6. package/client.js +1 -0
  7. package/dist/client/NewRole.d.ts +2 -0
  8. package/dist/client/RolesManagement.d.ts +2 -0
  9. package/dist/client/RolesManagerProvider.d.ts +4 -0
  10. package/dist/client/RolesMenu.d.ts +7 -0
  11. package/dist/client/hooks/load-more-observer.d.ts +7 -0
  12. package/dist/client/index.d.ts +8 -0
  13. package/dist/client/index.js +9 -0
  14. package/dist/client/locale.d.ts +1 -0
  15. package/dist/client/permissions/ActionPermissions.d.ts +4 -0
  16. package/dist/client/permissions/AvailableActions.d.ts +3 -0
  17. package/dist/client/permissions/GeneralPermissions.d.ts +4 -0
  18. package/dist/client/permissions/MenuItemsProvider.d.ts +4 -0
  19. package/dist/client/permissions/MenuPermissions.d.ts +4 -0
  20. package/dist/client/permissions/Permissions.d.ts +4 -0
  21. package/dist/client/permissions/PluginPermissions.d.ts +4 -0
  22. package/dist/client/permissions/RolesResourcesActions.d.ts +3 -0
  23. package/dist/client/permissions/ScopeSelect.d.ts +3 -0
  24. package/dist/client/permissions/StrategyActions.d.ts +2 -0
  25. package/dist/client/permissions/style.d.ts +1 -0
  26. package/dist/client/roles-manager.d.ts +10 -0
  27. package/dist/client/schemas/roles.d.ts +55 -0
  28. package/dist/client/schemas/scopes.d.ts +11 -0
  29. package/dist/externalVersion.js +19 -0
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.js +39 -0
  32. package/dist/locale/en-US.json +6 -0
  33. package/dist/locale/ko_KR.json +4 -0
  34. package/dist/locale/zh-CN.json +11 -0
  35. package/dist/server/actions/available-actions.d.ts +7 -0
  36. package/dist/server/actions/available-actions.js +42 -0
  37. package/dist/server/actions/role-check.d.ts +1 -0
  38. package/dist/server/actions/role-check.js +67 -0
  39. package/dist/server/actions/role-collections.d.ts +7 -0
  40. package/dist/server/actions/role-collections.js +75 -0
  41. package/dist/server/actions/user-setDefaultRole.d.ts +2 -0
  42. package/dist/server/actions/user-setDefaultRole.js +65 -0
  43. package/dist/server/collections/roles-users.d.ts +2 -0
  44. package/dist/server/collections/roles-users.js +30 -0
  45. package/dist/server/collections/roles.d.ts +2 -0
  46. package/dist/server/collections/roles.js +119 -0
  47. package/dist/server/collections/rolesResources.d.ts +2 -0
  48. package/dist/server/collections/rolesResources.js +55 -0
  49. package/dist/server/collections/rolesResourcesActions.d.ts +2 -0
  50. package/dist/server/collections/rolesResourcesActions.js +51 -0
  51. package/dist/server/collections/rolesResourcesScopes.d.ts +2 -0
  52. package/dist/server/collections/rolesResourcesScopes.js +45 -0
  53. package/dist/server/collections/users.d.ts +2 -0
  54. package/dist/server/collections/users.js +52 -0
  55. package/dist/server/index.d.ts +6 -0
  56. package/dist/server/index.js +50 -0
  57. package/dist/server/middlewares/setCurrentRole.d.ts +2 -0
  58. package/dist/server/middlewares/setCurrentRole.js +74 -0
  59. package/dist/server/middlewares/with-acl-meta.d.ts +2 -0
  60. package/dist/server/middlewares/with-acl-meta.js +242 -0
  61. package/dist/server/migrations/20221214072638-set-role-snippets.d.ts +6 -0
  62. package/dist/server/migrations/20221214072638-set-role-snippets.js +43 -0
  63. package/dist/server/model/RoleModel.d.ts +8 -0
  64. package/dist/server/model/RoleModel.js +46 -0
  65. package/dist/server/model/RoleResourceActionModel.d.ts +12 -0
  66. package/dist/server/model/RoleResourceActionModel.js +85 -0
  67. package/dist/server/model/RoleResourceModel.d.ts +18 -0
  68. package/dist/server/model/RoleResourceModel.js +79 -0
  69. package/dist/server/server.d.ts +34 -0
  70. package/dist/server/server.js +648 -0
  71. package/dist/swagger/index.d.ts +366 -0
  72. package/dist/swagger/index.js +395 -0
  73. package/package.json +40 -0
  74. package/server.d.ts +3 -0
  75. package/server.js +1 -0
@@ -0,0 +1,42 @@
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 available_actions_exports = {};
19
+ __export(available_actions_exports, {
20
+ availableActionResource: () => availableActionResource
21
+ });
22
+ module.exports = __toCommonJS(available_actions_exports);
23
+ const availableActionResource = {
24
+ name: "availableActions",
25
+ actions: {
26
+ async list(ctx, next) {
27
+ const acl = ctx.app.acl;
28
+ const availableActions = acl.getAvailableActions();
29
+ ctx.body = Array.from(availableActions.entries()).map(([, { name, options }]) => {
30
+ return {
31
+ ...options,
32
+ name
33
+ };
34
+ });
35
+ await next();
36
+ }
37
+ }
38
+ };
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ availableActionResource
42
+ });
@@ -0,0 +1 @@
1
+ export declare function checkAction(ctx: any, next: any): Promise<void>;
@@ -0,0 +1,67 @@
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 role_check_exports = {};
19
+ __export(role_check_exports, {
20
+ checkAction: () => checkAction
21
+ });
22
+ module.exports = __toCommonJS(role_check_exports);
23
+ const map2obj = (map) => {
24
+ const obj = {};
25
+ for (const [key, value] of map) {
26
+ obj[key] = value;
27
+ }
28
+ return obj;
29
+ };
30
+ async function checkAction(ctx, next) {
31
+ const currentRole = ctx.state.currentRole;
32
+ const roleInstance = await ctx.db.getRepository("roles").findOne({
33
+ filter: {
34
+ name: currentRole
35
+ },
36
+ appends: ["menuUiSchemas"]
37
+ });
38
+ if (!roleInstance) {
39
+ throw new Error(`Role ${currentRole} not exists`);
40
+ }
41
+ const anonymous = await ctx.db.getRepository("roles").findOne({
42
+ filter: {
43
+ name: "anonymous"
44
+ }
45
+ });
46
+ let role = ctx.app.acl.getRole(currentRole);
47
+ if (!role) {
48
+ await ctx.app.emitAsync("acl:writeRoleToACL", roleInstance);
49
+ role = ctx.app.acl.getRole(currentRole);
50
+ }
51
+ const availableActions = ctx.app.acl.getAvailableActions();
52
+ ctx.body = {
53
+ ...role.toJSON(),
54
+ availableActions: [...availableActions.keys()],
55
+ resources: [...role.resources.keys()],
56
+ actionAlias: map2obj(ctx.app.acl.actionAlias),
57
+ allowAll: currentRole === "root",
58
+ allowConfigure: roleInstance.get("allowConfigure"),
59
+ allowMenuItemIds: roleInstance.get("menuUiSchemas").map((uiSchema) => uiSchema.get("x-uid")),
60
+ allowAnonymous: !!anonymous
61
+ };
62
+ await next();
63
+ }
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ checkAction
67
+ });
@@ -0,0 +1,7 @@
1
+ declare const roleCollectionsResource: {
2
+ name: string;
3
+ actions: {
4
+ list(ctx: any, next: any): Promise<void>;
5
+ };
6
+ };
7
+ export { roleCollectionsResource };
@@ -0,0 +1,75 @@
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 role_collections_exports = {};
19
+ __export(role_collections_exports, {
20
+ roleCollectionsResource: () => roleCollectionsResource
21
+ });
22
+ module.exports = __toCommonJS(role_collections_exports);
23
+ function totalPage(total, pageSize) {
24
+ return Math.ceil(total / pageSize);
25
+ }
26
+ const roleCollectionsResource = {
27
+ name: "roles.collections",
28
+ actions: {
29
+ async list(ctx, next) {
30
+ const role = ctx.action.params.associatedIndex;
31
+ const { page = 1, pageSize = 20 } = ctx.action.params;
32
+ const db = ctx.db;
33
+ const collectionRepository = db.getRepository("collections");
34
+ const fieldRepository = db.getRepository("fields");
35
+ const [collections, count] = await collectionRepository.findAndCount({
36
+ filter: ctx.action.params.filter,
37
+ sort: "sort"
38
+ });
39
+ const roleResources = await db.getRepository("rolesResources").find({
40
+ filter: {
41
+ roleName: role
42
+ }
43
+ });
44
+ const roleResourcesNames = roleResources.map((roleResource) => roleResource.get("name"));
45
+ const roleResourceActionResourceNames = roleResources.filter((roleResources2) => roleResources2.get("usingActionsConfig")).map((roleResources2) => roleResources2.get("name"));
46
+ const items = collections.map((collection, i) => {
47
+ const exists = roleResourcesNames.includes(collection.get("name"));
48
+ const usingConfig = roleResourceActionResourceNames.includes(collection.get("name")) ? "resourceAction" : "strategy";
49
+ const c = db.getCollection(collection.get("name"));
50
+ return {
51
+ type: "collection",
52
+ name: collection.get("name"),
53
+ collectionName: collection.get("name"),
54
+ title: collection.get("title"),
55
+ roleName: role,
56
+ usingConfig,
57
+ exists
58
+ // children: children.length > 0 ? children : null,
59
+ };
60
+ });
61
+ ctx.body = {
62
+ count,
63
+ rows: items,
64
+ page: Number(page),
65
+ pageSize: Number(pageSize),
66
+ totalPage: totalPage(count, pageSize)
67
+ };
68
+ await next();
69
+ }
70
+ }
71
+ };
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ roleCollectionsResource
75
+ });
@@ -0,0 +1,2 @@
1
+ import { Context, Next } from '@tachybase/actions';
2
+ export declare function setDefaultRole(ctx: Context, next: Next): Promise<any>;
@@ -0,0 +1,65 @@
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 user_setDefaultRole_exports = {};
19
+ __export(user_setDefaultRole_exports, {
20
+ setDefaultRole: () => setDefaultRole
21
+ });
22
+ module.exports = __toCommonJS(user_setDefaultRole_exports);
23
+ async function setDefaultRole(ctx, next) {
24
+ const {
25
+ values: { roleName }
26
+ } = ctx.action.params;
27
+ const {
28
+ db,
29
+ state: { currentUser },
30
+ action: {
31
+ params: { values }
32
+ }
33
+ } = ctx;
34
+ if (values.roleName == "anonymous") {
35
+ return next();
36
+ }
37
+ const repository = db.getRepository("rolesUsers");
38
+ await db.sequelize.transaction(async (transaction) => {
39
+ await repository.update({
40
+ filter: {
41
+ userId: currentUser.id
42
+ },
43
+ values: {
44
+ default: false
45
+ },
46
+ transaction
47
+ });
48
+ await repository.update({
49
+ filter: {
50
+ userId: currentUser.id,
51
+ roleName
52
+ },
53
+ values: {
54
+ default: true
55
+ },
56
+ transaction
57
+ });
58
+ });
59
+ ctx.body = "ok";
60
+ await next();
61
+ }
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ setDefaultRole
65
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@tachybase/database").CollectionOptions;
2
+ export default _default;
@@ -0,0 +1,30 @@
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 roles_users_exports = {};
19
+ __export(roles_users_exports, {
20
+ default: () => roles_users_default
21
+ });
22
+ module.exports = __toCommonJS(roles_users_exports);
23
+ var import_database = require("@tachybase/database");
24
+ var roles_users_default = (0, import_database.defineCollection)({
25
+ name: "rolesUsers",
26
+ dumpRules: {
27
+ group: "user"
28
+ },
29
+ fields: [{ type: "boolean", name: "default" }]
30
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@tachybase/database").CollectionOptions;
2
+ export default _default;
@@ -0,0 +1,119 @@
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 roles_exports = {};
19
+ __export(roles_exports, {
20
+ default: () => roles_default
21
+ });
22
+ module.exports = __toCommonJS(roles_exports);
23
+ var import_database = require("@tachybase/database");
24
+ var roles_default = (0, import_database.defineCollection)({
25
+ origin: "@tachybase/module-acl",
26
+ dumpRules: "required",
27
+ name: "roles",
28
+ title: '{{t("Roles")}}',
29
+ autoGenId: false,
30
+ model: "RoleModel",
31
+ filterTargetKey: "name",
32
+ // targetKey: 'name',
33
+ sortable: true,
34
+ fields: [
35
+ {
36
+ type: "uid",
37
+ name: "name",
38
+ prefix: "r_",
39
+ primaryKey: true,
40
+ interface: "input",
41
+ uiSchema: {
42
+ type: "string",
43
+ title: '{{t("Role UID")}}',
44
+ "x-component": "Input"
45
+ }
46
+ },
47
+ {
48
+ type: "string",
49
+ name: "title",
50
+ unique: true,
51
+ interface: "input",
52
+ uiSchema: {
53
+ type: "string",
54
+ title: '{{t("Role name")}}',
55
+ "x-component": "Input"
56
+ },
57
+ translation: true
58
+ },
59
+ {
60
+ type: "boolean",
61
+ name: "default"
62
+ },
63
+ {
64
+ type: "string",
65
+ name: "description"
66
+ },
67
+ {
68
+ type: "json",
69
+ name: "strategy"
70
+ },
71
+ {
72
+ type: "boolean",
73
+ name: "default",
74
+ defaultValue: false
75
+ },
76
+ {
77
+ type: "boolean",
78
+ name: "hidden",
79
+ defaultValue: false
80
+ },
81
+ {
82
+ type: "boolean",
83
+ name: "allowConfigure"
84
+ },
85
+ {
86
+ type: "boolean",
87
+ name: "allowNewMenu"
88
+ },
89
+ {
90
+ type: "belongsToMany",
91
+ name: "menuUiSchemas",
92
+ target: "uiSchemas",
93
+ targetKey: "x-uid"
94
+ },
95
+ {
96
+ type: "hasMany",
97
+ name: "resources",
98
+ target: "dataSourcesRolesResources",
99
+ sourceKey: "name",
100
+ foreignKey: "roleName"
101
+ },
102
+ {
103
+ type: "set",
104
+ name: "snippets",
105
+ defaultValue: ["!ui.*", "!pm", "!pm.*"]
106
+ },
107
+ {
108
+ type: "belongsToMany",
109
+ name: "users",
110
+ target: "users",
111
+ foreignKey: "roleName",
112
+ otherKey: "userId",
113
+ onDelete: "CASCADE",
114
+ sourceKey: "name",
115
+ targetKey: "id",
116
+ through: "rolesUsers"
117
+ }
118
+ ]
119
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@tachybase/database").CollectionOptions;
2
+ export default _default;
@@ -0,0 +1,55 @@
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 rolesResources_exports = {};
19
+ __export(rolesResources_exports, {
20
+ default: () => rolesResources_default
21
+ });
22
+ module.exports = __toCommonJS(rolesResources_exports);
23
+ var import_database = require("@tachybase/database");
24
+ var rolesResources_default = (0, import_database.defineCollection)({
25
+ dumpRules: "required",
26
+ name: "rolesResources",
27
+ model: "RoleResourceModel",
28
+ indexes: [
29
+ {
30
+ unique: true,
31
+ fields: ["roleName", "name"]
32
+ }
33
+ ],
34
+ fields: [
35
+ {
36
+ type: "belongsTo",
37
+ name: "role",
38
+ foreignKey: "roleName",
39
+ targetKey: "name"
40
+ },
41
+ {
42
+ type: "string",
43
+ name: "name"
44
+ },
45
+ {
46
+ type: "boolean",
47
+ name: "usingActionsConfig"
48
+ },
49
+ {
50
+ type: "hasMany",
51
+ name: "actions",
52
+ target: "rolesResourcesActions"
53
+ }
54
+ ]
55
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@tachybase/database").CollectionOptions;
2
+ export default _default;
@@ -0,0 +1,51 @@
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 rolesResourcesActions_exports = {};
19
+ __export(rolesResourcesActions_exports, {
20
+ default: () => rolesResourcesActions_default
21
+ });
22
+ module.exports = __toCommonJS(rolesResourcesActions_exports);
23
+ var import_database = require("@tachybase/database");
24
+ var rolesResourcesActions_default = (0, import_database.defineCollection)({
25
+ dumpRules: "required",
26
+ name: "rolesResourcesActions",
27
+ model: "RoleResourceActionModel",
28
+ fields: [
29
+ {
30
+ type: "belongsTo",
31
+ name: "resource",
32
+ foreignKey: "rolesResourceId",
33
+ target: "rolesResources"
34
+ },
35
+ {
36
+ type: "string",
37
+ name: "name"
38
+ },
39
+ {
40
+ type: "array",
41
+ name: "fields",
42
+ defaultValue: []
43
+ },
44
+ {
45
+ type: "belongsTo",
46
+ name: "scope",
47
+ target: "rolesResourcesScopes",
48
+ onDelete: "RESTRICT"
49
+ }
50
+ ]
51
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@tachybase/database").CollectionOptions;
2
+ export default _default;
@@ -0,0 +1,45 @@
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 rolesResourcesScopes_exports = {};
19
+ __export(rolesResourcesScopes_exports, {
20
+ default: () => rolesResourcesScopes_default
21
+ });
22
+ module.exports = __toCommonJS(rolesResourcesScopes_exports);
23
+ var import_database = require("@tachybase/database");
24
+ var rolesResourcesScopes_default = (0, import_database.defineCollection)({
25
+ dumpRules: "required",
26
+ name: "rolesResourcesScopes",
27
+ fields: [
28
+ {
29
+ type: "uid",
30
+ name: "key"
31
+ },
32
+ {
33
+ type: "string",
34
+ name: "name"
35
+ },
36
+ {
37
+ type: "string",
38
+ name: "resourceName"
39
+ },
40
+ {
41
+ type: "json",
42
+ name: "scope"
43
+ }
44
+ ]
45
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@tachybase/database").CollectionDef;
2
+ export default _default;
@@ -0,0 +1,52 @@
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
+ });
22
+ module.exports = __toCommonJS(users_exports);
23
+ var import_database = require("@tachybase/database");
24
+ var users_default = (0, import_database.extendCollection)({
25
+ name: "users",
26
+ fields: [
27
+ {
28
+ interface: "m2m",
29
+ type: "belongsToMany",
30
+ name: "roles",
31
+ target: "roles",
32
+ foreignKey: "userId",
33
+ otherKey: "roleName",
34
+ onDelete: "CASCADE",
35
+ sourceKey: "id",
36
+ targetKey: "name",
37
+ through: "rolesUsers",
38
+ uiSchema: {
39
+ type: "array",
40
+ title: '{{t("Roles")}}',
41
+ "x-component": "AssociationField",
42
+ "x-component-props": {
43
+ multiple: true,
44
+ fieldNames: {
45
+ label: "title",
46
+ value: "name"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ });
@@ -0,0 +1,6 @@
1
+ export * from './middlewares/setCurrentRole';
2
+ export * from './middlewares/with-acl-meta';
3
+ export { RoleResourceActionModel } from './model/RoleResourceActionModel';
4
+ export { RoleResourceModel } from './model/RoleResourceModel';
5
+ export { default } from './server';
6
+ export { RoleModel } from './model/RoleModel';