@things-factory/menu-base 5.0.14 → 6.0.0-alpha.0

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 (198) hide show
  1. package/dist-server/service/menu/menu-mutation.js +18 -15
  2. package/dist-server/service/menu/menu-mutation.js.map +1 -1
  3. package/dist-server/service/menu/menu-query.js +23 -24
  4. package/dist-server/service/menu/menu-query.js.map +1 -1
  5. package/dist-server/service/menu/menu-type.js +4 -5
  6. package/dist-server/service/menu/menu-type.js.map +1 -1
  7. package/dist-server/service/menu/menu.js +5 -5
  8. package/dist-server/service/menu/menu.js.map +1 -1
  9. package/dist-server/service/menu-button/menu-button-mutation.js +9 -7
  10. package/dist-server/service/menu-button/menu-button-mutation.js.map +1 -1
  11. package/dist-server/service/menu-button/menu-button-query.js +8 -10
  12. package/dist-server/service/menu-button/menu-button-query.js.map +1 -1
  13. package/dist-server/service/menu-button/menu-button.js +3 -4
  14. package/dist-server/service/menu-button/menu-button.js.map +1 -1
  15. package/dist-server/service/menu-column/menu-column-mutation.js +10 -10
  16. package/dist-server/service/menu-column/menu-column-mutation.js.map +1 -1
  17. package/dist-server/service/menu-column/menu-column-query.js +8 -10
  18. package/dist-server/service/menu-column/menu-column-query.js.map +1 -1
  19. package/dist-server/service/menu-column/menu-column.js +3 -4
  20. package/dist-server/service/menu-column/menu-column.js.map +1 -1
  21. package/dist-server/service/menu-detail/menu-detail-mutation.js +10 -10
  22. package/dist-server/service/menu-detail/menu-detail-mutation.js.map +1 -1
  23. package/dist-server/service/menu-detail/menu-detail-query.js +12 -14
  24. package/dist-server/service/menu-detail/menu-detail-query.js.map +1 -1
  25. package/dist-server/service/menu-detail/menu-detail.js +3 -4
  26. package/dist-server/service/menu-detail/menu-detail.js.map +1 -1
  27. package/dist-server/service/menu-detail-button/menu-detail-button-mutation.js +10 -10
  28. package/dist-server/service/menu-detail-button/menu-detail-button-mutation.js.map +1 -1
  29. package/dist-server/service/menu-detail-button/menu-detail-button-query.js +8 -10
  30. package/dist-server/service/menu-detail-button/menu-detail-button-query.js.map +1 -1
  31. package/dist-server/service/menu-detail-button/menu-detail-button.js +3 -4
  32. package/dist-server/service/menu-detail-button/menu-detail-button.js.map +1 -1
  33. package/dist-server/service/menu-detail-column/menu-detail-column-mutation.js +12 -12
  34. package/dist-server/service/menu-detail-column/menu-detail-column-mutation.js.map +1 -1
  35. package/dist-server/service/menu-detail-column/menu-detail-column-query.js +8 -10
  36. package/dist-server/service/menu-detail-column/menu-detail-column-query.js.map +1 -1
  37. package/dist-server/service/menu-detail-column/menu-detail-column.js +3 -4
  38. package/dist-server/service/menu-detail-column/menu-detail-column.js.map +1 -1
  39. package/dist-server/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +3 -3
  41. package/server/service/menu/menu-mutation.ts +33 -23
  42. package/server/service/menu/menu-query.ts +22 -22
  43. package/server/service/menu-button/menu-button-mutation.ts +21 -13
  44. package/server/service/menu-button/menu-button-query.ts +8 -9
  45. package/server/service/menu-column/menu-column-mutation.ts +22 -16
  46. package/server/service/menu-column/menu-column-query.ts +8 -9
  47. package/server/service/menu-detail/menu-detail-mutation.ts +23 -17
  48. package/server/service/menu-detail/menu-detail-query.ts +12 -13
  49. package/server/service/menu-detail-button/menu-detail-button-mutation.ts +19 -16
  50. package/server/service/menu-detail-button/menu-detail-button-query.ts +10 -9
  51. package/server/service/menu-detail-column/menu-detail-column-mutation.ts +21 -18
  52. package/server/service/menu-detail-column/menu-detail-column-query.ts +10 -9
  53. package/dist-server/entities/index.js +0 -17
  54. package/dist-server/entities/index.js.map +0 -1
  55. package/dist-server/entities/menu-button.js +0 -92
  56. package/dist-server/entities/menu-button.js.map +0 -1
  57. package/dist-server/entities/menu-column.js +0 -260
  58. package/dist-server/entities/menu-column.js.map +0 -1
  59. package/dist-server/entities/menu-detail-button.js +0 -86
  60. package/dist-server/entities/menu-detail-button.js.map +0 -1
  61. package/dist-server/entities/menu-detail-column.js +0 -261
  62. package/dist-server/entities/menu-detail-column.js.map +0 -1
  63. package/dist-server/entities/menu-detail.js +0 -118
  64. package/dist-server/entities/menu-detail.js.map +0 -1
  65. package/dist-server/entities/menu.js +0 -220
  66. package/dist-server/entities/menu.js.map +0 -1
  67. package/dist-server/graphql/index.js +0 -34
  68. package/dist-server/graphql/index.js.map +0 -1
  69. package/dist-server/graphql/resolvers/index.js +0 -23
  70. package/dist-server/graphql/resolvers/index.js.map +0 -1
  71. package/dist-server/graphql/resolvers/menu/create-menu.js +0 -24
  72. package/dist-server/graphql/resolvers/menu/create-menu.js.map +0 -1
  73. package/dist-server/graphql/resolvers/menu/delete-menu.js +0 -16
  74. package/dist-server/graphql/resolvers/menu/delete-menu.js.map +0 -1
  75. package/dist-server/graphql/resolvers/menu/delete-menus.js +0 -16
  76. package/dist-server/graphql/resolvers/menu/delete-menus.js.map +0 -1
  77. package/dist-server/graphql/resolvers/menu/index.js +0 -16
  78. package/dist-server/graphql/resolvers/menu/index.js.map +0 -1
  79. package/dist-server/graphql/resolvers/menu/menu-query.js +0 -58
  80. package/dist-server/graphql/resolvers/menu/menu-query.js.map +0 -1
  81. package/dist-server/graphql/resolvers/menu/update-menu.js +0 -29
  82. package/dist-server/graphql/resolvers/menu/update-menu.js.map +0 -1
  83. package/dist-server/graphql/resolvers/menu/update-multiple-menu.js +0 -29
  84. package/dist-server/graphql/resolvers/menu/update-multiple-menu.js.map +0 -1
  85. package/dist-server/graphql/resolvers/menu/update-role-menu.js +0 -63
  86. package/dist-server/graphql/resolvers/menu/update-role-menu.js.map +0 -1
  87. package/dist-server/graphql/resolvers/menu-button/create-menu-button.js +0 -11
  88. package/dist-server/graphql/resolvers/menu-button/create-menu-button.js.map +0 -1
  89. package/dist-server/graphql/resolvers/menu-button/delete-menu-button.js +0 -11
  90. package/dist-server/graphql/resolvers/menu-button/delete-menu-button.js.map +0 -1
  91. package/dist-server/graphql/resolvers/menu-button/index.js +0 -13
  92. package/dist-server/graphql/resolvers/menu-button/index.js.map +0 -1
  93. package/dist-server/graphql/resolvers/menu-button/menu-button-query.js +0 -30
  94. package/dist-server/graphql/resolvers/menu-button/menu-button-query.js.map +0 -1
  95. package/dist-server/graphql/resolvers/menu-button/update-menu-button.js +0 -19
  96. package/dist-server/graphql/resolvers/menu-button/update-menu-button.js.map +0 -1
  97. package/dist-server/graphql/resolvers/menu-column/create-menu-column.js +0 -11
  98. package/dist-server/graphql/resolvers/menu-column/create-menu-column.js.map +0 -1
  99. package/dist-server/graphql/resolvers/menu-column/delete-menu-column.js +0 -11
  100. package/dist-server/graphql/resolvers/menu-column/delete-menu-column.js.map +0 -1
  101. package/dist-server/graphql/resolvers/menu-column/index.js +0 -13
  102. package/dist-server/graphql/resolvers/menu-column/index.js.map +0 -1
  103. package/dist-server/graphql/resolvers/menu-column/menu-column-query.js +0 -30
  104. package/dist-server/graphql/resolvers/menu-column/menu-column-query.js.map +0 -1
  105. package/dist-server/graphql/resolvers/menu-column/update-menu-column.js +0 -22
  106. package/dist-server/graphql/resolvers/menu-column/update-menu-column.js.map +0 -1
  107. package/dist-server/graphql/resolvers/menu-detail/create-menu-detail.js +0 -11
  108. package/dist-server/graphql/resolvers/menu-detail/create-menu-detail.js.map +0 -1
  109. package/dist-server/graphql/resolvers/menu-detail/delete-menu-detail.js +0 -11
  110. package/dist-server/graphql/resolvers/menu-detail/delete-menu-detail.js.map +0 -1
  111. package/dist-server/graphql/resolvers/menu-detail/index.js +0 -13
  112. package/dist-server/graphql/resolvers/menu-detail/index.js.map +0 -1
  113. package/dist-server/graphql/resolvers/menu-detail/menu-detail-query.js +0 -36
  114. package/dist-server/graphql/resolvers/menu-detail/menu-detail-query.js.map +0 -1
  115. package/dist-server/graphql/resolvers/menu-detail/update-menu-detail.js +0 -21
  116. package/dist-server/graphql/resolvers/menu-detail/update-menu-detail.js.map +0 -1
  117. package/dist-server/graphql/resolvers/menu-detail-button/create-menu-detail-button.js +0 -13
  118. package/dist-server/graphql/resolvers/menu-detail-button/create-menu-detail-button.js.map +0 -1
  119. package/dist-server/graphql/resolvers/menu-detail-button/delete-menu-detail-button.js +0 -11
  120. package/dist-server/graphql/resolvers/menu-detail-button/delete-menu-detail-button.js.map +0 -1
  121. package/dist-server/graphql/resolvers/menu-detail-button/index.js +0 -13
  122. package/dist-server/graphql/resolvers/menu-detail-button/index.js.map +0 -1
  123. package/dist-server/graphql/resolvers/menu-detail-button/menu-detail-button-query.js +0 -31
  124. package/dist-server/graphql/resolvers/menu-detail-button/menu-detail-button-query.js.map +0 -1
  125. package/dist-server/graphql/resolvers/menu-detail-button/update-menu-detail-button.js +0 -20
  126. package/dist-server/graphql/resolvers/menu-detail-button/update-menu-detail-button.js.map +0 -1
  127. package/dist-server/graphql/resolvers/menu-detail-column/create-menu-detail-column.js +0 -11
  128. package/dist-server/graphql/resolvers/menu-detail-column/create-menu-detail-column.js.map +0 -1
  129. package/dist-server/graphql/resolvers/menu-detail-column/delete-menu-detail-column.js +0 -11
  130. package/dist-server/graphql/resolvers/menu-detail-column/delete-menu-detail-column.js.map +0 -1
  131. package/dist-server/graphql/resolvers/menu-detail-column/index.js +0 -13
  132. package/dist-server/graphql/resolvers/menu-detail-column/index.js.map +0 -1
  133. package/dist-server/graphql/resolvers/menu-detail-column/menu-detail-column-query.js +0 -31
  134. package/dist-server/graphql/resolvers/menu-detail-column/menu-detail-column-query.js.map +0 -1
  135. package/dist-server/graphql/resolvers/menu-detail-column/update-menu-detail-column.js +0 -22
  136. package/dist-server/graphql/resolvers/menu-detail-column/update-menu-detail-column.js.map +0 -1
  137. package/dist-server/graphql/types/index.js +0 -23
  138. package/dist-server/graphql/types/index.js.map +0 -1
  139. package/dist-server/graphql/types/menu/index.js +0 -43
  140. package/dist-server/graphql/types/menu/index.js.map +0 -1
  141. package/dist-server/graphql/types/menu/menu-list.js +0 -14
  142. package/dist-server/graphql/types/menu/menu-list.js.map +0 -1
  143. package/dist-server/graphql/types/menu/menu-patch.js +0 -42
  144. package/dist-server/graphql/types/menu/menu-patch.js.map +0 -1
  145. package/dist-server/graphql/types/menu/menu.js +0 -46
  146. package/dist-server/graphql/types/menu/menu.js.map +0 -1
  147. package/dist-server/graphql/types/menu/new-menu.js +0 -39
  148. package/dist-server/graphql/types/menu/new-menu.js.map +0 -1
  149. package/dist-server/graphql/types/menu-button/index.js +0 -38
  150. package/dist-server/graphql/types/menu-button/index.js.map +0 -1
  151. package/dist-server/graphql/types/menu-button/menu-button-list.js +0 -14
  152. package/dist-server/graphql/types/menu-button/menu-button-list.js.map +0 -1
  153. package/dist-server/graphql/types/menu-button/menu-button-patch.js +0 -19
  154. package/dist-server/graphql/types/menu-button/menu-button-patch.js.map +0 -1
  155. package/dist-server/graphql/types/menu-button/menu-button.js +0 -25
  156. package/dist-server/graphql/types/menu-button/menu-button.js.map +0 -1
  157. package/dist-server/graphql/types/menu-button/new-menu-button.js +0 -19
  158. package/dist-server/graphql/types/menu-button/new-menu-button.js.map +0 -1
  159. package/dist-server/graphql/types/menu-column/index.js +0 -38
  160. package/dist-server/graphql/types/menu-column/index.js.map +0 -1
  161. package/dist-server/graphql/types/menu-column/menu-column-list.js +0 -14
  162. package/dist-server/graphql/types/menu-column/menu-column-list.js.map +0 -1
  163. package/dist-server/graphql/types/menu-column/menu-column-patch.js +0 -47
  164. package/dist-server/graphql/types/menu-column/menu-column-patch.js.map +0 -1
  165. package/dist-server/graphql/types/menu-column/menu-column.js +0 -53
  166. package/dist-server/graphql/types/menu-column/menu-column.js.map +0 -1
  167. package/dist-server/graphql/types/menu-column/new-menu-column.js +0 -47
  168. package/dist-server/graphql/types/menu-column/new-menu-column.js.map +0 -1
  169. package/dist-server/graphql/types/menu-detail/index.js +0 -38
  170. package/dist-server/graphql/types/menu-detail/index.js.map +0 -1
  171. package/dist-server/graphql/types/menu-detail/menu-detail-list.js +0 -14
  172. package/dist-server/graphql/types/menu-detail/menu-detail-list.js.map +0 -1
  173. package/dist-server/graphql/types/menu-detail/menu-detail-patch.js +0 -24
  174. package/dist-server/graphql/types/menu-detail/menu-detail-patch.js.map +0 -1
  175. package/dist-server/graphql/types/menu-detail/menu-detail.js +0 -28
  176. package/dist-server/graphql/types/menu-detail/menu-detail.js.map +0 -1
  177. package/dist-server/graphql/types/menu-detail/new-menu-detail.js +0 -24
  178. package/dist-server/graphql/types/menu-detail/new-menu-detail.js.map +0 -1
  179. package/dist-server/graphql/types/menu-detail-button/index.js +0 -38
  180. package/dist-server/graphql/types/menu-detail-button/index.js.map +0 -1
  181. package/dist-server/graphql/types/menu-detail-button/menu-detail-button-list.js +0 -14
  182. package/dist-server/graphql/types/menu-detail-button/menu-detail-button-list.js.map +0 -1
  183. package/dist-server/graphql/types/menu-detail-button/menu-detail-button-patch.js +0 -18
  184. package/dist-server/graphql/types/menu-detail-button/menu-detail-button-patch.js.map +0 -1
  185. package/dist-server/graphql/types/menu-detail-button/menu-detail-button.js +0 -24
  186. package/dist-server/graphql/types/menu-detail-button/menu-detail-button.js.map +0 -1
  187. package/dist-server/graphql/types/menu-detail-button/new-menu-detail-button.js +0 -18
  188. package/dist-server/graphql/types/menu-detail-button/new-menu-detail-button.js.map +0 -1
  189. package/dist-server/graphql/types/menu-detail-column/index.js +0 -38
  190. package/dist-server/graphql/types/menu-detail-column/index.js.map +0 -1
  191. package/dist-server/graphql/types/menu-detail-column/menu-detail-column-list.js +0 -14
  192. package/dist-server/graphql/types/menu-detail-column/menu-detail-column-list.js.map +0 -1
  193. package/dist-server/graphql/types/menu-detail-column/menu-detail-column-patch.js +0 -47
  194. package/dist-server/graphql/types/menu-detail-column/menu-detail-column-patch.js.map +0 -1
  195. package/dist-server/graphql/types/menu-detail-column/menu-detail-column.js +0 -53
  196. package/dist-server/graphql/types/menu-detail-column/menu-detail-column.js.map +0 -1
  197. package/dist-server/graphql/types/menu-detail-column/new-menu-detail-column.js +0 -47
  198. package/dist-server/graphql/types/menu-detail-column/new-menu-detail-column.js.map +0 -1
@@ -21,8 +21,8 @@ let MenuMutation = class MenuMutation {
21
21
  const { domain, user, tx } = context.state;
22
22
  const menuRepo = tx === null || tx === void 0 ? void 0 : tx.getRepository(menu_1.Menu);
23
23
  if ((_a = menu === null || menu === void 0 ? void 0 : menu.parent) === null || _a === void 0 ? void 0 : _a.id) {
24
- menu.parent = await menuRepo.findOne({
25
- domain,
24
+ menu.parent = await menuRepo.findOneBy({
25
+ domain: { id: domain.id },
26
26
  id: menu.parent.id
27
27
  });
28
28
  }
@@ -33,11 +33,11 @@ let MenuMutation = class MenuMutation {
33
33
  const { domain, user, tx } = context.state;
34
34
  const menuRepo = tx.getRepository(menu_1.Menu);
35
35
  const menu = await menuRepo.findOne({
36
- where: { domain, id },
36
+ where: { domain: { id: domain.id }, id },
37
37
  relations: ['children', 'parent']
38
38
  });
39
39
  if ((_a = patch === null || patch === void 0 ? void 0 : patch.parent) === null || _a === void 0 ? void 0 : _a.id) {
40
- patch.parent = await menuRepo.findOne(patch.parent.id);
40
+ patch.parent = await menuRepo.findOneBy({ id: patch.parent.id });
41
41
  }
42
42
  if ((_b = patch === null || patch === void 0 ? void 0 : patch.children) === null || _b === void 0 ? void 0 : _b.length) {
43
43
  const childrenIds = patch.children.map((children) => children.id);
@@ -56,8 +56,8 @@ let MenuMutation = class MenuMutation {
56
56
  for (let i = 0; i < _createRecords.length; i++) {
57
57
  const newRecord = _createRecords[i];
58
58
  if ((_a = newRecord === null || newRecord === void 0 ? void 0 : newRecord.parent) === null || _a === void 0 ? void 0 : _a.id) {
59
- newRecord.parent = await menuRepo.findOne({
60
- domain,
59
+ newRecord.parent = await menuRepo.findOneBy({
60
+ domain: { id: domain.id },
61
61
  id: newRecord.parent.id
62
62
  });
63
63
  }
@@ -70,15 +70,15 @@ let MenuMutation = class MenuMutation {
70
70
  const updateRecord = _updateRecords[i];
71
71
  const { id } = updateRecord;
72
72
  const menu = await menuRepo.findOne({
73
- where: { domain, id },
73
+ where: { domain: { id: domain.id }, id },
74
74
  relations: ['children', 'parent']
75
75
  });
76
76
  if ((_b = updateRecord === null || updateRecord === void 0 ? void 0 : updateRecord.parent) === null || _b === void 0 ? void 0 : _b.id) {
77
- updateRecord.parent = await menuRepo.findOne(updateRecord.parent.id);
77
+ updateRecord.parent = await menuRepo.findOneBy({ id: updateRecord.parent.id });
78
78
  }
79
79
  if ((_c = updateRecord === null || updateRecord === void 0 ? void 0 : updateRecord.children) === null || _c === void 0 ? void 0 : _c.length) {
80
80
  const childrenIds = updateRecord.children.map((children) => children.id);
81
- updateRecord.children = await menuRepo.findByIds(childrenIds);
81
+ updateRecord.children = await menuRepo.findBy({ id: (0, typeorm_1.In)(childrenIds) });
82
82
  }
83
83
  const result = await menuRepo.save(Object.assign(Object.assign(Object.assign({}, menu), updateRecord), { updater: user }));
84
84
  results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
@@ -88,13 +88,13 @@ let MenuMutation = class MenuMutation {
88
88
  }
89
89
  async deleteMenu(id, context) {
90
90
  const { domain, tx } = context.state;
91
- await tx.getRepository(menu_1.Menu).delete({ domain, id });
91
+ await tx.getRepository(menu_1.Menu).delete({ domain: { id: domain.id }, id });
92
92
  return true;
93
93
  }
94
94
  async deleteMenus(ids, context) {
95
95
  const { domain, tx } = context.state;
96
96
  await tx.getRepository(menu_1.Menu).delete({
97
- domain,
97
+ domain: { id: domain.id },
98
98
  id: (0, typeorm_1.In)(ids)
99
99
  });
100
100
  return true;
@@ -103,8 +103,11 @@ let MenuMutation = class MenuMutation {
103
103
  const { domain, tx } = context.state;
104
104
  const menuRepo = tx === null || tx === void 0 ? void 0 : tx.getRepository(menu_1.Menu);
105
105
  const roleRepo = tx === null || tx === void 0 ? void 0 : tx.getRepository(auth_base_1.Role);
106
- const menu = await menuRepo.findOne({ where: { domain, id: targetMenuId }, relations: ['roles'] });
107
- const targetRole = await roleRepo.findOne({ where: { domain, id: roleId } });
106
+ const menu = await menuRepo.findOne({
107
+ where: { domain: { id: domain.id }, id: targetMenuId },
108
+ relations: ['roles']
109
+ });
110
+ const targetRole = await roleRepo.findOne({ where: { domain: { id: domain.id }, id: roleId } });
108
111
  if (isCheckedMenu) {
109
112
  menu.roles = await appendRoleToMenu(roleRepo, menu.roles, targetRole);
110
113
  }
@@ -118,11 +121,11 @@ let MenuMutation = class MenuMutation {
118
121
  const menuRepo = tx === null || tx === void 0 ? void 0 : tx.getRepository(menu_1.Menu);
119
122
  const roleRepo = tx === null || tx === void 0 ? void 0 : tx.getRepository(auth_base_1.Role);
120
123
  const targetParentMenu = await menuRepo.findOne({
121
- where: { domain, id: parentMenuId },
124
+ where: { domain: { id: domain.id }, id: parentMenuId },
122
125
  relations: ['children', 'children.roles']
123
126
  });
124
127
  let childMenus = targetParentMenu.children;
125
- const targetRole = await roleRepo.findOne({ where: { domain, id: roleId } });
128
+ const targetRole = await roleRepo.findOne({ where: { domain: { id: domain.id }, id: roleId } });
126
129
  if (isCheckedAll) {
127
130
  childMenus.forEach(async (child) => {
128
131
  child.roles = await appendRoleToMenu(roleRepo, child.roles, targetRole);
@@ -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: any): 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.findOne({\n domain,\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(@Arg('id') id: string, @Arg('patch') patch: MenuPatch, @Ctx() context: any): 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 },\n relations: ['children', 'parent']\n })\n\n if (patch?.parent?.id) {\n patch.parent = await menuRepo.findOne(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: any\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.findOne({\n domain,\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 },\n relations: ['children', 'parent']\n })\n\n if (updateRecord?.parent?.id) {\n updateRecord.parent = await menuRepo.findOne(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.findByIds(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: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Menu).delete({ domain, 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: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Menu).delete({\n domain,\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: any\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({ where: { domain, id: targetMenuId }, relations: ['roles'] })\n const targetRole: Role = await roleRepo.findOne({ where: { domain, 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: any\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: parentMenuId },\n relations: ['children', 'children.roles']\n })\n let childMenus: Menu[] = targetParentMenu.children\n\n const targetRole: Role = await roleRepo.findOne({ where: { domain, 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(@Arg('menus', type => [MenuPatch]) menus: MenuPatch[], @Ctx() context: any): 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"]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.MenuQuery = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -12,8 +11,8 @@ const menu_column_1 = require("../menu-column/menu-column");
12
11
  const menu_1 = require("./menu");
13
12
  const menu_type_1 = require("./menu-type");
14
13
  async function getNonRestrictedMenus(domain) {
15
- const menus = await (0, typeorm_1.getRepository)(menu_1.Menu).find({
16
- where: { domain, hiddenFlag: false, menuType: 'MENU' },
14
+ const menus = await (0, shell_1.getRepository)(menu_1.Menu).find({
15
+ where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },
17
16
  relations: ['parent', 'children', 'children.roles'],
18
17
  order: { rank: 'ASC' }
19
18
  });
@@ -23,12 +22,12 @@ async function getNonRestrictedMenus(domain) {
23
22
  return menus;
24
23
  }
25
24
  async function getRestrictedMenus(roleIds, domain) {
26
- const menus = await (0, typeorm_1.getRepository)(menu_1.Menu).find({
27
- where: { domain, hiddenFlag: false, menuType: 'MENU' },
25
+ const menus = await (0, shell_1.getRepository)(menu_1.Menu).find({
26
+ where: { domain: { id: domain.id }, hiddenFlag: false, menuType: 'MENU' },
28
27
  relations: ['parent', 'children', 'children.roles'],
29
28
  order: { rank: 'ASC' }
30
29
  });
31
- const userRoles = await (0, typeorm_1.getRepository)(auth_base_1.Role).find({ where: { domain, id: (0, typeorm_1.In)(roleIds) } });
30
+ const userRoles = await (0, shell_1.getRepository)(auth_base_1.Role).find({ where: { domain: { id: domain.id }, id: (0, typeorm_1.In)(roleIds) } });
32
31
  menus.forEach(menu => {
33
32
  menu.children = menu.children.filter(child => {
34
33
  var _a;
@@ -41,15 +40,15 @@ async function getRestrictedMenus(roleIds, domain) {
41
40
  let MenuQuery = class MenuQuery {
42
41
  async menu(id, context) {
43
42
  const { domain } = context.state;
44
- return await (0, typeorm_1.getRepository)(menu_1.Menu).findOne({
45
- where: { domain, id },
43
+ return await (0, shell_1.getRepository)(menu_1.Menu).findOne({
44
+ where: { domain: { id: domain.id }, id },
46
45
  relations: ['roles']
47
46
  });
48
47
  }
49
48
  async menuByRouting(routing, context) {
50
49
  const { domain } = context.state;
51
- return await (0, typeorm_1.getRepository)(menu_1.Menu).findOne({
52
- where: { domain, routing }
50
+ return await (0, shell_1.getRepository)(menu_1.Menu).findOne({
51
+ where: { domain: { id: domain.id }, routing }
53
52
  });
54
53
  }
55
54
  async menus(params, context) {
@@ -57,7 +56,7 @@ let MenuQuery = class MenuQuery {
57
56
  const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
58
57
  domain,
59
58
  params,
60
- repository: await (0, typeorm_1.getRepository)(menu_1.Menu),
59
+ repository: await (0, shell_1.getRepository)(menu_1.Menu),
61
60
  searchables: ['name', 'description']
62
61
  });
63
62
  const [items, total] = await queryBuilder.getManyAndCount();
@@ -65,12 +64,12 @@ let MenuQuery = class MenuQuery {
65
64
  }
66
65
  async roleMenus(roleId, context) {
67
66
  const { domain } = context.state;
68
- const menuRepo = (0, typeorm_1.getRepository)(menu_1.Menu);
67
+ const menuRepo = (0, shell_1.getRepository)(menu_1.Menu);
69
68
  const menus = await menuRepo.find({
70
69
  where: { domain },
71
70
  relations: ['parent', 'roles']
72
71
  });
73
- const role = await (0, typeorm_1.getRepository)(auth_base_1.Role).findOne({ where: { domain, id: roleId } });
72
+ const role = await (0, shell_1.getRepository)(auth_base_1.Role).findOne({ where: { domain: { id: domain.id }, id: roleId } });
74
73
  let newChildMenus = [];
75
74
  menus.forEach(menu => {
76
75
  if (menu.roles) {
@@ -86,7 +85,7 @@ let MenuQuery = class MenuQuery {
86
85
  const { domain, user } = context.state;
87
86
  var menus = [];
88
87
  try {
89
- const qb = (0, typeorm_1.getRepository)(auth_base_1.User).createQueryBuilder('USER');
88
+ const qb = (0, shell_1.getRepository)(auth_base_1.User).createQueryBuilder('USER');
90
89
  const user = await qb
91
90
  .leftJoinAndSelect('USER.roles', 'ROLES')
92
91
  .leftJoinAndSelect('ROLES.domain', 'ROLES_DOMAIN')
@@ -116,28 +115,28 @@ let MenuQuery = class MenuQuery {
116
115
  }
117
116
  async children(menu) {
118
117
  return (menu.children ||
119
- (await (0, typeorm_1.getRepository)(menu_1.Menu).find({
120
- parent: menu
118
+ (await (0, shell_1.getRepository)(menu_1.Menu).findBy({
119
+ parent: { id: menu.id }
121
120
  })));
122
121
  }
123
122
  async buttons(menu) {
124
- return await (0, typeorm_1.getRepository)(menu_button_1.MenuButton).find({
125
- menu
123
+ return await (0, shell_1.getRepository)(menu_button_1.MenuButton).findBy({
124
+ menu: { id: menu.id }
126
125
  });
127
126
  }
128
127
  async columns(menu) {
129
- return await (0, typeorm_1.getRepository)(menu_column_1.MenuColumn).find({
130
- menu
128
+ return await (0, shell_1.getRepository)(menu_column_1.MenuColumn).findBy({
129
+ menu: { id: menu.id }
131
130
  });
132
131
  }
133
132
  async domain(menu) {
134
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(menu.domainId);
133
+ return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: menu.domainId });
135
134
  }
136
135
  async updater(menu) {
137
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(menu.updaterId);
136
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: menu.updaterId });
138
137
  }
139
138
  async creator(menu) {
140
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(menu.creatorId);
139
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: menu.creatorId });
141
140
  }
142
141
  };
143
142
  tslib_1.__decorate([
@@ -160,7 +159,7 @@ tslib_1.__decorate([
160
159
  tslib_1.__param(0, (0, type_graphql_1.Args)()),
161
160
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
162
161
  tslib_1.__metadata("design:type", Function),
163
- tslib_1.__metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
162
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
164
163
  tslib_1.__metadata("design:returntype", Promise)
165
164
  ], MenuQuery.prototype, "menus", null);
166
165
  tslib_1.__decorate([
@@ -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 { getRepository, In, Repository, SelectQueryBuilder } from 'typeorm'\n\nimport { Role, User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'\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, 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, 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: 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: any): Promise<Menu> {\n const { domain } = context.state\n\n return await getRepository(Menu).findOne({\n where: { domain, 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, routing }\n })\n }\n\n @Query(returns => MenuList, { description: 'To fetch multiple Menus' })\n async menus(@Args() params: ListParam, @Ctx() context: any): 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 Menus by role' })\n async roleMenus(@Arg('roleId') roleId: string, @Ctx() context: any) {\n const { domain }: { domain: Domain } = context.state\n\n const menuRepo: Repository<Menu> = getRepository(Menu)\n const menus: Menu[] = await menuRepo.find({\n where: { domain },\n relations: ['parent', 'roles']\n })\n const role: Role = await getRepository(Role).findOne({ where: { domain, 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: any): 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): Promise<Menu[]> {\n return (\n menu.children ||\n (await getRepository(Menu).find({\n parent: menu\n }))\n )\n }\n\n @FieldResolver(type => [MenuButton])\n async buttons(@Root() menu: Menu): Promise<MenuButton[]> {\n return await getRepository(MenuButton).find({\n menu\n })\n }\n\n @FieldResolver(type => [MenuColumn])\n async columns(@Root() menu: Menu): Promise<MenuColumn[]> {\n return await getRepository(MenuColumn).find({\n menu\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() menu: Menu): Promise<Domain> {\n return await getRepository(Domain).findOne(menu.domainId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() menu: Menu): Promise<User> {\n return await getRepository(User).findOne(menu.updaterId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() menu: Menu): Promise<User> {\n return await getRepository(User).findOne(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 { Role, User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\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 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 },\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): Promise<Menu[]> {\n return (\n menu.children ||\n (await getRepository(Menu).findBy({\n parent: { id: menu.id }\n }))\n )\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,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b, _c, _d;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.MenuList = exports.MenuPatch = exports.NewMenu = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -102,11 +101,11 @@ tslib_1.__decorate([
102
101
  ], NewMenu.prototype, "iconPath", void 0);
103
102
  tslib_1.__decorate([
104
103
  (0, type_graphql_1.Field)({ nullable: true }),
105
- tslib_1.__metadata("design:type", typeof (_a = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _a : Object)
104
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
106
105
  ], NewMenu.prototype, "role", void 0);
107
106
  tslib_1.__decorate([
108
107
  (0, type_graphql_1.Field)({ nullable: true }),
109
- tslib_1.__metadata("design:type", typeof (_b = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _b : Object)
108
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
110
109
  ], NewMenu.prototype, "parent", void 0);
111
110
  tslib_1.__decorate([
112
111
  (0, type_graphql_1.Field)(type => [shell_1.ObjectRef], { nullable: true }),
@@ -224,11 +223,11 @@ tslib_1.__decorate([
224
223
  ], MenuPatch.prototype, "iconPath", void 0);
225
224
  tslib_1.__decorate([
226
225
  (0, type_graphql_1.Field)({ nullable: true }),
227
- tslib_1.__metadata("design:type", typeof (_c = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _c : Object)
226
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
228
227
  ], MenuPatch.prototype, "role", void 0);
229
228
  tslib_1.__decorate([
230
229
  (0, type_graphql_1.Field)({ nullable: true }),
231
- tslib_1.__metadata("design:type", typeof (_d = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _d : Object)
230
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
232
231
  ], MenuPatch.prototype, "parent", void 0);
233
232
  tslib_1.__decorate([
234
233
  (0, type_graphql_1.Field)(type => [shell_1.ObjectRef], { nullable: true }),
@@ -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'\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 }) 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 }) 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'\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 }) 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 }) 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,5 +1,5 @@
1
1
  "use strict";
2
- var Menu_1, _a, _b, _c, _d;
2
+ var Menu_1;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Menu = void 0;
5
5
  const tslib_1 = require("tslib");
@@ -22,7 +22,7 @@ tslib_1.__decorate([
22
22
  tslib_1.__decorate([
23
23
  (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
24
24
  (0, type_graphql_1.Field)({ nullable: true }),
25
- tslib_1.__metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
25
+ tslib_1.__metadata("design:type", shell_1.Domain)
26
26
  ], Menu.prototype, "domain", void 0);
27
27
  tslib_1.__decorate([
28
28
  (0, typeorm_1.RelationId)((menu) => menu.domain),
@@ -65,7 +65,7 @@ tslib_1.__decorate([
65
65
  tslib_1.__decorate([
66
66
  (0, typeorm_1.ManyToOne)(type => auth_base_1.Role, { nullable: true }),
67
67
  (0, type_graphql_1.Field)(type => auth_base_1.Role, { nullable: true }),
68
- tslib_1.__metadata("design:type", typeof (_b = typeof auth_base_1.Role !== "undefined" && auth_base_1.Role) === "function" ? _b : Object)
68
+ tslib_1.__metadata("design:type", auth_base_1.Role)
69
69
  ], Menu.prototype, "role", void 0);
70
70
  tslib_1.__decorate([
71
71
  (0, typeorm_1.RelationId)((menu) => menu.role),
@@ -195,7 +195,7 @@ tslib_1.__decorate([
195
195
  tslib_1.__decorate([
196
196
  (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
197
197
  (0, type_graphql_1.Field)({ nullable: true }),
198
- tslib_1.__metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
198
+ tslib_1.__metadata("design:type", auth_base_1.User)
199
199
  ], Menu.prototype, "creator", void 0);
200
200
  tslib_1.__decorate([
201
201
  (0, typeorm_1.RelationId)((menu) => menu.creator),
@@ -204,7 +204,7 @@ tslib_1.__decorate([
204
204
  tslib_1.__decorate([
205
205
  (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
206
206
  (0, type_graphql_1.Field)({ nullable: true }),
207
- tslib_1.__metadata("design:type", typeof (_d = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _d : Object)
207
+ tslib_1.__metadata("design:type", auth_base_1.User)
208
208
  ], Menu.prototype, "updater", void 0);
209
209
  tslib_1.__decorate([
210
210
  (0, typeorm_1.RelationId)((menu) => menu.creator),
@@ -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 { Role, User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\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({ nullable: true })\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('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.creator)\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 { Role, User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\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({ nullable: true })\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('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.creator)\n updaterId?: string\n}\n"]}
@@ -10,17 +10,19 @@ const menu_button_type_1 = require("./menu-button-type");
10
10
  let MenuButtonMutation = class MenuButtonMutation {
11
11
  async createMenuButton(menuButton, context) {
12
12
  const { domain, user, tx } = context.state;
13
- return await tx.getRepository(menu_button_1.MenuButton).save(Object.assign(Object.assign({}, menuButton), { menu: await tx.getRepository(menu_1.Menu).findOne({ where: { domain: context.state.domain, id: menuButton.menu } }), domain, creator: user, updater: user }));
13
+ return await tx.getRepository(menu_button_1.MenuButton).save(Object.assign(Object.assign({}, menuButton), { menu: await tx
14
+ .getRepository(menu_1.Menu)
15
+ .findOne({ where: { domain: { id: context.state.domain.id }, id: menuButton.menu } }), domain, creator: user, updater: user }));
14
16
  }
15
17
  async updateMenuButton(id, patch, context) {
16
18
  const { domain, user, tx } = context.state;
17
19
  const repository = tx.getRepository(menu_button_1.MenuButton);
18
20
  const menuButton = await repository.findOne({
19
- where: { domain, id },
21
+ where: { domain: { id: domain.id }, id },
20
22
  relations: ['menu']
21
23
  });
22
24
  if (patch.menu) {
23
- patch.menu = await tx.getRepository(menu_1.Menu).findOne({ domain, id: patch.menu });
25
+ patch.menu = (await tx.getRepository(menu_1.Menu).findOneBy({ domain: { id: domain.id }, id: patch.menu }));
24
26
  }
25
27
  return await repository.save(Object.assign(Object.assign(Object.assign({}, menuButton), patch), { updater: user }));
26
28
  }
@@ -28,7 +30,7 @@ let MenuButtonMutation = class MenuButtonMutation {
28
30
  // @Mutation(returns => [MenuButton], { description: "To modify multiple MenuButtons' information" })
29
31
  // async updateMultipleMenuButton(
30
32
  // @Arg('patches', type => [MenuButtonPatch]) patches: MenuButtonPatch[],
31
- // @Ctx() context: any
33
+ // @Ctx() context: ResolverContext
32
34
  // ): Promise<MenuButton[]> {
33
35
  // const { domain, user, tx } = context.state
34
36
  // let results = []
@@ -63,13 +65,13 @@ let MenuButtonMutation = class MenuButtonMutation {
63
65
  // }
64
66
  async deleteMenuButton(id, context) {
65
67
  const { domain, tx } = context.state;
66
- await tx.getRepository(menu_button_1.MenuButton).delete({ domain, id });
68
+ await tx.getRepository(menu_button_1.MenuButton).delete({ domain: { id: domain.id }, id });
67
69
  return true;
68
70
  }
69
71
  async deleteMenuButtons(ids, context) {
70
72
  const { domain, tx } = context.state;
71
73
  await tx.getRepository(menu_button_1.MenuButton).delete({
72
- domain,
74
+ domain: { id: domain.id },
73
75
  id: (0, typeorm_1.In)(ids)
74
76
  });
75
77
  return true;
@@ -77,7 +79,7 @@ let MenuButtonMutation = class MenuButtonMutation {
77
79
  async importMenuButtons(menuButtons, context) {
78
80
  const { domain, tx } = context.state;
79
81
  await Promise.all(menuButtons.map(async (menuButton) => {
80
- const createdMenuButton = await tx.getRepository(menu_button_1.MenuButton).save(Object.assign({ domain }, menuButton));
82
+ await tx.getRepository(menu_button_1.MenuButton).save(Object.assign({ domain }, menuButton));
81
83
  }));
82
84
  return true;
83
85
  }