@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.
- package/.turbo/turbo-build.log +14 -0
- package/LICENSE +201 -0
- package/README.md +11 -0
- package/README.zh-CN.md +11 -0
- package/client.d.ts +2 -0
- package/client.js +1 -0
- package/dist/client/NewRole.d.ts +2 -0
- package/dist/client/RolesManagement.d.ts +2 -0
- package/dist/client/RolesManagerProvider.d.ts +4 -0
- package/dist/client/RolesMenu.d.ts +7 -0
- package/dist/client/hooks/load-more-observer.d.ts +7 -0
- package/dist/client/index.d.ts +8 -0
- package/dist/client/index.js +9 -0
- package/dist/client/locale.d.ts +1 -0
- package/dist/client/permissions/ActionPermissions.d.ts +4 -0
- package/dist/client/permissions/AvailableActions.d.ts +3 -0
- package/dist/client/permissions/GeneralPermissions.d.ts +4 -0
- package/dist/client/permissions/MenuItemsProvider.d.ts +4 -0
- package/dist/client/permissions/MenuPermissions.d.ts +4 -0
- package/dist/client/permissions/Permissions.d.ts +4 -0
- package/dist/client/permissions/PluginPermissions.d.ts +4 -0
- package/dist/client/permissions/RolesResourcesActions.d.ts +3 -0
- package/dist/client/permissions/ScopeSelect.d.ts +3 -0
- package/dist/client/permissions/StrategyActions.d.ts +2 -0
- package/dist/client/permissions/style.d.ts +1 -0
- package/dist/client/roles-manager.d.ts +10 -0
- package/dist/client/schemas/roles.d.ts +55 -0
- package/dist/client/schemas/scopes.d.ts +11 -0
- package/dist/externalVersion.js +19 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +39 -0
- package/dist/locale/en-US.json +6 -0
- package/dist/locale/ko_KR.json +4 -0
- package/dist/locale/zh-CN.json +11 -0
- package/dist/server/actions/available-actions.d.ts +7 -0
- package/dist/server/actions/available-actions.js +42 -0
- package/dist/server/actions/role-check.d.ts +1 -0
- package/dist/server/actions/role-check.js +67 -0
- package/dist/server/actions/role-collections.d.ts +7 -0
- package/dist/server/actions/role-collections.js +75 -0
- package/dist/server/actions/user-setDefaultRole.d.ts +2 -0
- package/dist/server/actions/user-setDefaultRole.js +65 -0
- package/dist/server/collections/roles-users.d.ts +2 -0
- package/dist/server/collections/roles-users.js +30 -0
- package/dist/server/collections/roles.d.ts +2 -0
- package/dist/server/collections/roles.js +119 -0
- package/dist/server/collections/rolesResources.d.ts +2 -0
- package/dist/server/collections/rolesResources.js +55 -0
- package/dist/server/collections/rolesResourcesActions.d.ts +2 -0
- package/dist/server/collections/rolesResourcesActions.js +51 -0
- package/dist/server/collections/rolesResourcesScopes.d.ts +2 -0
- package/dist/server/collections/rolesResourcesScopes.js +45 -0
- package/dist/server/collections/users.d.ts +2 -0
- package/dist/server/collections/users.js +52 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.js +50 -0
- package/dist/server/middlewares/setCurrentRole.d.ts +2 -0
- package/dist/server/middlewares/setCurrentRole.js +74 -0
- package/dist/server/middlewares/with-acl-meta.d.ts +2 -0
- package/dist/server/middlewares/with-acl-meta.js +242 -0
- package/dist/server/migrations/20221214072638-set-role-snippets.d.ts +6 -0
- package/dist/server/migrations/20221214072638-set-role-snippets.js +43 -0
- package/dist/server/model/RoleModel.d.ts +8 -0
- package/dist/server/model/RoleModel.js +46 -0
- package/dist/server/model/RoleResourceActionModel.d.ts +12 -0
- package/dist/server/model/RoleResourceActionModel.js +85 -0
- package/dist/server/model/RoleResourceModel.d.ts +18 -0
- package/dist/server/model/RoleResourceModel.js +79 -0
- package/dist/server/server.d.ts +34 -0
- package/dist/server/server.js +648 -0
- package/dist/swagger/index.d.ts +366 -0
- package/dist/swagger/index.js +395 -0
- package/package.json +40 -0
- package/server.d.ts +3 -0
- 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,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,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,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,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,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,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,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,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';
|