@things-factory/lite-menu 6.2.22 → 6.2.25
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/client/actions/lite-menu.js +1 -1
- package/client/pages/addon-menu-setting.js +19 -0
- package/dist-server/service/lite-menu/lite-menu-query.js +35 -1
- package/dist-server/service/lite-menu/lite-menu-query.js.map +1 -1
- package/dist-server/service/lite-menu/lite-menu-type.js +9 -0
- package/dist-server/service/lite-menu/lite-menu-type.js.map +1 -1
- package/dist-server/service/lite-menu/lite-menu.js +5 -0
- package/dist-server/service/lite-menu/lite-menu.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/server/service/lite-menu/lite-menu-query.ts +39 -2
- package/server/service/lite-menu/lite-menu-type.ts +7 -0
- package/server/service/lite-menu/lite-menu.ts +5 -1
- package/translations/ms.json +7 -7
|
@@ -93,7 +93,7 @@ export async function fetchAddonMenus() {
|
|
|
93
93
|
await client.query({
|
|
94
94
|
query: gql`
|
|
95
95
|
query ($filters: [Filter!], $inherited: InheritedValueType) {
|
|
96
|
-
liteMenus:
|
|
96
|
+
liteMenus: myLiteMenus(filters: $filters, inherited: $inherited) {
|
|
97
97
|
items {
|
|
98
98
|
id
|
|
99
99
|
name
|
|
@@ -144,6 +144,7 @@ class AddonMenuSetting extends connect(store)(localize(i18next)(PageView)) {
|
|
|
144
144
|
parent: record.parent,
|
|
145
145
|
rank: record.rank,
|
|
146
146
|
active: record.active,
|
|
147
|
+
privilege: record.privilege,
|
|
147
148
|
type: record.type,
|
|
148
149
|
value: record.value,
|
|
149
150
|
icon: record.icon
|
|
@@ -182,6 +183,7 @@ class AddonMenuSetting extends connect(store)(localize(i18next)(PageView)) {
|
|
|
182
183
|
parent: record.parent,
|
|
183
184
|
rank: record.rank,
|
|
184
185
|
active: record.active,
|
|
186
|
+
privilege: record.privilege,
|
|
185
187
|
type: record.type,
|
|
186
188
|
value: record.value,
|
|
187
189
|
icon: record.icon
|
|
@@ -384,6 +386,17 @@ class AddonMenuSetting extends connect(store)(localize(i18next)(PageView)) {
|
|
|
384
386
|
sortable: true,
|
|
385
387
|
width: 60
|
|
386
388
|
},
|
|
389
|
+
{
|
|
390
|
+
type: 'privilege',
|
|
391
|
+
name: 'privilege',
|
|
392
|
+
label: true,
|
|
393
|
+
header: i18next.t('field.required privilege'),
|
|
394
|
+
record: {
|
|
395
|
+
editable: true
|
|
396
|
+
},
|
|
397
|
+
sortable: true,
|
|
398
|
+
width: 200
|
|
399
|
+
},
|
|
387
400
|
{
|
|
388
401
|
type: 'datetime',
|
|
389
402
|
name: 'updatedAt',
|
|
@@ -459,6 +472,12 @@ class AddonMenuSetting extends connect(store)(localize(i18next)(PageView)) {
|
|
|
459
472
|
}
|
|
460
473
|
icon
|
|
461
474
|
active
|
|
475
|
+
privilege {
|
|
476
|
+
category
|
|
477
|
+
privilege
|
|
478
|
+
owner
|
|
479
|
+
super
|
|
480
|
+
}
|
|
462
481
|
createdAt
|
|
463
482
|
updatedAt
|
|
464
483
|
creator {
|
|
@@ -4,11 +4,20 @@ exports.LiteMenuQuery = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const typeorm_1 = require("typeorm");
|
|
6
6
|
const type_graphql_1 = require("type-graphql");
|
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
8
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
9
|
const board_service_1 = require("@things-factory/board-service");
|
|
9
|
-
const shell_1 = require("@things-factory/shell");
|
|
10
10
|
const lite_menu_1 = require("./lite-menu");
|
|
11
11
|
const lite_menu_type_1 = require("./lite-menu-type");
|
|
12
|
+
async function checkPermission(privilegeObject, user, domain) {
|
|
13
|
+
if (!privilegeObject || !privilegeObject.privilege || !privilegeObject.category) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
const { owner: domainOwnerGranted, super: superUserGranted, category, privilege } = privilegeObject;
|
|
17
|
+
return ((domainOwnerGranted && (await process.domainOwnerGranted(domain, user))) ||
|
|
18
|
+
(superUserGranted && (await process.superUserGranted(domain, user))) ||
|
|
19
|
+
(category && privilege && (await auth_base_1.User.hasPrivilege(privilege, category, domain, user))));
|
|
20
|
+
}
|
|
12
21
|
let LiteMenuQuery = class LiteMenuQuery {
|
|
13
22
|
async liteMenu(id, context) {
|
|
14
23
|
const { domain } = context.state;
|
|
@@ -30,6 +39,23 @@ let LiteMenuQuery = class LiteMenuQuery {
|
|
|
30
39
|
var [items, total] = await queryBuilder.getManyAndCount();
|
|
31
40
|
return { items, total };
|
|
32
41
|
}
|
|
42
|
+
async myLiteMenus(params, context) {
|
|
43
|
+
const { domain, user } = context.state;
|
|
44
|
+
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
45
|
+
repository: (0, shell_1.getRepository)(lite_menu_1.LiteMenu),
|
|
46
|
+
params,
|
|
47
|
+
domain,
|
|
48
|
+
searchables: ['name', 'description']
|
|
49
|
+
});
|
|
50
|
+
var [items, total] = await queryBuilder.getManyAndCount();
|
|
51
|
+
const filtered = [];
|
|
52
|
+
for (let item of items) {
|
|
53
|
+
if (await checkPermission(item.privilege, user, domain)) {
|
|
54
|
+
filtered.push(item);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return { items: filtered, total: filtered.length };
|
|
58
|
+
}
|
|
33
59
|
async board(liteMenu) {
|
|
34
60
|
if ((liteMenu.type === 'board' || liteMenu.type === 'interactive-board') && liteMenu.value) {
|
|
35
61
|
return await (0, shell_1.getRepository)(board_service_1.Board).findOneBy({ id: liteMenu.value });
|
|
@@ -61,6 +87,14 @@ tslib_1.__decorate([
|
|
|
61
87
|
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
62
88
|
tslib_1.__metadata("design:returntype", Promise)
|
|
63
89
|
], LiteMenuQuery.prototype, "liteMenus", null);
|
|
90
|
+
tslib_1.__decorate([
|
|
91
|
+
(0, type_graphql_1.Query)(returns => lite_menu_type_1.LiteMenuList, { description: 'To fetch my own LiteMenus' }),
|
|
92
|
+
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
93
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
94
|
+
tslib_1.__metadata("design:type", Function),
|
|
95
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
96
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
97
|
+
], LiteMenuQuery.prototype, "myLiteMenus", null);
|
|
64
98
|
tslib_1.__decorate([
|
|
65
99
|
(0, type_graphql_1.FieldResolver)(type => board_service_1.Board),
|
|
66
100
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lite-menu-query.js","sourceRoot":"","sources":["../../../server/service/lite-menu/lite-menu-query.ts"],"names":[],"mappings":";;;;AAAA,qCAA4B;AAC5B,+CAAmF;AAEnF,
|
|
1
|
+
{"version":3,"file":"lite-menu-query.js","sourceRoot":"","sources":["../../../server/service/lite-menu/lite-menu-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { PrivilegeObject, User } from '@things-factory/auth-base'\nimport { Board } from '@things-factory/board-service'\n\nimport { LiteMenu } from './lite-menu'\nimport { LiteMenuList } from './lite-menu-type'\n\nasync function checkPermission(privilegeObject: PrivilegeObject, user: User, domain: Domain): Promise<boolean> {\n if (!privilegeObject || !privilegeObject.privilege || !privilegeObject.category) {\n return true\n }\n\n const { owner: domainOwnerGranted, super: superUserGranted, category, privilege } = privilegeObject\n\n return (\n (domainOwnerGranted && (await process.domainOwnerGranted(domain, user))) ||\n (superUserGranted && (await process.superUserGranted(domain, user))) ||\n (category && privilege && (await User.hasPrivilege(privilege, category, domain, user)))\n )\n}\n\n@Resolver(LiteMenu)\nexport class LiteMenuQuery {\n @Query(returns => LiteMenu, { description: 'To fetch a LiteMenu' })\n async liteMenu(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<LiteMenu> {\n const { domain } = context.state\n const repository = getRepository(LiteMenu)\n\n var liteMenu: any = repository.findOne({\n where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id },\n relations: ['domain', 'creator', 'updater']\n })\n\n return liteMenu\n }\n\n @Query(returns => LiteMenuList, { description: 'To fetch multiple LiteMenus' })\n async liteMenus(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<LiteMenuList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(LiteMenu),\n params,\n domain,\n searchables: ['name', 'description']\n })\n var [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => LiteMenuList, { description: 'To fetch my own LiteMenus' })\n async myLiteMenus(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<LiteMenuList> {\n const { domain, user } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(LiteMenu),\n params,\n domain,\n searchables: ['name', 'description']\n })\n var [items, total] = await queryBuilder.getManyAndCount()\n\n const filtered = []\n\n for (let item of items) {\n if (await checkPermission(item.privilege, user, domain)) {\n filtered.push(item)\n }\n }\n\n return { items: filtered, total: filtered.length }\n }\n\n @FieldResolver(type => Board)\n async board(@Root() liteMenu: LiteMenu) {\n if ((liteMenu.type === 'board' || liteMenu.type === 'interactive-board') && liteMenu.value) {\n return await getRepository(Board).findOneBy({ id: liteMenu.value })\n }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() liteMenu: LiteMenu) {\n return await getRepository(Domain).findOneBy({ id: liteMenu.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() liteMenu: LiteMenu): Promise<User> {\n return await getRepository(User).findOneBy({ id: liteMenu.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() liteMenu: LiteMenu): Promise<User> {\n return await getRepository(User).findOneBy({ id: liteMenu.creatorId })\n }\n}\n"]}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LiteMenuList = exports.LiteMenuPatch = exports.NewLiteMenu = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
6
7
|
const lite_menu_1 = require("./lite-menu");
|
|
7
8
|
let NewLiteMenu = class NewLiteMenu {
|
|
8
9
|
};
|
|
@@ -42,6 +43,10 @@ tslib_1.__decorate([
|
|
|
42
43
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
43
44
|
tslib_1.__metadata("design:type", Boolean)
|
|
44
45
|
], NewLiteMenu.prototype, "active", void 0);
|
|
46
|
+
tslib_1.__decorate([
|
|
47
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
48
|
+
tslib_1.__metadata("design:type", auth_base_1.PrivilegeInput)
|
|
49
|
+
], NewLiteMenu.prototype, "privilege", void 0);
|
|
45
50
|
NewLiteMenu = tslib_1.__decorate([
|
|
46
51
|
(0, type_graphql_1.InputType)()
|
|
47
52
|
], NewLiteMenu);
|
|
@@ -84,6 +89,10 @@ tslib_1.__decorate([
|
|
|
84
89
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
85
90
|
tslib_1.__metadata("design:type", Boolean)
|
|
86
91
|
], LiteMenuPatch.prototype, "active", void 0);
|
|
92
|
+
tslib_1.__decorate([
|
|
93
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
94
|
+
tslib_1.__metadata("design:type", auth_base_1.PrivilegeInput)
|
|
95
|
+
], LiteMenuPatch.prototype, "privilege", void 0);
|
|
87
96
|
LiteMenuPatch = tslib_1.__decorate([
|
|
88
97
|
(0, type_graphql_1.InputType)()
|
|
89
98
|
], LiteMenuPatch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lite-menu-type.js","sourceRoot":"","sources":["../../../server/service/lite-menu/lite-menu-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;
|
|
1
|
+
{"version":3,"file":"lite-menu-type.js","sourceRoot":"","sources":["../../../server/service/lite-menu/lite-menu-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAChE,yDAA0D;AAE1D,2CAAsC;AAG/B,IAAM,WAAW,GAAjB,MAAM,WAAW;CA8BvB,CAAA;AA7BC;IAAC,IAAA,oBAAK,GAAE;;yCACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAEf;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC1B;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACZ;AAEd;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,0BAAc;8CAAA;AA7Bf,WAAW;IADvB,IAAA,wBAAS,GAAE;GACC,WAAW,CA8BvB;AA9BY,kCAAW;AAiCjB,IAAM,aAAa,GAAnB,MAAM,aAAa;CA8BzB,CAAA;AA7BC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACd;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACX;AAEf;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC1B;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACZ;AAEd;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,0BAAc;gDAAA;AA7Bf,aAAa;IADzB,IAAA,wBAAS,GAAE;GACC,aAAa,CA8BzB;AA9BY,sCAAa;AAiCnB,IAAM,YAAY,GAAlB,MAAM,YAAY;CAMxB,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAQ,CAAC,CAAC;;2CACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;2CACN;AALF,YAAY;IADxB,IAAA,yBAAU,GAAE;GACA,YAAY,CAMxB;AANY,oCAAY","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\nimport { PrivilegeInput } from '@things-factory/auth-base'\n\nimport { LiteMenu } from './lite-menu'\n\n@InputType()\nexport class NewLiteMenu {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n appName?: string\n\n @Field({ nullable: true })\n parent?: string\n\n @Field(type => Int, { nullable: true })\n rank?: number\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n icon?: string\n\n @Field({ nullable: true })\n value?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field({ nullable: true })\n privilege?: PrivilegeInput\n}\n\n@InputType()\nexport class LiteMenuPatch {\n @Field({ nullable: true })\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n appName?: string\n\n @Field({ nullable: true })\n parent?: string\n\n @Field(type => Int, { nullable: true })\n rank?: number\n\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n icon?: string\n\n @Field({ nullable: true })\n value?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field({ nullable: true })\n privilege?: PrivilegeInput\n}\n\n@ObjectType()\nexport class LiteMenuList {\n @Field(type => [LiteMenu])\n items: LiteMenu[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -91,6 +91,11 @@ tslib_1.__decorate([
|
|
|
91
91
|
(0, type_graphql_1.Field)(type => board_service_1.Board, { nullable: true }),
|
|
92
92
|
tslib_1.__metadata("design:type", typeof (_a = typeof board_service_1.Board !== "undefined" && board_service_1.Board) === "function" ? _a : Object)
|
|
93
93
|
], LiteMenu.prototype, "board", void 0);
|
|
94
|
+
tslib_1.__decorate([
|
|
95
|
+
(0, typeorm_1.Column)({ type: 'simple-json', nullable: true }),
|
|
96
|
+
(0, type_graphql_1.Field)(type => auth_base_1.PrivilegeObject, { nullable: true }),
|
|
97
|
+
tslib_1.__metadata("design:type", auth_base_1.PrivilegeObject)
|
|
98
|
+
], LiteMenu.prototype, "privilege", void 0);
|
|
94
99
|
tslib_1.__decorate([
|
|
95
100
|
(0, typeorm_1.CreateDateColumn)(),
|
|
96
101
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lite-menu.js","sourceRoot":"","sources":["../../../server/service/lite-menu/lite-menu.ts"],"names":[],"mappings":";;;;;AAAA,+CAAyD;AACzD,qCASgB;AAEhB,
|
|
1
|
+
{"version":3,"file":"lite-menu.js","sourceRoot":"","sources":["../../../server/service/lite-menu/lite-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, Int, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { PrivilegeObject, User } from '@things-factory/auth-base'\nimport { Board } from '@things-factory/board-service'\nimport { Domain } from '@things-factory/shell'\n\n@Entity()\n@Index('ix_lite_menus_0', (liteMenu: LiteMenu) => [liteMenu.domain, liteMenu.name, liteMenu.appName], { unique: true })\n@Index('ix_lite_menus_1', (liteMenu: LiteMenu) => [liteMenu.domain, liteMenu.appName, liteMenu.parent, liteMenu.rank], {\n unique: true\n})\n@ObjectType({ description: 'Entity for LiteMenu' })\nexport class LiteMenu {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((liteMenu: LiteMenu) => liteMenu.domain)\n domainId?: string\n\n @Column()\n @Field()\n name: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n description?: string\n\n @Column({\n nullable: true,\n default: ''\n })\n @Field({ nullable: true })\n appName?: string\n\n @Column({\n nullable: true,\n default: ''\n })\n @Field({ nullable: true })\n parent?: string\n\n @Column({\n nullable: true\n })\n @Field(type => Int, { nullable: true })\n rank?: number\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n type?: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n value?: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n icon?: string\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n active?: boolean\n\n @Field(type => Board, { nullable: true })\n board?: Board\n\n @Column({ type: 'simple-json', nullable: true })\n @Field(type => PrivilegeObject, { nullable: true })\n privilege?: PrivilegeObject\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((liteMenu: LiteMenu) => liteMenu.creator)\n creatorId?: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((liteMenu: LiteMenu) => liteMenu.updater)\n updaterId?: string\n}\n"]}
|