@things-factory/menu-base 7.0.1-beta.1 → 7.0.1-beta.10

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 (82) hide show
  1. package/dist-server/index.d.ts +1 -0
  2. package/dist-server/service/index.d.ts +10 -0
  3. package/dist-server/service/menu/index.d.ts +5 -0
  4. package/dist-server/service/menu/menu-mutation.d.ts +12 -0
  5. package/dist-server/service/menu/menu-mutation.js +2 -2
  6. package/dist-server/service/menu/menu-mutation.js.map +1 -1
  7. package/dist-server/service/menu/menu-query.d.ts +23 -0
  8. package/dist-server/service/menu/menu-query.js +2 -2
  9. package/dist-server/service/menu/menu-query.js.map +1 -1
  10. package/dist-server/service/menu/menu-type.d.ts +71 -0
  11. package/dist-server/service/menu/menu-type.js +6 -6
  12. package/dist-server/service/menu/menu-type.js.map +1 -1
  13. package/dist-server/service/menu/menu.d.ts +47 -0
  14. package/dist-server/service/menu/menu.js +6 -7
  15. package/dist-server/service/menu/menu.js.map +1 -1
  16. package/dist-server/service/menu-button/index.d.ts +5 -0
  17. package/dist-server/service/menu-button/menu-button-mutation.d.ts +9 -0
  18. package/dist-server/service/menu-button/menu-button-mutation.js +2 -2
  19. package/dist-server/service/menu-button/menu-button-mutation.js.map +1 -1
  20. package/dist-server/service/menu-button/menu-button-query.d.ts +13 -0
  21. package/dist-server/service/menu-button/menu-button-query.js +2 -2
  22. package/dist-server/service/menu-button/menu-button-query.js.map +1 -1
  23. package/dist-server/service/menu-button/menu-button-type.d.ts +23 -0
  24. package/dist-server/service/menu-button/menu-button-type.js +6 -6
  25. package/dist-server/service/menu-button/menu-button-type.js.map +1 -1
  26. package/dist-server/service/menu-button/menu-button.d.ts +22 -0
  27. package/dist-server/service/menu-button/menu-button.js +2 -2
  28. package/dist-server/service/menu-button/menu-button.js.map +1 -1
  29. package/dist-server/service/menu-column/index.d.ts +5 -0
  30. package/dist-server/service/menu-column/menu-column-mutation.d.ts +9 -0
  31. package/dist-server/service/menu-column/menu-column-mutation.js +2 -2
  32. package/dist-server/service/menu-column/menu-column-mutation.js.map +1 -1
  33. package/dist-server/service/menu-column/menu-column-query.d.ts +13 -0
  34. package/dist-server/service/menu-column/menu-column-query.js +2 -2
  35. package/dist-server/service/menu-column/menu-column-query.js.map +1 -1
  36. package/dist-server/service/menu-column/menu-column-type.d.ts +79 -0
  37. package/dist-server/service/menu-column/menu-column-type.js +6 -6
  38. package/dist-server/service/menu-column/menu-column-type.js.map +1 -1
  39. package/dist-server/service/menu-column/menu-column.d.ts +50 -0
  40. package/dist-server/service/menu-column/menu-column.js +2 -2
  41. package/dist-server/service/menu-column/menu-column.js.map +1 -1
  42. package/dist-server/service/menu-detail/index.d.ts +5 -0
  43. package/dist-server/service/menu-detail/menu-detail-mutation.d.ts +9 -0
  44. package/dist-server/service/menu-detail/menu-detail-mutation.js +2 -2
  45. package/dist-server/service/menu-detail/menu-detail-mutation.js.map +1 -1
  46. package/dist-server/service/menu-detail/menu-detail-query.d.ts +17 -0
  47. package/dist-server/service/menu-detail/menu-detail-query.js +2 -2
  48. package/dist-server/service/menu-detail/menu-detail-query.js.map +1 -1
  49. package/dist-server/service/menu-detail/menu-detail-type.d.ts +33 -0
  50. package/dist-server/service/menu-detail/menu-detail-type.js +6 -6
  51. package/dist-server/service/menu-detail/menu-detail-type.js.map +1 -1
  52. package/dist-server/service/menu-detail/menu-detail.d.ts +29 -0
  53. package/dist-server/service/menu-detail/menu-detail.js +2 -2
  54. package/dist-server/service/menu-detail/menu-detail.js.map +1 -1
  55. package/dist-server/service/menu-detail-button/index.d.ts +5 -0
  56. package/dist-server/service/menu-detail-button/menu-detail-button-mutation.d.ts +9 -0
  57. package/dist-server/service/menu-detail-button/menu-detail-button-mutation.js +2 -2
  58. package/dist-server/service/menu-detail-button/menu-detail-button-mutation.js.map +1 -1
  59. package/dist-server/service/menu-detail-button/menu-detail-button-query.d.ts +13 -0
  60. package/dist-server/service/menu-detail-button/menu-detail-button-query.js +2 -2
  61. package/dist-server/service/menu-detail-button/menu-detail-button-query.js.map +1 -1
  62. package/dist-server/service/menu-detail-button/menu-detail-button-type.d.ts +21 -0
  63. package/dist-server/service/menu-detail-button/menu-detail-button-type.js +6 -6
  64. package/dist-server/service/menu-detail-button/menu-detail-button-type.js.map +1 -1
  65. package/dist-server/service/menu-detail-button/menu-detail-button.d.ts +21 -0
  66. package/dist-server/service/menu-detail-button/menu-detail-button.js +2 -2
  67. package/dist-server/service/menu-detail-button/menu-detail-button.js.map +1 -1
  68. package/dist-server/service/menu-detail-column/index.d.ts +5 -0
  69. package/dist-server/service/menu-detail-column/menu-detail-column-mutation.d.ts +9 -0
  70. package/dist-server/service/menu-detail-column/menu-detail-column-mutation.js +2 -2
  71. package/dist-server/service/menu-detail-column/menu-detail-column-mutation.js.map +1 -1
  72. package/dist-server/service/menu-detail-column/menu-detail-column-query.d.ts +13 -0
  73. package/dist-server/service/menu-detail-column/menu-detail-column-query.js +2 -2
  74. package/dist-server/service/menu-detail-column/menu-detail-column-query.js.map +1 -1
  75. package/dist-server/service/menu-detail-column/menu-detail-column-type.d.ts +79 -0
  76. package/dist-server/service/menu-detail-column/menu-detail-column-type.js +6 -6
  77. package/dist-server/service/menu-detail-column/menu-detail-column-type.js.map +1 -1
  78. package/dist-server/service/menu-detail-column/menu-detail-column.d.ts +50 -0
  79. package/dist-server/service/menu-detail-column/menu-detail-column.js +2 -2
  80. package/dist-server/service/menu-detail-column/menu-detail-column.js.map +1 -1
  81. package/dist-server/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ export * from './service';
@@ -0,0 +1,10 @@
1
+ export * from './menu-detail-column/menu-detail-column';
2
+ export * from './menu-detail-button/menu-detail-button';
3
+ export * from './menu-column/menu-column';
4
+ export * from './menu-button/menu-button';
5
+ export * from './menu-detail/menu-detail';
6
+ export * from './menu/menu';
7
+ export declare const entities: (typeof import("./menu-detail-button/menu-detail-button").MenuDetailButton | typeof import("./menu-detail/menu-detail").MenuDetail | typeof import("./menu-button/menu-button").MenuButton | typeof import("./menu/menu").Menu | typeof import("./menu-column/menu-column").MenuColumn | typeof import("./menu-detail-column/menu-detail-column").MenuDetailColumn)[];
8
+ export declare const schema: {
9
+ resolverClasses: (typeof import("./menu-detail-column/menu-detail-column-query").MenuDetailColumnQuery | typeof import("./menu-detail-column/menu-detail-column-mutation").MenuDetailColumnMutation | typeof import("./menu-detail-button/menu-detail-button-query").MenuDetailButtonQuery | typeof import("./menu-detail-button/menu-detail-button-mutation").MenuDetailButtonMutation | typeof import("./menu-column/menu-column-query").MenuColumnQuery | typeof import("./menu-column/menu-column-mutation").MenuColumnMutation | typeof import("./menu-button/menu-button-query").MenuButtonQuery | typeof import("./menu-button/menu-button-mutation").MenuButtonMutation | typeof import("./menu-detail/menu-detail-query").MenuDetailQuery | typeof import("./menu-detail/menu-detail-mutation").MenuDetailMutation | typeof import("./menu/menu-query").MenuQuery | typeof import("./menu/menu-mutation").MenuMutation)[];
10
+ };
@@ -0,0 +1,5 @@
1
+ import { Menu } from './menu';
2
+ import { MenuQuery } from './menu-query';
3
+ import { MenuMutation } from './menu-mutation';
4
+ export declare const entities: (typeof Menu)[];
5
+ export declare const resolvers: (typeof MenuQuery | typeof MenuMutation)[];
@@ -0,0 +1,12 @@
1
+ import { Menu } from './menu';
2
+ import { MenuPatch, NewMenu } from './menu-type';
3
+ export declare class MenuMutation {
4
+ createMenu(menu: NewMenu, context: ResolverContext): Promise<Menu>;
5
+ updateMenu(id: string, patch: MenuPatch, context: ResolverContext): Promise<Menu>;
6
+ updateMultipleMenu(patches: MenuPatch[], context: ResolverContext): Promise<Menu[]>;
7
+ deleteMenu(id: string, context: ResolverContext): Promise<boolean>;
8
+ deleteMenus(ids: string[], context: ResolverContext): Promise<boolean>;
9
+ updateRoleMenu(roleId: string, targetMenuId: string, isCheckedMenu: boolean, context: ResolverContext): Promise<Menu>;
10
+ updateRoleMenus(roleId: string, parentMenuId: string, isCheckedAll: boolean, context: ResolverContext): Promise<Menu[]>;
11
+ importMenus(menus: MenuPatch[], context: ResolverContext): Promise<boolean>;
12
+ }
@@ -146,6 +146,7 @@ let MenuMutation = class MenuMutation {
146
146
  return true;
147
147
  }
148
148
  };
149
+ exports.MenuMutation = MenuMutation;
149
150
  tslib_1.__decorate([
150
151
  (0, type_graphql_1.Directive)('@transaction'),
151
152
  (0, type_graphql_1.Mutation)(returns => menu_1.Menu, { description: 'To create new Menu' }),
@@ -223,8 +224,7 @@ tslib_1.__decorate([
223
224
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
224
225
  tslib_1.__metadata("design:returntype", Promise)
225
226
  ], MenuMutation.prototype, "importMenus", null);
226
- MenuMutation = tslib_1.__decorate([
227
+ exports.MenuMutation = MenuMutation = tslib_1.__decorate([
227
228
  (0, type_graphql_1.Resolver)(menu_1.Menu)
228
229
  ], MenuMutation);
229
- exports.MenuMutation = MenuMutation;
230
230
  //# sourceMappingURL=menu-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-mutation.js","sourceRoot":"","sources":["../../../server/service/menu/menu-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In, Repository } from 'typeorm'\n\nimport { Role } from '@things-factory/auth-base'\n\nimport { Menu } from './menu'\nimport { MenuPatch, NewMenu } from './menu-type'\n\nasync function appendRoleToMenu(roleRepo, roles, targetRole) {\n let roleIds: string[] = roles.map(role => role.id)\n roleIds = Array.from(new Set([...roleIds, targetRole.id]))\n\n return await roleRepo.findByIds(roleIds)\n}\n\nfunction removeRoleToMenu(roles, targetRole) {\n return roles.filter(role => targetRole.id !== role.id)\n}\n\n@Resolver(Menu)\nexport class MenuMutation {\n @Directive('@transaction')\n @Mutation(returns => Menu, { description: 'To create new Menu' })\n async createMenu(@Arg('menu') menu: NewMenu, @Ctx() context: ResolverContext): Promise<Menu> {\n const { domain, user, tx } = context.state\n const menuRepo = tx?.getRepository(Menu)\n\n if (menu?.parent?.id) {\n menu.parent = await menuRepo.findOneBy({\n domain: { id: domain.id },\n id: menu.parent.id\n })\n }\n\n return await tx.getRepository(Menu).save({\n ...menu,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Menu, { description: 'To modify Menu information' })\n async updateMenu(\n @Arg('id') id: string,\n @Arg('patch') patch: MenuPatch,\n @Ctx() context: ResolverContext\n ): Promise<Menu> {\n const { domain, user, tx } = context.state\n\n const menuRepo = tx.getRepository(Menu)\n\n const menu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['children', 'parent']\n })\n\n if (patch?.parent?.id) {\n patch.parent = await menuRepo.findOneBy({ id: patch.parent.id })\n }\n\n if (patch?.children?.length) {\n const childrenIds: string[] = patch.children.map((children: Menu) => children.id)\n patch.children = await menuRepo.findByIds(childrenIds)\n }\n\n return await menuRepo.save({\n ...menu,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Menu], { description: \"To modify multiple Menus' information\" })\n async updateMultipleMenu(\n @Arg('patches', type => [MenuPatch]) patches: MenuPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Menu[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const menuRepo = tx.getRepository(Menu)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord?.parent?.id) {\n newRecord.parent = await menuRepo.findOneBy({\n domain: { id: domain.id },\n id: newRecord.parent.id\n })\n }\n\n const result = await menuRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const { id } = updateRecord\n\n const menu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['children', 'parent']\n })\n\n if (updateRecord?.parent?.id) {\n updateRecord.parent = await menuRepo.findOneBy({ id: updateRecord.parent.id })\n }\n\n if (updateRecord?.children?.length) {\n const childrenIds: string[] = updateRecord.children.map((children: Menu) => children.id)\n updateRecord.children = await menuRepo.findBy({ id: In(childrenIds) })\n }\n\n const result = await menuRepo.save({\n ...menu,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Menu' })\n async deleteMenu(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Menu).delete({ domain: { id: domain.id }, id })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple Menus' })\n async deleteMenus(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Menu).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Menu, { description: 'To update role Menu' })\n async updateRoleMenu(\n @Arg('roleId') roleId: string,\n @Arg('targetMenuId') targetMenuId: string,\n @Arg('isCheckedMenu') isCheckedMenu: boolean,\n @Ctx() context: ResolverContext\n ): Promise<Menu> {\n const { domain, tx } = context.state\n\n const menuRepo: Repository<Menu> = tx?.getRepository(Menu)\n const roleRepo: Repository<Role> = tx?.getRepository(Role)\n\n const menu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id: targetMenuId },\n relations: ['roles']\n })\n const targetRole: Role = await roleRepo.findOne({ where: { domain: { id: domain.id }, id: roleId } })\n\n if (isCheckedMenu) {\n menu.roles = await appendRoleToMenu(roleRepo, menu.roles, targetRole)\n } else {\n menu.roles = removeRoleToMenu(menu.roles, targetRole)\n }\n\n return await menuRepo.save({\n ...menu\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Menu], { description: 'To update role Menu' })\n async updateRoleMenus(\n @Arg('roleId') roleId: string,\n @Arg('parentMenuId') parentMenuId: string,\n @Arg('isCheckedAll') isCheckedAll: boolean,\n @Ctx() context: ResolverContext\n ): Promise<Menu[]> {\n const { domain, tx } = context.state\n\n const menuRepo: Repository<Menu> = tx?.getRepository(Menu)\n const roleRepo: Repository<Role> = tx?.getRepository(Role)\n\n const targetParentMenu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id: parentMenuId },\n relations: ['children', 'children.roles']\n })\n let childMenus: Menu[] = targetParentMenu.children\n\n const targetRole: Role = await roleRepo.findOne({ where: { domain: { id: domain.id }, id: roleId } })\n\n if (isCheckedAll) {\n childMenus.forEach(async child => {\n child.roles = await appendRoleToMenu(roleRepo, child.roles, targetRole)\n })\n } else {\n childMenus.forEach(child => {\n child.roles = removeRoleToMenu(child.roles, targetRole)\n })\n }\n\n return await menuRepo.save([...childMenus])\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple Menus' })\n async importMenus(\n @Arg('menus', type => [MenuPatch]) menus: MenuPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n menus.map(async (menu: MenuPatch) => {\n const createdMenu: Menu = await tx.getRepository(Menu).save({ domain, ...menu })\n })\n )\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"menu-mutation.js","sourceRoot":"","sources":["../../../server/service/menu/menu-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In, Repository } from 'typeorm'\n\nimport { Role } from '@things-factory/auth-base'\n\nimport { Menu } from './menu'\nimport { MenuPatch, NewMenu } from './menu-type'\n\nasync function appendRoleToMenu(roleRepo, roles, targetRole) {\n let roleIds: string[] = roles.map(role => role.id)\n roleIds = Array.from(new Set([...roleIds, targetRole.id]))\n\n return await roleRepo.findByIds(roleIds)\n}\n\nfunction removeRoleToMenu(roles, targetRole) {\n return roles.filter(role => targetRole.id !== role.id)\n}\n\n@Resolver(Menu)\nexport class MenuMutation {\n @Directive('@transaction')\n @Mutation(returns => Menu, { description: 'To create new Menu' })\n async createMenu(@Arg('menu') menu: NewMenu, @Ctx() context: ResolverContext): Promise<Menu> {\n const { domain, user, tx } = context.state\n const menuRepo = tx?.getRepository(Menu)\n\n if (menu?.parent?.id) {\n menu.parent = await menuRepo.findOneBy({\n domain: { id: domain.id },\n id: menu.parent.id\n })\n }\n\n return await tx.getRepository(Menu).save({\n ...menu,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Menu, { description: 'To modify Menu information' })\n async updateMenu(\n @Arg('id') id: string,\n @Arg('patch') patch: MenuPatch,\n @Ctx() context: ResolverContext\n ): Promise<Menu> {\n const { domain, user, tx } = context.state\n\n const menuRepo = tx.getRepository(Menu)\n\n const menu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['children', 'parent']\n })\n\n if (patch?.parent?.id) {\n patch.parent = await menuRepo.findOneBy({ id: patch.parent.id })\n }\n\n if (patch?.children?.length) {\n const childrenIds: string[] = patch.children.map((children: Menu) => children.id)\n patch.children = await menuRepo.findByIds(childrenIds)\n }\n\n return await menuRepo.save({\n ...menu,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Menu], { description: \"To modify multiple Menus' information\" })\n async updateMultipleMenu(\n @Arg('patches', type => [MenuPatch]) patches: MenuPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Menu[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const menuRepo = tx.getRepository(Menu)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord?.parent?.id) {\n newRecord.parent = await menuRepo.findOneBy({\n domain: { id: domain.id },\n id: newRecord.parent.id\n })\n }\n\n const result = await menuRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const { id } = updateRecord\n\n const menu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['children', 'parent']\n })\n\n if (updateRecord?.parent?.id) {\n updateRecord.parent = await menuRepo.findOneBy({ id: updateRecord.parent.id })\n }\n\n if (updateRecord?.children?.length) {\n const childrenIds: string[] = updateRecord.children.map((children: Menu) => children.id)\n updateRecord.children = await menuRepo.findBy({ id: In(childrenIds) })\n }\n\n const result = await menuRepo.save({\n ...menu,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Menu' })\n async deleteMenu(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Menu).delete({ domain: { id: domain.id }, id })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple Menus' })\n async deleteMenus(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Menu).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Menu, { description: 'To update role Menu' })\n async updateRoleMenu(\n @Arg('roleId') roleId: string,\n @Arg('targetMenuId') targetMenuId: string,\n @Arg('isCheckedMenu') isCheckedMenu: boolean,\n @Ctx() context: ResolverContext\n ): Promise<Menu> {\n const { domain, tx } = context.state\n\n const menuRepo: Repository<Menu> = tx?.getRepository(Menu)\n const roleRepo: Repository<Role> = tx?.getRepository(Role)\n\n const menu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id: targetMenuId },\n relations: ['roles']\n })\n const targetRole: Role = await roleRepo.findOne({ where: { domain: { id: domain.id }, id: roleId } })\n\n if (isCheckedMenu) {\n menu.roles = await appendRoleToMenu(roleRepo, menu.roles, targetRole)\n } else {\n menu.roles = removeRoleToMenu(menu.roles, targetRole)\n }\n\n return await menuRepo.save({\n ...menu\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Menu], { description: 'To update role Menu' })\n async updateRoleMenus(\n @Arg('roleId') roleId: string,\n @Arg('parentMenuId') parentMenuId: string,\n @Arg('isCheckedAll') isCheckedAll: boolean,\n @Ctx() context: ResolverContext\n ): Promise<Menu[]> {\n const { domain, tx } = context.state\n\n const menuRepo: Repository<Menu> = tx?.getRepository(Menu)\n const roleRepo: Repository<Role> = tx?.getRepository(Role)\n\n const targetParentMenu: Menu = await menuRepo.findOne({\n where: { domain: { id: domain.id }, id: parentMenuId },\n relations: ['children', 'children.roles']\n })\n let childMenus: Menu[] = targetParentMenu.children\n\n const targetRole: Role = await roleRepo.findOne({ where: { domain: { id: domain.id }, id: roleId } })\n\n if (isCheckedAll) {\n childMenus.forEach(async child => {\n child.roles = await appendRoleToMenu(roleRepo, child.roles, targetRole)\n })\n } else {\n childMenus.forEach(child => {\n child.roles = removeRoleToMenu(child.roles, targetRole)\n })\n }\n\n return await menuRepo.save([...childMenus])\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple Menus' })\n async importMenus(\n @Arg('menus', type => [MenuPatch]) menus: MenuPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n menus.map(async (menu: MenuPatch) => {\n const createdMenu: Menu = await tx.getRepository(Menu).save({ domain, ...menu })\n })\n )\n\n return true\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import { Domain, ListParam } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { MenuButton } from '../menu-button/menu-button';
4
+ import { MenuColumn } from '../menu-column/menu-column';
5
+ import { Menu } from './menu';
6
+ import { MenuList } from './menu-type';
7
+ export declare class MenuQuery {
8
+ menu(id: string, context: ResolverContext): Promise<Menu>;
9
+ menuByRouting(routing: string, context: any): Promise<Menu>;
10
+ menus(params: ListParam, context: ResolverContext): Promise<MenuList>;
11
+ myMenus(params: ListParam, context: ResolverContext): Promise<MenuList>;
12
+ roleMenus(roleId: string, context: ResolverContext): Promise<{
13
+ items: Menu[];
14
+ total: number;
15
+ }>;
16
+ userMenus(context: ResolverContext): Promise<Menu[]>;
17
+ children(menu: Menu, permittedOnly: boolean, context: ResolverContext): Promise<Menu[]>;
18
+ buttons(menu: Menu): Promise<MenuButton[]>;
19
+ columns(menu: Menu): Promise<MenuColumn[]>;
20
+ domain(menu: Menu): Promise<Domain>;
21
+ updater(menu: Menu): Promise<User>;
22
+ creator(menu: Menu): Promise<User>;
23
+ }
@@ -166,6 +166,7 @@ let MenuQuery = class MenuQuery {
166
166
  return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: menu.creatorId });
167
167
  }
168
168
  };
169
+ exports.MenuQuery = MenuQuery;
169
170
  tslib_1.__decorate([
170
171
  (0, type_graphql_1.Query)(returns => menu_1.Menu, { description: 'To fetch a Menu' }),
171
172
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
@@ -256,8 +257,7 @@ tslib_1.__decorate([
256
257
  tslib_1.__metadata("design:paramtypes", [menu_1.Menu]),
257
258
  tslib_1.__metadata("design:returntype", Promise)
258
259
  ], MenuQuery.prototype, "creator", null);
259
- MenuQuery = tslib_1.__decorate([
260
+ exports.MenuQuery = MenuQuery = tslib_1.__decorate([
260
261
  (0, type_graphql_1.Resolver)(menu_1.Menu)
261
262
  ], MenuQuery);
262
- exports.MenuQuery = MenuQuery;
263
263
  //# sourceMappingURL=menu-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-query.js","sourceRoot":"","sources":["../../../server/service/menu/menu-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { In, Repository, SelectQueryBuilder } from 'typeorm'\n\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { checkPermission, Role, User } from '@things-factory/auth-base'\n\nimport { MenuButton } from '../menu-button/menu-button'\nimport { MenuColumn } from '../menu-column/menu-column'\nimport { Menu } from './menu'\nimport { MenuList } from './menu-type'\n\nasync function getNonRestrictedMenus(domain: Domain): Promise<Menu[]> {\n const menus: Menu[] = await getRepository(Menu).find({\n where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },\n relations: ['parent', 'children', 'children.roles'],\n order: { rank: 'ASC' }\n })\n\n menus.forEach(menu => {\n menu.children = menu.children.filter(child => !child.roles?.length)\n })\n\n return menus\n}\n\nasync function getRestrictedMenus(roleIds: string[], domain: Domain): Promise<Menu[]> {\n const menus: Menu[] = await getRepository(Menu).find({\n where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },\n relations: ['parent', 'children', 'children.roles'],\n order: { rank: 'ASC' }\n })\n const userRoles: Role[] = await getRepository(Role).find({ where: { domain: { id: domain.id }, id: In(roleIds) } })\n\n menus.forEach(menu => {\n menu.children = menu.children.filter(child => {\n const childRoleIds = child.roles?.map(role => role.id) || []\n\n return userRoles.find(role => childRoleIds.includes(role.id)) || false\n })\n })\n\n return menus\n}\n\n@Resolver(Menu)\nexport class MenuQuery {\n @Query(returns => Menu, { description: 'To fetch a Menu' })\n async menu(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Menu> {\n const { domain } = context.state\n\n return await getRepository(Menu).findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['roles']\n })\n }\n\n @Query(returns => Menu, { description: 'To fetch a Menu by routing' })\n async menuByRouting(@Arg('routing') routing: string, context) {\n const { domain } = context.state\n\n return await getRepository(Menu).findOne({\n where: { domain: { id: domain.id }, routing }\n })\n }\n\n @Query(returns => MenuList, { description: 'To fetch multiple Menus' })\n async menus(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MenuList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Menu),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => MenuList, { description: 'To fetch my own Menus' })\n async myMenus(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MenuList> {\n const { domain, user, unsafeIP, prohibitedPrivileges } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Menu),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n const filtered = []\n\n for (let item of items) {\n if (await checkPermission(item.privilege, user, domain, unsafeIP, prohibitedPrivileges)) {\n filtered.push(item)\n }\n }\n\n return { items: filtered, total: filtered.length }\n }\n\n @Query(returns => MenuList, { description: 'To fetch Menus by role' })\n async roleMenus(@Arg('roleId') roleId: string, @Ctx() context: ResolverContext) {\n const { domain } = context.state\n\n const menuRepo: Repository<Menu> = getRepository(Menu)\n const menus: Menu[] = await menuRepo.find({\n where: { domain: { id: domain.id } },\n relations: ['parent', 'roles']\n })\n const role: Role = await getRepository(Role).findOne({ where: { domain: { id: domain.id }, id: roleId } })\n\n let newChildMenus: Menu[] = []\n\n menus.forEach(menu => {\n if (menu.roles) {\n const menuRoleIds = menu.roles.map(role => role.id)\n\n if (menuRoleIds.includes(role.id)) {\n newChildMenus.push(menu)\n }\n }\n })\n\n return { items: newChildMenus, total: newChildMenus.length }\n }\n\n @Query(returns => [Menu], { description: 'To fetch Menus by role' })\n async userMenus(@Ctx() context: ResolverContext): Promise<Menu[]> {\n const { domain, user } = context.state\n\n var menus: Menu[] = []\n\n try {\n const qb: SelectQueryBuilder<User> = getRepository(User).createQueryBuilder('USER')\n const user: User = await qb\n .leftJoinAndSelect('USER.roles', 'ROLES')\n .leftJoinAndSelect('ROLES.domain', 'ROLES_DOMAIN')\n .where('USER.id = :userId', { userId: context.state.user.id })\n .andWhere('ROLES_DOMAIN.id = :domainId', { domainId: context.state.domain.id })\n .getOne()\n\n // get menus which are non-restricted by any role.\n menus.push(...(await getNonRestrictedMenus(context.state.domain)))\n\n const userRoleIds: string[] = user.roles.map((role: Role) => role.id)\n let restrictedMenus: Menu[] = []\n if (userRoleIds?.length) {\n // get menus which are restricted by role ()\n restrictedMenus = [...(await getRestrictedMenus(userRoleIds, context.state.domain))]\n }\n\n const restrictedMenuIds: string[] = restrictedMenus.map((restrictedMenu: Menu) => restrictedMenu.id)\n menus.forEach(menu => {\n const idx = restrictedMenuIds.indexOf(menu.id)\n if (idx !== -1) {\n menu.children = Array.from(new Set([...restrictedMenus[idx].children, ...menu.children]))\n }\n })\n\n return menus.filter((groupMenu: Menu) => groupMenu?.children?.length)\n } catch (e) {\n throw e\n }\n }\n\n @FieldResolver(type => [Menu])\n async children(@Root() menu: Menu, @Arg('permittedOnly', { defaultValue: false }) permittedOnly: boolean, @Ctx() context: ResolverContext): Promise<Menu[]> {\n var menus = menu.children || (await getRepository(Menu).findBy({\n parent: { id: menu.id }\n }))\n\n if(!permittedOnly) {\n return menus\n }\n\n const { domain, user, unsafeIP, prohibitedPrivileges } = context.state\n const filtered = []\n\n for (let item of menus) {\n if (await checkPermission(item.privilege, user, domain, unsafeIP, prohibitedPrivileges)) {\n filtered.push(item)\n }\n }\n\n return filtered\n }\n\n @FieldResolver(type => [MenuButton])\n async buttons(@Root() menu: Menu): Promise<MenuButton[]> {\n return await getRepository(MenuButton).findBy({\n menu: { id: menu.id }\n })\n }\n\n @FieldResolver(type => [MenuColumn])\n async columns(@Root() menu: Menu): Promise<MenuColumn[]> {\n return await getRepository(MenuColumn).findBy({\n menu: { id: menu.id }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() menu: Menu): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: menu.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() menu: Menu): Promise<User> {\n return await getRepository(User).findOneBy({ id: menu.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() menu: Menu): Promise<User> {\n return await getRepository(User).findOneBy({ id: menu.creatorId })\n }\n}\n"]}
1
+ {"version":3,"file":"menu-query.js","sourceRoot":"","sources":["../../../server/service/menu/menu-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { In, Repository, SelectQueryBuilder } from 'typeorm'\n\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { checkPermission, Role, User } from '@things-factory/auth-base'\n\nimport { MenuButton } from '../menu-button/menu-button'\nimport { MenuColumn } from '../menu-column/menu-column'\nimport { Menu } from './menu'\nimport { MenuList } from './menu-type'\n\nasync function getNonRestrictedMenus(domain: Domain): Promise<Menu[]> {\n const menus: Menu[] = await getRepository(Menu).find({\n where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },\n relations: ['parent', 'children', 'children.roles'],\n order: { rank: 'ASC' }\n })\n\n menus.forEach(menu => {\n menu.children = menu.children.filter(child => !child.roles?.length)\n })\n\n return menus\n}\n\nasync function getRestrictedMenus(roleIds: string[], domain: Domain): Promise<Menu[]> {\n const menus: Menu[] = await getRepository(Menu).find({\n where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },\n relations: ['parent', 'children', 'children.roles'],\n order: { rank: 'ASC' }\n })\n const userRoles: Role[] = await getRepository(Role).find({ where: { domain: { id: domain.id }, id: In(roleIds) } })\n\n menus.forEach(menu => {\n menu.children = menu.children.filter(child => {\n const childRoleIds = child.roles?.map(role => role.id) || []\n\n return userRoles.find(role => childRoleIds.includes(role.id)) || false\n })\n })\n\n return menus\n}\n\n@Resolver(Menu)\nexport class MenuQuery {\n @Query(returns => Menu, { description: 'To fetch a Menu' })\n async menu(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Menu> {\n const { domain } = context.state\n\n return await getRepository(Menu).findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['roles']\n })\n }\n\n @Query(returns => Menu, { description: 'To fetch a Menu by routing' })\n async menuByRouting(@Arg('routing') routing: string, context) {\n const { domain } = context.state\n\n return await getRepository(Menu).findOne({\n where: { domain: { id: domain.id }, routing }\n })\n }\n\n @Query(returns => MenuList, { description: 'To fetch multiple Menus' })\n async menus(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MenuList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Menu),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => MenuList, { description: 'To fetch my own Menus' })\n async myMenus(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MenuList> {\n const { domain, user, unsafeIP, prohibitedPrivileges } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Menu),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n const filtered = []\n\n for (let item of items) {\n if (await checkPermission(item.privilege, user, domain, unsafeIP, prohibitedPrivileges)) {\n filtered.push(item)\n }\n }\n\n return { items: filtered, total: filtered.length }\n }\n\n @Query(returns => MenuList, { description: 'To fetch Menus by role' })\n async roleMenus(@Arg('roleId') roleId: string, @Ctx() context: ResolverContext) {\n const { domain } = context.state\n\n const menuRepo: Repository<Menu> = getRepository(Menu)\n const menus: Menu[] = await menuRepo.find({\n where: { domain: { id: domain.id } },\n relations: ['parent', 'roles']\n })\n const role: Role = await getRepository(Role).findOne({ where: { domain: { id: domain.id }, id: roleId } })\n\n let newChildMenus: Menu[] = []\n\n menus.forEach(menu => {\n if (menu.roles) {\n const menuRoleIds = menu.roles.map(role => role.id)\n\n if (menuRoleIds.includes(role.id)) {\n newChildMenus.push(menu)\n }\n }\n })\n\n return { items: newChildMenus, total: newChildMenus.length }\n }\n\n @Query(returns => [Menu], { description: 'To fetch Menus by role' })\n async userMenus(@Ctx() context: ResolverContext): Promise<Menu[]> {\n const { domain, user } = context.state\n\n var menus: Menu[] = []\n\n try {\n const qb: SelectQueryBuilder<User> = getRepository(User).createQueryBuilder('USER')\n const user: User = await qb\n .leftJoinAndSelect('USER.roles', 'ROLES')\n .leftJoinAndSelect('ROLES.domain', 'ROLES_DOMAIN')\n .where('USER.id = :userId', { userId: context.state.user.id })\n .andWhere('ROLES_DOMAIN.id = :domainId', { domainId: context.state.domain.id })\n .getOne()\n\n // get menus which are non-restricted by any role.\n menus.push(...(await getNonRestrictedMenus(context.state.domain)))\n\n const userRoleIds: string[] = user.roles.map((role: Role) => role.id)\n let restrictedMenus: Menu[] = []\n if (userRoleIds?.length) {\n // get menus which are restricted by role ()\n restrictedMenus = [...(await getRestrictedMenus(userRoleIds, context.state.domain))]\n }\n\n const restrictedMenuIds: string[] = restrictedMenus.map((restrictedMenu: Menu) => restrictedMenu.id)\n menus.forEach(menu => {\n const idx = restrictedMenuIds.indexOf(menu.id)\n if (idx !== -1) {\n menu.children = Array.from(new Set([...restrictedMenus[idx].children, ...menu.children]))\n }\n })\n\n return menus.filter((groupMenu: Menu) => groupMenu?.children?.length)\n } catch (e) {\n throw e\n }\n }\n\n @FieldResolver(type => [Menu])\n async children(@Root() menu: Menu, @Arg('permittedOnly', { defaultValue: false }) permittedOnly: boolean, @Ctx() context: ResolverContext): Promise<Menu[]> {\n var menus = menu.children || (await getRepository(Menu).findBy({\n parent: { id: menu.id }\n }))\n\n if(!permittedOnly) {\n return menus\n }\n\n const { domain, user, unsafeIP, prohibitedPrivileges } = context.state\n const filtered = []\n\n for (let item of menus) {\n if (await checkPermission(item.privilege, user, domain, unsafeIP, prohibitedPrivileges)) {\n filtered.push(item)\n }\n }\n\n return filtered\n }\n\n @FieldResolver(type => [MenuButton])\n async buttons(@Root() menu: Menu): Promise<MenuButton[]> {\n return await getRepository(MenuButton).findBy({\n menu: { id: menu.id }\n })\n }\n\n @FieldResolver(type => [MenuColumn])\n async columns(@Root() menu: Menu): Promise<MenuColumn[]> {\n return await getRepository(MenuColumn).findBy({\n menu: { id: menu.id }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() menu: Menu): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: menu.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() menu: Menu): Promise<User> {\n return await getRepository(User).findOneBy({ id: menu.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() menu: Menu): Promise<User> {\n return await getRepository(User).findOneBy({ id: menu.creatorId })\n }\n}\n"]}
@@ -0,0 +1,71 @@
1
+ import { ObjectRef } from '@things-factory/shell';
2
+ import { PrivilegeInput } from '@things-factory/auth-base';
3
+ import { Menu } from './menu';
4
+ export declare class NewMenu {
5
+ name: string;
6
+ menuType: string;
7
+ description?: string;
8
+ category: string;
9
+ rank?: number;
10
+ routing?: string;
11
+ routingType?: string;
12
+ resourceType?: string;
13
+ resourceId?: string;
14
+ resourceUrl?: string;
15
+ resourceName?: string;
16
+ idField?: string;
17
+ titleField?: string;
18
+ gridSaveUrl?: string;
19
+ pagination?: boolean;
20
+ detailFormId?: string;
21
+ detailLayout?: string;
22
+ template?: string;
23
+ hiddenFlag?: boolean;
24
+ itemsProp?: string;
25
+ totalProp?: string;
26
+ fixedColumns?: number;
27
+ iconPath?: string;
28
+ role?: ObjectRef;
29
+ privilege?: PrivilegeInput;
30
+ parent?: ObjectRef;
31
+ children?: ObjectRef[];
32
+ buttons?: ObjectRef[];
33
+ columns?: ObjectRef[];
34
+ }
35
+ export declare class MenuPatch {
36
+ id?: string;
37
+ category?: string;
38
+ name?: string;
39
+ description?: string;
40
+ menuType?: string;
41
+ rank?: number;
42
+ routing?: string;
43
+ routingType?: string;
44
+ resourceType?: string;
45
+ resourceId?: string;
46
+ resourceUrl?: string;
47
+ resourceName?: string;
48
+ idField?: string;
49
+ titleField?: string;
50
+ gridSaveUrl?: string;
51
+ pagination?: boolean;
52
+ detailFormId?: string;
53
+ detailLayout?: string;
54
+ template?: string;
55
+ hiddenFlag?: boolean;
56
+ itemsProp?: string;
57
+ totalProp?: string;
58
+ fixedColumns?: number;
59
+ iconPath?: string;
60
+ role?: ObjectRef;
61
+ privilege?: PrivilegeInput;
62
+ parent?: ObjectRef;
63
+ children?: ObjectRef[];
64
+ buttons?: ObjectRef[];
65
+ columns?: ObjectRef[];
66
+ cuFlag?: string;
67
+ }
68
+ export declare class MenuList {
69
+ items: Menu[];
70
+ total: number;
71
+ }
@@ -8,6 +8,7 @@ const auth_base_1 = require("@things-factory/auth-base");
8
8
  const menu_1 = require("./menu");
9
9
  let NewMenu = class NewMenu {
10
10
  };
11
+ exports.NewMenu = NewMenu;
11
12
  tslib_1.__decorate([
12
13
  (0, type_graphql_1.Field)(),
13
14
  tslib_1.__metadata("design:type", String)
@@ -124,12 +125,12 @@ tslib_1.__decorate([
124
125
  (0, type_graphql_1.Field)(type => [shell_1.ObjectRef], { nullable: true }),
125
126
  tslib_1.__metadata("design:type", Array)
126
127
  ], NewMenu.prototype, "columns", void 0);
127
- NewMenu = tslib_1.__decorate([
128
+ exports.NewMenu = NewMenu = tslib_1.__decorate([
128
129
  (0, type_graphql_1.InputType)()
129
130
  ], NewMenu);
130
- exports.NewMenu = NewMenu;
131
131
  let MenuPatch = class MenuPatch {
132
132
  };
133
+ exports.MenuPatch = MenuPatch;
133
134
  tslib_1.__decorate([
134
135
  (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
135
136
  tslib_1.__metadata("design:type", String)
@@ -254,12 +255,12 @@ tslib_1.__decorate([
254
255
  (0, type_graphql_1.Field)({ nullable: true }),
255
256
  tslib_1.__metadata("design:type", String)
256
257
  ], MenuPatch.prototype, "cuFlag", void 0);
257
- MenuPatch = tslib_1.__decorate([
258
+ exports.MenuPatch = MenuPatch = tslib_1.__decorate([
258
259
  (0, type_graphql_1.InputType)()
259
260
  ], MenuPatch);
260
- exports.MenuPatch = MenuPatch;
261
261
  let MenuList = class MenuList {
262
262
  };
263
+ exports.MenuList = MenuList;
263
264
  tslib_1.__decorate([
264
265
  (0, type_graphql_1.Field)(type => [menu_1.Menu]),
265
266
  tslib_1.__metadata("design:type", Array)
@@ -268,8 +269,7 @@ tslib_1.__decorate([
268
269
  (0, type_graphql_1.Field)(type => type_graphql_1.Int),
269
270
  tslib_1.__metadata("design:type", Number)
270
271
  ], MenuList.prototype, "total", void 0);
271
- MenuList = tslib_1.__decorate([
272
+ exports.MenuList = MenuList = tslib_1.__decorate([
272
273
  (0, type_graphql_1.ObjectType)()
273
274
  ], MenuList);
274
- exports.MenuList = MenuList;
275
275
  //# sourceMappingURL=menu-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-type.js","sourceRoot":"","sources":["../../../server/service/menu/menu-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\nimport { PrivilegeInput } from '@things-factory/auth-base'\n\nimport { Menu } from './menu'\n\n@InputType()\nexport class NewMenu {\n @Field() name: string\n @Field() menuType: string\n\n @Field({ nullable: true }) description?: string\n @Field({ nullable: true }) category: string\n @Field(type => Int, { nullable: true }) rank?: number\n @Field({ nullable: true }) routing?: string\n @Field({ nullable: true }) routingType?: string\n @Field({ nullable: true }) resourceType?: string\n @Field({ nullable: true }) resourceId?: string\n @Field({ nullable: true }) resourceUrl?: string\n @Field({ nullable: true }) resourceName?: string\n @Field({ nullable: true }) idField?: string\n @Field({ nullable: true }) titleField?: string\n @Field({ nullable: true }) gridSaveUrl?: string\n @Field({ nullable: true }) pagination?: boolean\n @Field({ nullable: true }) detailFormId?: string\n @Field({ nullable: true }) detailLayout?: string\n @Field({ nullable: true }) template?: string\n @Field({ nullable: true }) hiddenFlag?: boolean\n @Field({ nullable: true }) itemsProp?: string\n @Field({ nullable: true }) totalProp?: string\n @Field(type => Int, { nullable: true }) fixedColumns?: number\n @Field({ nullable: true }) iconPath?: string\n @Field({ nullable: true }) role?: ObjectRef\n @Field({ nullable: true }) privilege?: PrivilegeInput\n @Field({ nullable: true }) parent?: ObjectRef\n @Field(type => [ObjectRef], { nullable: true }) children?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) buttons?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) columns?: ObjectRef[]\n}\n\n@InputType()\nexport class MenuPatch {\n @Field(type => ID, { nullable: true }) id?: string\n @Field({ nullable: true }) category?: string\n @Field({ nullable: true }) name?: string\n @Field({ nullable: true }) description?: string\n @Field({ nullable: true }) menuType?: string\n @Field(type => Int, { nullable: true }) rank?: number\n @Field({ nullable: true }) routing?: string\n @Field({ nullable: true }) routingType?: string\n @Field({ nullable: true }) resourceType?: string\n @Field({ nullable: true }) resourceId?: string\n @Field({ nullable: true }) resourceUrl?: string\n @Field({ nullable: true }) resourceName?: string\n @Field({ nullable: true }) idField?: string\n @Field({ nullable: true }) titleField?: string\n @Field({ nullable: true }) gridSaveUrl?: string\n @Field({ nullable: true }) pagination?: boolean\n @Field({ nullable: true }) detailFormId?: string\n @Field({ nullable: true }) detailLayout?: string\n @Field({ nullable: true }) template?: string\n @Field({ nullable: true }) hiddenFlag?: boolean\n @Field({ nullable: true }) itemsProp?: string\n @Field({ nullable: true }) totalProp?: string\n @Field(type => Int, { nullable: true }) fixedColumns?: number\n @Field({ nullable: true }) iconPath?: string\n @Field({ nullable: true }) role?: ObjectRef\n @Field({ nullable: true }) privilege?: PrivilegeInput\n @Field({ nullable: true }) parent?: ObjectRef\n @Field(type => [ObjectRef], { nullable: true }) children?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) buttons?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) columns?: ObjectRef[]\n @Field({ nullable: true }) cuFlag?: string\n}\n\n@ObjectType()\nexport class MenuList {\n @Field(type => [Menu]) items: Menu[]\n @Field(type => Int) total: number\n}\n"]}
1
+ {"version":3,"file":"menu-type.js","sourceRoot":"","sources":["../../../server/service/menu/menu-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\nimport { PrivilegeInput } from '@things-factory/auth-base'\n\nimport { Menu } from './menu'\n\n@InputType()\nexport class NewMenu {\n @Field() name: string\n @Field() menuType: string\n\n @Field({ nullable: true }) description?: string\n @Field({ nullable: true }) category: string\n @Field(type => Int, { nullable: true }) rank?: number\n @Field({ nullable: true }) routing?: string\n @Field({ nullable: true }) routingType?: string\n @Field({ nullable: true }) resourceType?: string\n @Field({ nullable: true }) resourceId?: string\n @Field({ nullable: true }) resourceUrl?: string\n @Field({ nullable: true }) resourceName?: string\n @Field({ nullable: true }) idField?: string\n @Field({ nullable: true }) titleField?: string\n @Field({ nullable: true }) gridSaveUrl?: string\n @Field({ nullable: true }) pagination?: boolean\n @Field({ nullable: true }) detailFormId?: string\n @Field({ nullable: true }) detailLayout?: string\n @Field({ nullable: true }) template?: string\n @Field({ nullable: true }) hiddenFlag?: boolean\n @Field({ nullable: true }) itemsProp?: string\n @Field({ nullable: true }) totalProp?: string\n @Field(type => Int, { nullable: true }) fixedColumns?: number\n @Field({ nullable: true }) iconPath?: string\n @Field({ nullable: true }) role?: ObjectRef\n @Field({ nullable: true }) privilege?: PrivilegeInput\n @Field({ nullable: true }) parent?: ObjectRef\n @Field(type => [ObjectRef], { nullable: true }) children?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) buttons?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) columns?: ObjectRef[]\n}\n\n@InputType()\nexport class MenuPatch {\n @Field(type => ID, { nullable: true }) id?: string\n @Field({ nullable: true }) category?: string\n @Field({ nullable: true }) name?: string\n @Field({ nullable: true }) description?: string\n @Field({ nullable: true }) menuType?: string\n @Field(type => Int, { nullable: true }) rank?: number\n @Field({ nullable: true }) routing?: string\n @Field({ nullable: true }) routingType?: string\n @Field({ nullable: true }) resourceType?: string\n @Field({ nullable: true }) resourceId?: string\n @Field({ nullable: true }) resourceUrl?: string\n @Field({ nullable: true }) resourceName?: string\n @Field({ nullable: true }) idField?: string\n @Field({ nullable: true }) titleField?: string\n @Field({ nullable: true }) gridSaveUrl?: string\n @Field({ nullable: true }) pagination?: boolean\n @Field({ nullable: true }) detailFormId?: string\n @Field({ nullable: true }) detailLayout?: string\n @Field({ nullable: true }) template?: string\n @Field({ nullable: true }) hiddenFlag?: boolean\n @Field({ nullable: true }) itemsProp?: string\n @Field({ nullable: true }) totalProp?: string\n @Field(type => Int, { nullable: true }) fixedColumns?: number\n @Field({ nullable: true }) iconPath?: string\n @Field({ nullable: true }) role?: ObjectRef\n @Field({ nullable: true }) privilege?: PrivilegeInput\n @Field({ nullable: true }) parent?: ObjectRef\n @Field(type => [ObjectRef], { nullable: true }) children?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) buttons?: ObjectRef[]\n @Field(type => [ObjectRef], { nullable: true }) columns?: ObjectRef[]\n @Field({ nullable: true }) cuFlag?: string\n}\n\n@ObjectType()\nexport class MenuList {\n @Field(type => [Menu]) items: Menu[]\n @Field(type => Int) total: number\n}\n"]}
@@ -0,0 +1,47 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ import { PrivilegeObject, Role, User } from '@things-factory/auth-base';
3
+ import { MenuButton } from '../menu-button/menu-button';
4
+ import { MenuColumn } from '../menu-column/menu-column';
5
+ export declare class Menu {
6
+ readonly id: string;
7
+ domain?: Domain;
8
+ domainId?: string;
9
+ name: string;
10
+ description?: string;
11
+ parent?: Menu;
12
+ parentId?: string;
13
+ template?: string;
14
+ menuType?: string;
15
+ category?: string;
16
+ role: Role;
17
+ roleId?: string;
18
+ roles?: Role[];
19
+ privilege?: PrivilegeObject;
20
+ rank?: number;
21
+ iconPath?: string;
22
+ hiddenFlag?: boolean;
23
+ routing?: string;
24
+ routingType?: string;
25
+ detailFormId?: string;
26
+ detailLayout?: string;
27
+ resourceType?: string;
28
+ resourceId?: string;
29
+ resourceName?: string;
30
+ resourceUrl?: string;
31
+ gridSaveUrl?: string;
32
+ idField?: string;
33
+ titleField?: string;
34
+ pagination?: boolean;
35
+ itemsProp?: string;
36
+ totalProp?: string;
37
+ fixedColumns?: number;
38
+ children?: Menu[];
39
+ buttons?: MenuButton[];
40
+ columns?: MenuColumn[];
41
+ createdAt?: Date;
42
+ updatedAt?: Date;
43
+ creator?: User;
44
+ creatorId?: string;
45
+ updater?: User;
46
+ updaterId?: string;
47
+ }
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var Menu_1;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Menu = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -9,11 +8,12 @@ const shell_1 = require("@things-factory/shell");
9
8
  const auth_base_1 = require("@things-factory/auth-base");
10
9
  const menu_button_1 = require("../menu-button/menu-button");
11
10
  const menu_column_1 = require("../menu-column/menu-column");
12
- let Menu = Menu_1 = class Menu {
11
+ let Menu = class Menu {
13
12
  constructor() {
14
13
  this.hiddenFlag = false;
15
14
  }
16
15
  };
16
+ exports.Menu = Menu;
17
17
  tslib_1.__decorate([
18
18
  (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
19
19
  (0, type_graphql_1.Field)(type => type_graphql_1.ID),
@@ -39,7 +39,7 @@ tslib_1.__decorate([
39
39
  tslib_1.__metadata("design:type", String)
40
40
  ], Menu.prototype, "description", void 0);
41
41
  tslib_1.__decorate([
42
- (0, typeorm_1.ManyToOne)(type => Menu_1, parent => parent.children, { nullable: true }),
42
+ (0, typeorm_1.ManyToOne)(type => Menu, parent => parent.children, { nullable: true }),
43
43
  (0, type_graphql_1.Field)({ nullable: true }),
44
44
  tslib_1.__metadata("design:type", Menu)
45
45
  ], Menu.prototype, "parent", void 0);
@@ -173,8 +173,8 @@ tslib_1.__decorate([
173
173
  tslib_1.__metadata("design:type", Number)
174
174
  ], Menu.prototype, "fixedColumns", void 0);
175
175
  tslib_1.__decorate([
176
- (0, typeorm_1.OneToMany)(type => Menu_1, child => child.parent),
177
- (0, type_graphql_1.Field)(type => [Menu_1]),
176
+ (0, typeorm_1.OneToMany)(type => Menu, child => child.parent),
177
+ (0, type_graphql_1.Field)(type => [Menu]),
178
178
  tslib_1.__metadata("design:type", Array)
179
179
  ], Menu.prototype, "children", void 0);
180
180
  tslib_1.__decorate([
@@ -215,12 +215,11 @@ tslib_1.__decorate([
215
215
  (0, typeorm_1.RelationId)((menu) => menu.updater),
216
216
  tslib_1.__metadata("design:type", String)
217
217
  ], Menu.prototype, "updaterId", void 0);
218
- Menu = Menu_1 = tslib_1.__decorate([
218
+ exports.Menu = Menu = tslib_1.__decorate([
219
219
  (0, typeorm_1.Entity)(),
220
220
  (0, typeorm_1.Index)('ix_menu_0', (menu) => [menu.domain, menu.name, menu.parent, menu.role], { unique: true }),
221
221
  (0, typeorm_1.Index)('ix_menu_1', (menu) => [menu.domain, menu.parent]),
222
222
  (0, typeorm_1.Index)('ix_menu_2', (menu) => [menu.domain, menu.category, menu.menuType, menu.rank]),
223
223
  (0, type_graphql_1.ObjectType)({ description: 'Entity for Menu' })
224
224
  ], Menu);
225
- exports.Menu = Menu;
226
225
  //# sourceMappingURL=menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../server/service/menu/menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinTable,\n ManyToMany,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\nimport { PrivilegeObject, Role, User } from '@things-factory/auth-base'\n\nimport { MenuButton } from '../menu-button/menu-button'\nimport { MenuColumn } from '../menu-column/menu-column'\n\n@Entity()\n@Index('ix_menu_0', (menu: Menu) => [menu.domain, menu.name, menu.parent, menu.role], { unique: true })\n@Index('ix_menu_1', (menu: Menu) => [menu.domain, menu.parent])\n@Index('ix_menu_2', (menu: Menu) => [menu.domain, menu.category, menu.menuType, menu.rank])\n@ObjectType({ description: 'Entity for Menu' })\nexport class Menu {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((menu: Menu) => menu.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @ManyToOne(type => Menu, parent => parent.children, { nullable: true })\n @Field({ nullable: true })\n parent?: Menu\n\n @RelationId((menu: Menu) => menu.parent)\n parentId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n template?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n menuType?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n category?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n role: Role\n\n @RelationId((menu: Menu) => menu.role)\n roleId?: string\n\n @ManyToMany(type => Role)\n @JoinTable({ name: 'menus_roles' })\n @Field(type => [Role], { nullable: true })\n roles?: Role[]\n\n @Column({ type: 'simple-json', nullable: true })\n @Field(type => PrivilegeObject, { nullable: true })\n privilege?: PrivilegeObject\n\n @Column('int', { nullable: true })\n @Field({ nullable: true })\n rank?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n iconPath?: string\n\n @Column({ nullable: true, default: false })\n @Field({ nullable: true })\n hiddenFlag?: boolean = false\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n routing?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n routingType?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n detailFormId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n detailLayout?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceType?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceName?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n gridSaveUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n idField?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n titleField?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n pagination?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n itemsProp?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n totalProp?: string\n\n @Column('int', { nullable: true })\n @Field({ nullable: true })\n fixedColumns?: number\n\n @OneToMany(type => Menu, child => child.parent)\n @Field(type => [Menu])\n children?: Menu[]\n\n @OneToMany(type => MenuButton, menuButton => menuButton.menu)\n @Field(type => [MenuButton])\n buttons?: MenuButton[]\n\n @OneToMany(type => MenuColumn, menuColumn => menuColumn.menu)\n @Field(type => [MenuColumn])\n columns?: MenuColumn[]\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, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((menu: Menu) => menu.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((menu: Menu) => menu.updater)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../server/service/menu/menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinTable,\n ManyToMany,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\nimport { PrivilegeObject, Role, User } from '@things-factory/auth-base'\n\nimport { MenuButton } from '../menu-button/menu-button'\nimport { MenuColumn } from '../menu-column/menu-column'\n\n@Entity()\n@Index('ix_menu_0', (menu: Menu) => [menu.domain, menu.name, menu.parent, menu.role], { unique: true })\n@Index('ix_menu_1', (menu: Menu) => [menu.domain, menu.parent])\n@Index('ix_menu_2', (menu: Menu) => [menu.domain, menu.category, menu.menuType, menu.rank])\n@ObjectType({ description: 'Entity for Menu' })\nexport class Menu {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((menu: Menu) => menu.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @ManyToOne(type => Menu, parent => parent.children, { nullable: true })\n @Field({ nullable: true })\n parent?: Menu\n\n @RelationId((menu: Menu) => menu.parent)\n parentId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n template?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n menuType?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n category?: string\n\n @ManyToOne(type => Role, { nullable: true })\n @Field(type => Role, { nullable: true })\n role: Role\n\n @RelationId((menu: Menu) => menu.role)\n roleId?: string\n\n @ManyToMany(type => Role)\n @JoinTable({ name: 'menus_roles' })\n @Field(type => [Role], { nullable: true })\n roles?: Role[]\n\n @Column({ type: 'simple-json', nullable: true })\n @Field(type => PrivilegeObject, { nullable: true })\n privilege?: PrivilegeObject\n\n @Column('int', { nullable: true })\n @Field({ nullable: true })\n rank?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n iconPath?: string\n\n @Column({ nullable: true, default: false })\n @Field({ nullable: true })\n hiddenFlag?: boolean = false\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n routing?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n routingType?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n detailFormId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n detailLayout?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceType?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceName?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n resourceUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n gridSaveUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n idField?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n titleField?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n pagination?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n itemsProp?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n totalProp?: string\n\n @Column('int', { nullable: true })\n @Field({ nullable: true })\n fixedColumns?: number\n\n @OneToMany(type => Menu, child => child.parent)\n @Field(type => [Menu])\n children?: Menu[]\n\n @OneToMany(type => MenuButton, menuButton => menuButton.menu)\n @Field(type => [MenuButton])\n buttons?: MenuButton[]\n\n @OneToMany(type => MenuColumn, menuColumn => menuColumn.menu)\n @Field(type => [MenuColumn])\n columns?: MenuColumn[]\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, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((menu: Menu) => menu.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((menu: Menu) => menu.updater)\n updaterId?: string\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { MenuButton } from './menu-button';
2
+ import { MenuButtonQuery } from './menu-button-query';
3
+ import { MenuButtonMutation } from './menu-button-mutation';
4
+ export declare const entities: (typeof MenuButton)[];
5
+ export declare const resolvers: (typeof MenuButtonQuery | typeof MenuButtonMutation)[];
@@ -0,0 +1,9 @@
1
+ import { MenuButton } from './menu-button';
2
+ import { MenuButtonPatch, NewMenuButton } from './menu-button-type';
3
+ export declare class MenuButtonMutation {
4
+ createMenuButton(menuButton: NewMenuButton, context: ResolverContext): Promise<MenuButton>;
5
+ updateMenuButton(id: string, patch: MenuButtonPatch, context: ResolverContext): Promise<MenuButton>;
6
+ deleteMenuButton(id: string, context: ResolverContext): Promise<boolean>;
7
+ deleteMenuButtons(ids: string[], context: ResolverContext): Promise<boolean>;
8
+ importMenuButtons(menuButtons: MenuButtonPatch[], context: ResolverContext): Promise<boolean>;
9
+ }
@@ -84,6 +84,7 @@ let MenuButtonMutation = class MenuButtonMutation {
84
84
  return true;
85
85
  }
86
86
  };
87
+ exports.MenuButtonMutation = MenuButtonMutation;
87
88
  tslib_1.__decorate([
88
89
  (0, type_graphql_1.Directive)('@transaction'),
89
90
  (0, type_graphql_1.Mutation)(returns => menu_button_1.MenuButton, { description: 'To create new MenuButton' }),
@@ -130,8 +131,7 @@ tslib_1.__decorate([
130
131
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
131
132
  tslib_1.__metadata("design:returntype", Promise)
132
133
  ], MenuButtonMutation.prototype, "importMenuButtons", null);
133
- MenuButtonMutation = tslib_1.__decorate([
134
+ exports.MenuButtonMutation = MenuButtonMutation = tslib_1.__decorate([
134
135
  (0, type_graphql_1.Resolver)(menu_button_1.MenuButton)
135
136
  ], MenuButtonMutation);
136
- exports.MenuButtonMutation = MenuButtonMutation;
137
137
  //# sourceMappingURL=menu-button-mutation.js.map