@dssp/project 0.0.9 → 0.0.11

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 (286) hide show
  1. package/client/pages/project/project-detail.ts +109 -30
  2. package/client/pages/project/project-list.ts +46 -10
  3. package/client/pages/project/project-schedule-list.ts +11 -3
  4. package/client/pages/project/project-schedule.ts +86 -339
  5. package/client/pages/project/project-setting-list.ts +11 -3
  6. package/client/pages/resource/construction-detail-type-popup.ts +201 -0
  7. package/client/pages/resource/construction-type-management.ts +40 -39
  8. package/client/pages/resource/inspection-drawing-type-management.ts +210 -0
  9. package/client/pages/resource/inspection-part-popup.ts +201 -0
  10. package/client/pages/resource/manager-management.ts +0 -27
  11. package/client/pages/{checklist/checklist-importer.ts → resource/resource-importer.ts} +11 -8
  12. package/client/pages/{checklist/checklist-list-page.ts → resource/resource-list-page.ts} +41 -25
  13. package/client/pages/resource/worker-type-management.ts +3 -37
  14. package/client/pages/task-resource/task-resource-importer.ts +97 -0
  15. package/client/pages/task-resource/task-resource-list-page.ts +356 -0
  16. package/client/route.ts +13 -1
  17. package/dist-client/pages/project/project-detail.d.ts +5 -1
  18. package/dist-client/pages/project/project-detail.js +123 -40
  19. package/dist-client/pages/project/project-detail.js.map +1 -1
  20. package/dist-client/pages/project/project-list.d.ts +33 -7
  21. package/dist-client/pages/project/project-list.js +26 -11
  22. package/dist-client/pages/project/project-list.js.map +1 -1
  23. package/dist-client/pages/project/project-schedule-list.js +11 -3
  24. package/dist-client/pages/project/project-schedule-list.js.map +1 -1
  25. package/dist-client/pages/project/project-schedule.d.ts +5 -1
  26. package/dist-client/pages/project/project-schedule.js +96 -337
  27. package/dist-client/pages/project/project-schedule.js.map +1 -1
  28. package/dist-client/pages/project/project-setting-list.js +11 -3
  29. package/dist-client/pages/project/project-setting-list.js.map +1 -1
  30. package/dist-client/pages/resource/construction-detail-type-popup.d.ts +2 -0
  31. package/dist-client/pages/resource/construction-detail-type-popup.js +197 -0
  32. package/dist-client/pages/resource/construction-detail-type-popup.js.map +1 -0
  33. package/dist-client/pages/resource/construction-type-management.d.ts +12 -0
  34. package/dist-client/pages/resource/construction-type-management.js +30 -38
  35. package/dist-client/pages/resource/construction-type-management.js.map +1 -1
  36. package/dist-client/pages/resource/inspection-drawing-type-management.d.ts +34 -0
  37. package/dist-client/pages/resource/inspection-drawing-type-management.js +198 -0
  38. package/dist-client/pages/resource/inspection-drawing-type-management.js.map +1 -0
  39. package/dist-client/pages/resource/inspection-part-popup.d.ts +2 -0
  40. package/dist-client/pages/resource/inspection-part-popup.js +197 -0
  41. package/dist-client/pages/resource/inspection-part-popup.js.map +1 -0
  42. package/dist-client/pages/resource/manager-management.js +0 -27
  43. package/dist-client/pages/resource/manager-management.js.map +1 -1
  44. package/dist-client/pages/{checklist/checklist-importer.d.ts → resource/resource-importer.d.ts} +2 -2
  45. package/dist-client/pages/{checklist/checklist-importer.js → resource/resource-importer.js} +10 -10
  46. package/dist-client/pages/resource/resource-importer.js.map +1 -0
  47. package/dist-client/pages/{checklist/checklist-list-page.d.ts → resource/resource-list-page.d.ts} +6 -6
  48. package/dist-client/pages/{checklist/checklist-list-page.js → resource/resource-list-page.js} +41 -32
  49. package/dist-client/pages/resource/resource-list-page.js.map +1 -0
  50. package/dist-client/pages/resource/worker-type-management.d.ts +7 -1
  51. package/dist-client/pages/resource/worker-type-management.js +3 -45
  52. package/dist-client/pages/resource/worker-type-management.js.map +1 -1
  53. package/dist-client/pages/task-resource/task-resource-importer.d.ts +10 -0
  54. package/dist-client/pages/task-resource/task-resource-importer.js +101 -0
  55. package/dist-client/pages/task-resource/task-resource-importer.js.map +1 -0
  56. package/dist-client/pages/task-resource/task-resource-list-page.d.ts +63 -0
  57. package/dist-client/pages/task-resource/task-resource-list-page.js +332 -0
  58. package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -0
  59. package/dist-client/route.d.ts +1 -1
  60. package/dist-client/route.js +9 -0
  61. package/dist-client/route.js.map +1 -1
  62. package/dist-client/tsconfig.tsbuildinfo +1 -1
  63. package/dist-server/controllers/import-task.d.ts +19 -0
  64. package/dist-server/controllers/import-task.js +104 -0
  65. package/dist-server/controllers/import-task.js.map +1 -0
  66. package/dist-server/index.d.ts +1 -0
  67. package/dist-server/index.js +1 -0
  68. package/dist-server/index.js.map +1 -1
  69. package/dist-server/migrations/1723861466413-seed-roles.d.ts +5 -0
  70. package/dist-server/migrations/1723861466413-seed-roles.js +117 -0
  71. package/dist-server/migrations/1723861466413-seed-roles.js.map +1 -0
  72. package/dist-server/migrations/1723861466414-seed-codes.d.ts +5 -0
  73. package/dist-server/migrations/1723861466414-seed-codes.js +132 -0
  74. package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -0
  75. package/dist-server/migrations/1723861476419-seed-resources.d.ts +5 -0
  76. package/dist-server/migrations/1723861476419-seed-resources.js +57 -0
  77. package/dist-server/migrations/1723861476419-seed-resources.js.map +1 -0
  78. package/dist-server/migrations/1723861478420-seed-/bsample-project.d.ts +5 -0
  79. package/dist-server/migrations/1723861478420-seed-/bsample-project.js +68 -0
  80. package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +1 -0
  81. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.d.ts +5 -0
  82. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js +189 -0
  83. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +1 -0
  84. package/dist-server/migrations/index.d.ts +1 -0
  85. package/dist-server/migrations/index.js +12 -0
  86. package/dist-server/migrations/index.js.map +1 -0
  87. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.d.ts +6 -0
  88. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +56 -0
  89. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +1 -0
  90. package/dist-server/service/construction-detail-type/construction-detail-type-query.d.ts +9 -0
  91. package/dist-server/service/construction-detail-type/construction-detail-type-query.js +53 -0
  92. package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +1 -0
  93. package/dist-server/service/construction-detail-type/construction-detail-type-type.d.ts +11 -0
  94. package/dist-server/service/construction-detail-type/construction-detail-type-type.js +43 -0
  95. package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +1 -0
  96. package/dist-server/service/construction-detail-type/construction-detail-type.d.ts +15 -0
  97. package/dist-server/service/construction-detail-type/construction-detail-type.js +69 -0
  98. package/dist-server/service/construction-detail-type/construction-detail-type.js.map +1 -0
  99. package/dist-server/service/construction-detail-type/index.d.ts +5 -0
  100. package/dist-server/service/construction-detail-type/index.js +9 -0
  101. package/dist-server/service/construction-detail-type/index.js.map +1 -0
  102. package/dist-server/service/construction-type/construction-type-query.d.ts +2 -0
  103. package/dist-server/service/construction-type/construction-type-query.js +14 -0
  104. package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
  105. package/dist-server/service/construction-type/construction-type.d.ts +2 -0
  106. package/dist-server/service/construction-type/construction-type.js +6 -0
  107. package/dist-server/service/construction-type/construction-type.js.map +1 -1
  108. package/dist-server/service/index.d.ts +7 -5
  109. package/dist-server/service/index.js +21 -10
  110. package/dist-server/service/index.js.map +1 -1
  111. package/dist-server/service/inspection-drawing-type/index.d.ts +5 -0
  112. package/dist-server/service/inspection-drawing-type/index.js +9 -0
  113. package/dist-server/service/inspection-drawing-type/index.js.map +1 -0
  114. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.d.ts +6 -0
  115. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +64 -0
  116. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +1 -0
  117. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +12 -0
  118. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +83 -0
  119. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -0
  120. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.d.ts +10 -0
  121. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +39 -0
  122. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +1 -0
  123. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.d.ts +16 -0
  124. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +72 -0
  125. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +1 -0
  126. package/dist-server/service/inspection-part/index.d.ts +5 -0
  127. package/dist-server/service/inspection-part/index.js +9 -0
  128. package/dist-server/service/inspection-part/index.js.map +1 -0
  129. package/dist-server/service/inspection-part/inspection-part-mutation.d.ts +6 -0
  130. package/dist-server/service/inspection-part/inspection-part-mutation.js +55 -0
  131. package/dist-server/service/inspection-part/inspection-part-mutation.js.map +1 -0
  132. package/dist-server/service/inspection-part/inspection-part-query.d.ts +10 -0
  133. package/dist-server/service/inspection-part/inspection-part-query.js +66 -0
  134. package/dist-server/service/inspection-part/inspection-part-query.js.map +1 -0
  135. package/dist-server/service/inspection-part/inspection-part-type.d.ts +11 -0
  136. package/dist-server/service/inspection-part/inspection-part-type.js +43 -0
  137. package/dist-server/service/inspection-part/inspection-part-type.js.map +1 -0
  138. package/dist-server/service/inspection-part/inspection-part.d.ts +15 -0
  139. package/dist-server/service/inspection-part/inspection-part.js +69 -0
  140. package/dist-server/service/inspection-part/inspection-part.js.map +1 -0
  141. package/dist-server/service/project/index.d.ts +0 -2
  142. package/dist-server/service/project/index.js +1 -3
  143. package/dist-server/service/project/index.js.map +1 -1
  144. package/dist-server/service/project/project-query.d.ts +7 -5
  145. package/dist-server/service/project/project-query.js +34 -38
  146. package/dist-server/service/project/project-query.js.map +1 -1
  147. package/dist-server/service/project/project-type.d.ts +3 -6
  148. package/dist-server/service/project/project-type.js +25 -35
  149. package/dist-server/service/project/project-type.js.map +1 -1
  150. package/dist-server/service/project/project.d.ts +3 -2
  151. package/dist-server/service/project/project.js +10 -10
  152. package/dist-server/service/project/project.js.map +1 -1
  153. package/dist-server/service/resource/index.d.ts +6 -0
  154. package/dist-server/service/resource/index.js +10 -0
  155. package/dist-server/service/resource/index.js.map +1 -0
  156. package/dist-server/service/resource/resource-mutation.d.ts +10 -0
  157. package/dist-server/service/resource/resource-mutation.js +132 -0
  158. package/dist-server/service/resource/resource-mutation.js.map +1 -0
  159. package/dist-server/service/resource/resource-query.d.ts +11 -0
  160. package/dist-server/service/{checklist/checklist-query.js → resource/resource-query.js} +33 -38
  161. package/dist-server/service/resource/resource-query.js.map +1 -0
  162. package/dist-server/service/resource/resource-type.d.ts +17 -0
  163. package/dist-server/service/resource/resource-type.js +65 -0
  164. package/dist-server/service/resource/resource-type.js.map +1 -0
  165. package/dist-server/service/resource/resource.d.ts +24 -0
  166. package/dist-server/service/resource/resource.js +93 -0
  167. package/dist-server/service/resource/resource.js.map +1 -0
  168. package/dist-server/service/task/task-mutation.js +6 -0
  169. package/dist-server/service/task/task-mutation.js.map +1 -1
  170. package/dist-server/service/task/task-query.d.ts +9 -1
  171. package/dist-server/service/task/task-query.js +142 -20
  172. package/dist-server/service/task/task-query.js.map +1 -1
  173. package/dist-server/service/task/task-type.d.ts +13 -0
  174. package/dist-server/service/task/task-type.js +57 -12
  175. package/dist-server/service/task/task-type.js.map +1 -1
  176. package/dist-server/service/task/task.d.ts +12 -5
  177. package/dist-server/service/task/task.js +51 -16
  178. package/dist-server/service/task/task.js.map +1 -1
  179. package/dist-server/service/task-resource/index.d.ts +6 -0
  180. package/dist-server/service/task-resource/index.js +10 -0
  181. package/dist-server/service/task-resource/index.js.map +1 -0
  182. package/dist-server/service/task-resource/task-resource-mutation.d.ts +10 -0
  183. package/dist-server/service/task-resource/task-resource-mutation.js +132 -0
  184. package/dist-server/service/task-resource/task-resource-mutation.js.map +1 -0
  185. package/dist-server/service/task-resource/task-resource-query.d.ts +7 -0
  186. package/dist-server/service/task-resource/task-resource-query.js +50 -0
  187. package/dist-server/service/task-resource/task-resource-query.js.map +1 -0
  188. package/dist-server/service/task-resource/task-resource-type.d.ts +17 -0
  189. package/dist-server/service/task-resource/task-resource-type.js +65 -0
  190. package/dist-server/service/task-resource/task-resource-type.js.map +1 -0
  191. package/dist-server/service/task-resource/task-resource.d.ts +13 -0
  192. package/dist-server/service/task-resource/task-resource.js +59 -0
  193. package/dist-server/service/task-resource/task-resource.js.map +1 -0
  194. package/dist-server/tsconfig.tsbuildinfo +1 -1
  195. package/helps/project/checklist-type-detail.md +160 -0
  196. package/helps/project/checklist-type.md +160 -0
  197. package/helps/project/task-resource.md +160 -0
  198. package/package.json +11 -7
  199. package/server/controllers/import-task.ts +140 -0
  200. package/server/index.ts +1 -0
  201. package/server/migrations/1723861466413-seed-roles.ts +128 -0
  202. package/server/migrations/1723861466414-seed-codes.ts +139 -0
  203. package/server/migrations/1723861476419-seed-resources.ts +62 -0
  204. package/server/migrations/1723861478420-seed-/bsample-project.ts +87 -0
  205. package/server/migrations/1723861478421-seed-/bsample-tasks.ts +194 -0
  206. package/server/migrations/index.ts +9 -0
  207. package/server/service/construction-detail-type/construction-detail-type-mutation.ts +57 -0
  208. package/server/service/construction-detail-type/construction-detail-type-query.ts +31 -0
  209. package/server/service/construction-detail-type/construction-detail-type-type.ts +26 -0
  210. package/server/service/construction-detail-type/construction-detail-type.ts +52 -0
  211. package/server/service/construction-detail-type/index.ts +6 -0
  212. package/server/service/construction-type/construction-type-query.ts +9 -0
  213. package/server/service/construction-type/construction-type.ts +8 -2
  214. package/server/service/index.ts +24 -11
  215. package/server/service/inspection-drawing-type/index.ts +6 -0
  216. package/server/service/inspection-drawing-type/inspection-drawing-type-mutation.ts +69 -0
  217. package/server/service/inspection-drawing-type/inspection-drawing-type-query.ts +55 -0
  218. package/server/service/inspection-drawing-type/inspection-drawing-type-type.ts +23 -0
  219. package/server/service/inspection-drawing-type/inspection-drawing-type.ts +68 -0
  220. package/server/service/inspection-part/index.ts +6 -0
  221. package/server/service/inspection-part/inspection-part-mutation.ts +52 -0
  222. package/server/service/inspection-part/inspection-part-query.ts +41 -0
  223. package/server/service/inspection-part/inspection-part-type.ts +26 -0
  224. package/server/service/inspection-part/inspection-part.ts +51 -0
  225. package/server/service/project/index.ts +0 -2
  226. package/server/service/project/project-query.ts +30 -38
  227. package/server/service/project/project-type.ts +22 -27
  228. package/server/service/project/project.ts +11 -12
  229. package/server/service/resource/index.ts +7 -0
  230. package/server/service/resource/resource-mutation.ts +137 -0
  231. package/server/service/resource/resource-query.ts +50 -0
  232. package/server/service/resource/resource-type.ts +41 -0
  233. package/server/service/resource/resource.ts +82 -0
  234. package/server/service/task/task-mutation.ts +8 -9
  235. package/server/service/task/task-query.ts +135 -22
  236. package/server/service/task/task-type.ts +41 -15
  237. package/server/service/task/task.ts +44 -15
  238. package/server/service/task-resource/index.ts +7 -0
  239. package/server/service/task-resource/task-resource-mutation.ts +140 -0
  240. package/server/service/task-resource/task-resource-query.ts +36 -0
  241. package/server/service/task-resource/task-resource-type.ts +41 -0
  242. package/server/service/task-resource/task-resource.ts +51 -0
  243. package/things-factory.config.js +1 -0
  244. package/translations/en.json +15 -1
  245. package/translations/ko.json +9 -5
  246. package/dist-client/pages/checklist/checklist-importer.js.map +0 -1
  247. package/dist-client/pages/checklist/checklist-list-page.js.map +0 -1
  248. package/dist-server/service/check-item/check-item-mutation.d.ts +0 -10
  249. package/dist-server/service/check-item/check-item-mutation.js +0 -129
  250. package/dist-server/service/check-item/check-item-mutation.js.map +0 -1
  251. package/dist-server/service/check-item/check-item-query.d.ts +0 -11
  252. package/dist-server/service/check-item/check-item-query.js +0 -86
  253. package/dist-server/service/check-item/check-item-query.js.map +0 -1
  254. package/dist-server/service/check-item/check-item-type.d.ts +0 -18
  255. package/dist-server/service/check-item/check-item-type.js +0 -69
  256. package/dist-server/service/check-item/check-item-type.js.map +0 -1
  257. package/dist-server/service/check-item/check-item.d.ts +0 -18
  258. package/dist-server/service/check-item/check-item.js +0 -84
  259. package/dist-server/service/check-item/check-item.js.map +0 -1
  260. package/dist-server/service/check-item/index.d.ts +0 -5
  261. package/dist-server/service/check-item/index.js +0 -9
  262. package/dist-server/service/check-item/index.js.map +0 -1
  263. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -10
  264. package/dist-server/service/checklist/checklist-mutation.js +0 -129
  265. package/dist-server/service/checklist/checklist-mutation.js.map +0 -1
  266. package/dist-server/service/checklist/checklist-query.d.ts +0 -11
  267. package/dist-server/service/checklist/checklist-query.js.map +0 -1
  268. package/dist-server/service/checklist/checklist-type.d.ts +0 -18
  269. package/dist-server/service/checklist/checklist-type.js +0 -69
  270. package/dist-server/service/checklist/checklist-type.js.map +0 -1
  271. package/dist-server/service/checklist/checklist.d.ts +0 -26
  272. package/dist-server/service/checklist/checklist.js +0 -120
  273. package/dist-server/service/checklist/checklist.js.map +0 -1
  274. package/dist-server/service/checklist/index.d.ts +0 -5
  275. package/dist-server/service/checklist/index.js +0 -9
  276. package/dist-server/service/checklist/index.js.map +0 -1
  277. package/server/service/check-item/check-item-mutation.ts +0 -142
  278. package/server/service/check-item/check-item-query.ts +0 -56
  279. package/server/service/check-item/check-item-type.ts +0 -49
  280. package/server/service/check-item/check-item.ts +0 -74
  281. package/server/service/check-item/index.ts +0 -6
  282. package/server/service/checklist/checklist-mutation.ts +0 -142
  283. package/server/service/checklist/checklist-query.ts +0 -56
  284. package/server/service/checklist/checklist-type.ts +0 -49
  285. package/server/service/checklist/checklist.ts +0 -105
  286. package/server/service/checklist/index.ts +0 -6
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InspectionPartMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const inspection_part_1 = require("./inspection-part");
9
+ const inspection_part_type_1 = require("./inspection-part-type");
10
+ const inspection_drawing_type_1 = require("../inspection-drawing-type/inspection-drawing-type");
11
+ let InspectionPartMutation = class InspectionPartMutation {
12
+ async updateMultipleInspectionPart(patches, inspectionDrawingTypeId, context) {
13
+ const { user, tx } = context.state;
14
+ let results = [];
15
+ const inspectionPartRepo = tx.getRepository(inspection_part_1.InspectionPart);
16
+ const inspectionDrawingType = await tx.getRepository(inspection_drawing_type_1.InspectionDrawingType).findOneBy({ id: inspectionDrawingTypeId });
17
+ await inspectionPartRepo.delete({ inspectionDrawingType: { id: inspectionDrawingTypeId } });
18
+ for (let i = 0; i < patches.length; i++) {
19
+ const result = await inspectionPartRepo.save(Object.assign(Object.assign({}, patches[i]), { sequence: i, inspectionDrawingType, creator: user, updater: user }));
20
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
21
+ }
22
+ return results;
23
+ }
24
+ async deleteInspectionParts(ids, context) {
25
+ const { domain, tx } = context.state;
26
+ await (0, shell_1.getRepository)(inspection_part_1.InspectionPart, tx).delete({
27
+ id: (0, typeorm_1.In)(ids)
28
+ });
29
+ return true;
30
+ }
31
+ };
32
+ tslib_1.__decorate([
33
+ (0, type_graphql_1.Directive)('@transaction'),
34
+ (0, type_graphql_1.Mutation)(returns => [inspection_part_1.InspectionPart], { description: "To modify multiple InspectionParts' information" }),
35
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [inspection_part_type_1.InspectionPartPatch])),
36
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('inspectionDrawingTypeId')),
37
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
38
+ tslib_1.__metadata("design:type", Function),
39
+ tslib_1.__metadata("design:paramtypes", [Array, String, Object]),
40
+ tslib_1.__metadata("design:returntype", Promise)
41
+ ], InspectionPartMutation.prototype, "updateMultipleInspectionPart", null);
42
+ tslib_1.__decorate([
43
+ (0, type_graphql_1.Directive)('@transaction'),
44
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple InspectionParts' }),
45
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
46
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
47
+ tslib_1.__metadata("design:type", Function),
48
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
49
+ tslib_1.__metadata("design:returntype", Promise)
50
+ ], InspectionPartMutation.prototype, "deleteInspectionParts", null);
51
+ InspectionPartMutation = tslib_1.__decorate([
52
+ (0, type_graphql_1.Resolver)(inspection_part_1.InspectionPart)
53
+ ], InspectionPartMutation);
54
+ exports.InspectionPartMutation = InspectionPartMutation;
55
+ //# sourceMappingURL=inspection-part-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection-part-mutation.js","sourceRoot":"","sources":["../../../server/service/inspection-part/inspection-part-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAC5B,iDAAqD;AACrD,uDAAkD;AAClD,iEAA4D;AAC5D,gGAA0F;AAGnF,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAG3B,AAAN,KAAK,CAAC,4BAA4B,CACe,OAA8B,EAC7C,uBAA+B,EACxD,OAAwB;QAE/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAElC,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,MAAM,kBAAkB,GAAG,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAA;QAC3D,MAAM,qBAAqB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,+CAAqB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAA;QAEtH,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAA;QAE3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,iCACvC,OAAO,CAAC,CAAC,CAAC,KACb,QAAQ,EAAE,CAAC,EACX,qBAAqB,EACrB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;SACzC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAIK,AAAN,KAAK,CAAC,qBAAqB,CAA+B,GAAa,EAAS,OAAwB;QACtG,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,IAAA,qBAAa,EAAC,gCAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;YAC7C,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAxCO;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,gCAAc,CAAC,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IAEvG,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,0CAAmB,CAAC,CAAC,CAAA;IAC7C,mBAAA,IAAA,kBAAG,EAAC,yBAAyB,CAAC,CAAA;IAC9B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0EAwBP;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IACvD,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mEAQ9E;AA1CU,sBAAsB;IADlC,IAAA,uBAAQ,EAAC,gCAAc,CAAC;GACZ,sBAAsB,CA2ClC;AA3CY,wDAAsB","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { getRepository } from '@things-factory/shell'\nimport { InspectionPart } from './inspection-part'\nimport { InspectionPartPatch } from './inspection-part-type'\nimport { InspectionDrawingType } from '../inspection-drawing-type/inspection-drawing-type'\n\n@Resolver(InspectionPart)\nexport class InspectionPartMutation {\n @Directive('@transaction')\n @Mutation(returns => [InspectionPart], { description: \"To modify multiple InspectionParts' information\" })\n async updateMultipleInspectionPart(\n @Arg('patches', type => [InspectionPartPatch]) patches: InspectionPartPatch[],\n @Arg('inspectionDrawingTypeId') inspectionDrawingTypeId: string,\n @Ctx() context: ResolverContext\n ): Promise<InspectionPart[]> {\n const { user, tx } = context.state\n\n let results = []\n\n const inspectionPartRepo = tx.getRepository(InspectionPart)\n const inspectionDrawingType = await tx.getRepository(InspectionDrawingType).findOneBy({ id: inspectionDrawingTypeId })\n\n await inspectionPartRepo.delete({ inspectionDrawingType: { id: inspectionDrawingTypeId } })\n\n for (let i = 0; i < patches.length; i++) {\n const result = await inspectionPartRepo.save({\n ...patches[i],\n sequence: i,\n inspectionDrawingType,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple InspectionParts' })\n async deleteInspectionParts(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await getRepository(InspectionPart, tx).delete({\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { InspectionPart } from './inspection-part';
4
+ import { InspectionPartList } from './inspection-part-type';
5
+ export declare class InspectionPartQuery {
6
+ inspectionPart(id: string, context: ResolverContext): Promise<InspectionPart>;
7
+ inspectionParts(params: ListParam, context: ResolverContext): Promise<InspectionPartList>;
8
+ updater(inspectionPart: InspectionPart): Promise<User>;
9
+ creator(inspectionPart: InspectionPart): Promise<User>;
10
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InspectionPartQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const auth_base_1 = require("@things-factory/auth-base");
8
+ const inspection_part_1 = require("./inspection-part");
9
+ const inspection_part_type_1 = require("./inspection-part-type");
10
+ let InspectionPartQuery = class InspectionPartQuery {
11
+ async inspectionPart(id, context) {
12
+ return await (0, shell_1.getRepository)(inspection_part_1.InspectionPart).findOne({
13
+ where: { id }
14
+ });
15
+ }
16
+ async inspectionParts(params, context) {
17
+ const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
18
+ params,
19
+ repository: await (0, shell_1.getRepository)(inspection_part_1.InspectionPart),
20
+ searchables: ['name', 'description']
21
+ });
22
+ const [items, total] = await queryBuilder.getManyAndCount();
23
+ return { items, total };
24
+ }
25
+ async updater(inspectionPart) {
26
+ return inspectionPart.updaterId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: inspectionPart.updaterId }));
27
+ }
28
+ async creator(inspectionPart) {
29
+ return inspectionPart.creatorId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: inspectionPart.creatorId }));
30
+ }
31
+ };
32
+ tslib_1.__decorate([
33
+ (0, type_graphql_1.Query)(returns => inspection_part_1.InspectionPart, { nullable: true, description: 'To fetch a InspectionPart' }),
34
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
35
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
36
+ tslib_1.__metadata("design:type", Function),
37
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
38
+ tslib_1.__metadata("design:returntype", Promise)
39
+ ], InspectionPartQuery.prototype, "inspectionPart", null);
40
+ tslib_1.__decorate([
41
+ (0, type_graphql_1.Query)(returns => inspection_part_type_1.InspectionPartList, { description: 'To fetch multiple InspectionParts' }),
42
+ tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
43
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
44
+ tslib_1.__metadata("design:type", Function),
45
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
46
+ tslib_1.__metadata("design:returntype", Promise)
47
+ ], InspectionPartQuery.prototype, "inspectionParts", null);
48
+ tslib_1.__decorate([
49
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
50
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
51
+ tslib_1.__metadata("design:type", Function),
52
+ tslib_1.__metadata("design:paramtypes", [inspection_part_1.InspectionPart]),
53
+ tslib_1.__metadata("design:returntype", Promise)
54
+ ], InspectionPartQuery.prototype, "updater", null);
55
+ tslib_1.__decorate([
56
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
57
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
58
+ tslib_1.__metadata("design:type", Function),
59
+ tslib_1.__metadata("design:paramtypes", [inspection_part_1.InspectionPart]),
60
+ tslib_1.__metadata("design:returntype", Promise)
61
+ ], InspectionPartQuery.prototype, "creator", null);
62
+ InspectionPartQuery = tslib_1.__decorate([
63
+ (0, type_graphql_1.Resolver)(inspection_part_1.InspectionPart)
64
+ ], InspectionPartQuery);
65
+ exports.InspectionPartQuery = InspectionPartQuery;
66
+ //# sourceMappingURL=inspection-part-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection-part-query.js","sourceRoot":"","sources":["../../../server/service/inspection-part/inspection-part-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AACnF,iDAA+F;AAC/F,yDAAgD;AAChD,uDAAkD;AAClD,iEAA2D;AAGpD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAExB,AAAN,KAAK,CAAC,cAAc,CAAY,EAAU,EAAS,OAAwB;QACzE,OAAO,MAAM,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,EAAE,EAAE;SACd,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,eAAe,CACM,MAAiB,EACnC,OAAwB;QAE/B,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,gCAAc,CAAC;YAC/C,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;CACF,CAAA;AA/BO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,gCAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IAC1E,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yDAIjD;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IAExF,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD2B,iBAAS;;0DAY3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,gCAAc;;kDAEnD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,gCAAc;;kDAEnD;AAhCU,mBAAmB;IAD/B,IAAA,uBAAQ,EAAC,gCAAc,CAAC;GACZ,mBAAmB,CAiC/B;AAjCY,kDAAmB","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { InspectionPart } from './inspection-part'\nimport { InspectionPartList } from './inspection-part-type'\n\n@Resolver(InspectionPart)\nexport class InspectionPartQuery {\n @Query(returns => InspectionPart!, { nullable: true, description: 'To fetch a InspectionPart' })\n async inspectionPart(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<InspectionPart> {\n return await getRepository(InspectionPart).findOne({\n where: { id }\n })\n }\n\n @Query(returns => InspectionPartList, { description: 'To fetch multiple InspectionParts' })\n async inspectionParts(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<InspectionPartList> {\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(InspectionPart),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => User)\n async updater(@Root() inspectionPart: InspectionPart): Promise<User> {\n return inspectionPart.updaterId && (await getRepository(User).findOneBy({ id: inspectionPart.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() inspectionPart: InspectionPart): Promise<User> {\n return inspectionPart.creatorId && (await getRepository(User).findOneBy({ id: inspectionPart.creatorId }))\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { InspectionPart } from './inspection-part';
2
+ export declare class InspectionPartPatch {
3
+ id?: string;
4
+ name?: string;
5
+ sequence?: number;
6
+ cuFlag?: string;
7
+ }
8
+ export declare class InspectionPartList {
9
+ items: InspectionPart[];
10
+ total: number;
11
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InspectionPartList = exports.InspectionPartPatch = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const inspection_part_1 = require("./inspection-part");
7
+ let InspectionPartPatch = class InspectionPartPatch {
8
+ };
9
+ tslib_1.__decorate([
10
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
11
+ tslib_1.__metadata("design:type", String)
12
+ ], InspectionPartPatch.prototype, "id", void 0);
13
+ tslib_1.__decorate([
14
+ (0, type_graphql_1.Field)({ nullable: true }),
15
+ tslib_1.__metadata("design:type", String)
16
+ ], InspectionPartPatch.prototype, "name", void 0);
17
+ tslib_1.__decorate([
18
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
19
+ tslib_1.__metadata("design:type", Number)
20
+ ], InspectionPartPatch.prototype, "sequence", void 0);
21
+ tslib_1.__decorate([
22
+ (0, type_graphql_1.Field)({ nullable: true }),
23
+ tslib_1.__metadata("design:type", String)
24
+ ], InspectionPartPatch.prototype, "cuFlag", void 0);
25
+ InspectionPartPatch = tslib_1.__decorate([
26
+ (0, type_graphql_1.InputType)()
27
+ ], InspectionPartPatch);
28
+ exports.InspectionPartPatch = InspectionPartPatch;
29
+ let InspectionPartList = class InspectionPartList {
30
+ };
31
+ tslib_1.__decorate([
32
+ (0, type_graphql_1.Field)(type => [inspection_part_1.InspectionPart]),
33
+ tslib_1.__metadata("design:type", Array)
34
+ ], InspectionPartList.prototype, "items", void 0);
35
+ tslib_1.__decorate([
36
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int),
37
+ tslib_1.__metadata("design:type", Number)
38
+ ], InspectionPartList.prototype, "total", void 0);
39
+ InspectionPartList = tslib_1.__decorate([
40
+ (0, type_graphql_1.ObjectType)()
41
+ ], InspectionPartList);
42
+ exports.InspectionPartList = InspectionPartList;
43
+ //# sourceMappingURL=inspection-part-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection-part-type.js","sourceRoot":"","sources":["../../../server/service/inspection-part/inspection-part-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,uDAAkD;AAG3C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAY/B,CAAA;AAXC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACtB;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACX;AAXJ,mBAAmB;IAD/B,IAAA,wBAAS,GAAE;GACC,mBAAmB,CAY/B;AAZY,kDAAmB;AAezB,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAM9B,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gCAAc,CAAC,CAAC;;iDACT;AAEvB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;iDACN;AALF,kBAAkB;IAD9B,IAAA,yBAAU,GAAE;GACA,kBAAkB,CAM9B;AANY,gDAAkB","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { InspectionPart } from './inspection-part'\n\n@InputType()\nexport class InspectionPartPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field(type => Int, { nullable: true })\n sequence?: number\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class InspectionPartList {\n @Field(type => [InspectionPart])\n items: InspectionPart[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { User } from '@things-factory/auth-base';
2
+ import { InspectionDrawingType } from '../inspection-drawing-type/inspection-drawing-type';
3
+ export declare class InspectionPart {
4
+ readonly id: string;
5
+ name?: string;
6
+ sequence?: number;
7
+ inspectionDrawingType?: InspectionDrawingType;
8
+ inspectionDrawingTypeId?: string;
9
+ createdAt?: Date;
10
+ updatedAt?: Date;
11
+ creator?: User;
12
+ creatorId?: string;
13
+ updater?: User;
14
+ updaterId?: string;
15
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InspectionPart = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const auth_base_1 = require("@things-factory/auth-base");
8
+ const inspection_drawing_type_1 = require("../inspection-drawing-type/inspection-drawing-type");
9
+ let InspectionPart = class InspectionPart {
10
+ };
11
+ tslib_1.__decorate([
12
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
13
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
14
+ tslib_1.__metadata("design:type", String)
15
+ ], InspectionPart.prototype, "id", void 0);
16
+ tslib_1.__decorate([
17
+ (0, typeorm_1.Column)({ nullable: false, comment: '검측 부위' }),
18
+ (0, type_graphql_1.Field)({ nullable: true }),
19
+ tslib_1.__metadata("design:type", String)
20
+ ], InspectionPart.prototype, "name", void 0);
21
+ tslib_1.__decorate([
22
+ (0, typeorm_1.Column)({ nullable: true, comment: '시퀀스' }),
23
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
24
+ tslib_1.__metadata("design:type", Number)
25
+ ], InspectionPart.prototype, "sequence", void 0);
26
+ tslib_1.__decorate([
27
+ (0, typeorm_1.ManyToOne)(type => inspection_drawing_type_1.InspectionDrawingType),
28
+ (0, type_graphql_1.Field)(type => inspection_drawing_type_1.InspectionDrawingType, { nullable: true }),
29
+ tslib_1.__metadata("design:type", inspection_drawing_type_1.InspectionDrawingType)
30
+ ], InspectionPart.prototype, "inspectionDrawingType", void 0);
31
+ tslib_1.__decorate([
32
+ (0, typeorm_1.RelationId)((inspectionPart) => inspectionPart.inspectionDrawingType),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], InspectionPart.prototype, "inspectionDrawingTypeId", void 0);
35
+ tslib_1.__decorate([
36
+ (0, typeorm_1.CreateDateColumn)(),
37
+ (0, type_graphql_1.Field)({ nullable: true }),
38
+ tslib_1.__metadata("design:type", Date)
39
+ ], InspectionPart.prototype, "createdAt", void 0);
40
+ tslib_1.__decorate([
41
+ (0, typeorm_1.UpdateDateColumn)(),
42
+ (0, type_graphql_1.Field)({ nullable: true }),
43
+ tslib_1.__metadata("design:type", Date)
44
+ ], InspectionPart.prototype, "updatedAt", void 0);
45
+ tslib_1.__decorate([
46
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
47
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
48
+ tslib_1.__metadata("design:type", auth_base_1.User)
49
+ ], InspectionPart.prototype, "creator", void 0);
50
+ tslib_1.__decorate([
51
+ (0, typeorm_1.RelationId)((inspectionPart) => inspectionPart.creator),
52
+ tslib_1.__metadata("design:type", String)
53
+ ], InspectionPart.prototype, "creatorId", void 0);
54
+ tslib_1.__decorate([
55
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
56
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
57
+ tslib_1.__metadata("design:type", auth_base_1.User)
58
+ ], InspectionPart.prototype, "updater", void 0);
59
+ tslib_1.__decorate([
60
+ (0, typeorm_1.RelationId)((inspectionPart) => inspectionPart.updater),
61
+ tslib_1.__metadata("design:type", String)
62
+ ], InspectionPart.prototype, "updaterId", void 0);
63
+ InspectionPart = tslib_1.__decorate([
64
+ (0, typeorm_1.Entity)(),
65
+ (0, typeorm_1.Index)('ix_inspection_part_0', (inspectionPart) => [inspectionPart.sequence]),
66
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for InspectionPart' })
67
+ ], InspectionPart);
68
+ exports.InspectionPart = InspectionPart;
69
+ //# sourceMappingURL=inspection-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection-part.js","sourceRoot":"","sources":["../../../server/service/inspection-part/inspection-part.ts"],"names":[],"mappings":";;;;AAAA,qCAAkI;AAClI,+CAAyD;AACzD,yDAAgD;AAChD,gGAA0F;AAKnF,IAAM,cAAc,GAApB,MAAM,cAAc;CA0C1B,CAAA;AAzCC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;0CACC;AAEnB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC7C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACb;AAEb;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACtB;AAGjB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,+CAAqB,CAAC;IACxC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,+CAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,+CAAqB;6DAAA;AAE7C;IAAC,IAAA,oBAAU,EAAC,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;;+DACrD;AAEhC;IAAC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;iDAAA;AAEhB;IAAC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;iDAAA;AAEhB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;+CAAA;AAEd;IAAC,IAAA,oBAAU,EAAC,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;;iDACrD;AAElB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;+CAAA;AAEd;IAAC,IAAA,oBAAU,EAAC,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;;iDACrD;AAzCP,cAAc;IAH1B,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,sBAAsB,EAAE,CAAC,cAA8B,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5F,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;GAC5C,cAAc,CA0C1B;AA1CY,wCAAc","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\nimport { ObjectType, Field, ID, Int } from 'type-graphql'\nimport { User } from '@things-factory/auth-base'\nimport { InspectionDrawingType } from '../inspection-drawing-type/inspection-drawing-type'\n\n@Entity()\n@Index('ix_inspection_part_0', (inspectionPart: InspectionPart) => [inspectionPart.sequence])\n@ObjectType({ description: 'Entity for InspectionPart' })\nexport class InspectionPart {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ nullable: false, comment: '검측 부위' })\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true, comment: '시퀀스' })\n @Field(type => Int, { nullable: true })\n sequence?: number\n\n // 검측 도면 정보 (상위 테이블 참조)\n @ManyToOne(type => InspectionDrawingType)\n @Field(type => InspectionDrawingType, { nullable: true })\n inspectionDrawingType?: InspectionDrawingType\n\n @RelationId((inspectionPart: InspectionPart) => inspectionPart.inspectionDrawingType)\n inspectionDrawingTypeId?: string\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(type => User, { nullable: true })\n creator?: User\n\n @RelationId((inspectionPart: InspectionPart) => inspectionPart.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((inspectionPart: InspectionPart) => inspectionPart.updater)\n updaterId?: string\n}\n"]}
@@ -1,7 +1,5 @@
1
1
  import { Project } from './project';
2
2
  import { ProjectQuery } from './project-query';
3
3
  import { ProjectMutation } from './project-mutation';
4
- import { InspectionSummary } from './project-type';
5
4
  export declare const entities: (typeof Project)[];
6
5
  export declare const resolvers: (typeof ProjectQuery | typeof ProjectMutation)[];
7
- export declare const types: (typeof InspectionSummary)[];
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.types = exports.resolvers = exports.entities = void 0;
3
+ exports.resolvers = exports.entities = void 0;
4
4
  const project_1 = require("./project");
5
5
  const project_query_1 = require("./project-query");
6
6
  const project_mutation_1 = require("./project-mutation");
7
- const project_type_1 = require("./project-type");
8
7
  exports.entities = [project_1.Project];
9
8
  exports.resolvers = [project_query_1.ProjectQuery, project_mutation_1.ProjectMutation];
10
- exports.types = [project_type_1.InspectionSummary];
11
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/project/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,mDAA8C;AAC9C,yDAAoD;AACpD,iDAAkD;AAErC,QAAA,QAAQ,GAAG,CAAC,iBAAO,CAAC,CAAA;AACpB,QAAA,SAAS,GAAG,CAAC,4BAAY,EAAE,kCAAe,CAAC,CAAA;AAC3C,QAAA,KAAK,GAAG,CAAC,gCAAiB,CAAC,CAAA","sourcesContent":["import { Project } from './project'\nimport { ProjectQuery } from './project-query'\nimport { ProjectMutation } from './project-mutation'\nimport { InspectionSummary } from './project-type'\n\nexport const entities = [Project]\nexport const resolvers = [ProjectQuery, ProjectMutation]\nexport const types = [InspectionSummary]\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/project/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,mDAA8C;AAC9C,yDAAoD;AAEvC,QAAA,QAAQ,GAAG,CAAC,iBAAO,CAAC,CAAA;AACpB,QAAA,SAAS,GAAG,CAAC,4BAAY,EAAE,kCAAe,CAAC,CAAA","sourcesContent":["import { Project } from './project'\nimport { ProjectQuery } from './project-query'\nimport { ProjectMutation } from './project-mutation'\n\nexport const entities = [Project]\nexport const resolvers = [ProjectQuery, ProjectMutation]\n"]}
@@ -1,13 +1,15 @@
1
- import { Domain } from '@things-factory/shell';
1
+ import { Domain, ListParam } from '@things-factory/shell';
2
2
  import { User } from '@things-factory/auth-base';
3
3
  import { Project } from './project';
4
- import { InspectionSummary, ProjectList } from './project-type';
5
- import { BuildingComplex } from '@dssp/building-complex';
4
+ import { Task } from '../task/task';
5
+ import { ProjectList } from './project-type';
6
6
  import { Attachment } from '@things-factory/attachment-base';
7
+ import { BuildingComplex } from '@dssp/building-complex';
7
8
  export declare class ProjectQuery {
8
9
  project(id: string, context: ResolverContext): Promise<Project>;
9
- projects(projectName: string, context: ResolverContext): Promise<ProjectList>;
10
- inspectionSummary(projectId: string, context: ResolverContext): Promise<InspectionSummary>;
10
+ projects(params: ListParam, context: ResolverContext): Promise<ProjectList>;
11
+ projectByBuildingComplexId(buildingComplexId: string, context: ResolverContext): Promise<Project>;
12
+ rootTasks(project: Project): Promise<Task[]>;
11
13
  mainPhoto(project: Project): Promise<string | Attachment>;
12
14
  buildingComplex(project: Project): Promise<BuildingComplex>;
13
15
  domain(project: Project): Promise<Domain>;
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProjectQuery = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
6
7
  const shell_1 = require("@things-factory/shell");
7
8
  const auth_base_1 = require("@things-factory/auth-base");
8
9
  const project_1 = require("./project");
10
+ const task_1 = require("../task/task");
9
11
  const project_type_1 = require("./project-type");
10
- const building_complex_1 = require("@dssp/building-complex");
11
12
  const attachment_base_1 = require("@things-factory/attachment-base");
13
+ const building_complex_1 = require("@dssp/building-complex");
12
14
  let ProjectQuery = class ProjectQuery {
13
15
  async project(id, context) {
14
16
  const { domain } = context.state;
@@ -16,43 +18,30 @@ let ProjectQuery = class ProjectQuery {
16
18
  where: { domain: { id: domain.id }, id }
17
19
  });
18
20
  }
19
- async projects(projectName, context) {
21
+ async projects(params, context) {
20
22
  const { domain } = context.state;
21
- // const { page = 1, limit = 0 } = params.pagination || {}
22
- const queryBuilder = await (0, shell_1.getRepository)(project_1.Project)
23
- .createQueryBuilder('p')
24
- .innerJoinAndSelect('p.buildingComplex', 'bc')
25
- .where('p.domain = :domain', { domain: domain.id })
26
- .orderBy('p.created_at', 'DESC');
27
- // .offset((page - 1) * limit)
28
- // .limit(limit)
29
- if (projectName) {
30
- projectName = `%${projectName}%`;
31
- queryBuilder.andWhere('p.name LIKE :projectName', { projectName });
32
- }
23
+ const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
24
+ domain,
25
+ params,
26
+ repository: await (0, shell_1.getRepository)(project_1.Project),
27
+ searchables: ['name', 'description']
28
+ });
33
29
  const [items, total] = await queryBuilder.getManyAndCount();
34
30
  return { items, total };
35
31
  }
36
- async inspectionSummary(projectId, context) {
32
+ async projectByBuildingComplexId(buildingComplexId, context) {
37
33
  const { domain } = context.state;
38
- const queryBuilder = (0, shell_1.getRepository)(project_1.Project)
39
- .createQueryBuilder('p')
40
- .select(`COUNT(CASE WHEN bi.status='${building_complex_1.InspectionStatus.REQUEST}' THEN 1 ELSE NULL END) AS request`)
41
- .addSelect(`COUNT(CASE WHEN bi.status='${building_complex_1.InspectionStatus.PASS}' THEN 1 ELSE NULL END) AS pass`)
42
- .addSelect(`COUNT(CASE WHEN bi.status='${building_complex_1.InspectionStatus.FAIL}' THEN 1 ELSE NULL END) AS fail`)
43
- .innerJoin('p.buildingComplex', 'bc')
44
- .innerJoin('bc.buildings', 'b')
45
- .innerJoin('b.buildingLevels', 'bl')
46
- .innerJoin('bl.buildingInspections', 'bi')
47
- .where('p.domain = :domain', { domain: domain.id })
48
- .andWhere('p.id = :projectId', { projectId })
49
- .groupBy('p.id');
50
- const result = (await queryBuilder.getRawOne()) || {};
51
- return {
52
- request: result.request || 0,
53
- pass: result.pass || 0,
54
- fail: result.fail || 0
55
- };
34
+ return await (0, shell_1.getRepository)(project_1.Project).findOne({
35
+ where: { domain: { id: domain.id }, buildingComplex: { id: buildingComplexId } }
36
+ });
37
+ }
38
+ async rootTasks(project) {
39
+ return await (0, shell_1.getRepository)(task_1.Task).find({
40
+ where: {
41
+ project: { id: project.id },
42
+ parent: (0, typeorm_1.IsNull)()
43
+ }
44
+ });
56
45
  }
57
46
  async mainPhoto(project) {
58
47
  const attachment = await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({
@@ -87,20 +76,27 @@ tslib_1.__decorate([
87
76
  ], ProjectQuery.prototype, "project", null);
88
77
  tslib_1.__decorate([
89
78
  (0, type_graphql_1.Query)(returns => project_type_1.ProjectList, { description: '프로젝트 리스트' }),
90
- tslib_1.__param(0, (0, type_graphql_1.Arg)('projectName')),
79
+ tslib_1.__param(0, (0, type_graphql_1.Args)()),
91
80
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
92
81
  tslib_1.__metadata("design:type", Function),
93
- tslib_1.__metadata("design:paramtypes", [String, Object]),
82
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
94
83
  tslib_1.__metadata("design:returntype", Promise)
95
84
  ], ProjectQuery.prototype, "projects", null);
96
85
  tslib_1.__decorate([
97
- (0, type_graphql_1.Query)(returns => project_type_1.InspectionSummary, { description: '프로젝트의 검측상태 카운트' }),
98
- tslib_1.__param(0, (0, type_graphql_1.Arg)('projectId')),
86
+ (0, type_graphql_1.Query)(returns => project_1.Project, { nullable: true, description: 'To fetch a Project' }),
87
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('buildingComplexId')),
99
88
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
100
89
  tslib_1.__metadata("design:type", Function),
101
90
  tslib_1.__metadata("design:paramtypes", [String, Object]),
102
91
  tslib_1.__metadata("design:returntype", Promise)
103
- ], ProjectQuery.prototype, "inspectionSummary", null);
92
+ ], ProjectQuery.prototype, "projectByBuildingComplexId", null);
93
+ tslib_1.__decorate([
94
+ (0, type_graphql_1.FieldResolver)(type => [task_1.Task], { nullable: true }),
95
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
96
+ tslib_1.__metadata("design:type", Function),
97
+ tslib_1.__metadata("design:paramtypes", [project_1.Project]),
98
+ tslib_1.__metadata("design:returntype", Promise)
99
+ ], ProjectQuery.prototype, "rootTasks", null);
104
100
  tslib_1.__decorate([
105
101
  (0, type_graphql_1.FieldResolver)(type => attachment_base_1.Attachment),
106
102
  tslib_1.__param(0, (0, type_graphql_1.Root)()),
@@ -1 +1 @@
1
- {"version":3,"file":"project-query.js","sourceRoot":"","sources":["../../../server/service/project/project-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Arg, Ctx } from 'type-graphql'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Project } from './project'\nimport { InspectionSummary, ProjectList } from './project-type'\nimport { BuildingComplex, InspectionStatus } from '@dssp/building-complex'\nimport { Attachment } from '@things-factory/attachment-base'\n\n@Resolver(Project)\nexport class ProjectQuery {\n @Query(returns => Project!, { nullable: true, description: 'To fetch a Project' })\n async project(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Project> {\n const { domain } = context.state\n\n return await getRepository(Project).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => ProjectList, { description: '프로젝트 리스트' })\n async projects(@Arg('projectName') projectName: string, @Ctx() context: ResolverContext): Promise<ProjectList> {\n const { domain } = context.state\n // const { page = 1, limit = 0 } = params.pagination || {}\n\n const queryBuilder = await getRepository(Project)\n .createQueryBuilder('p')\n .innerJoinAndSelect('p.buildingComplex', 'bc')\n .where('p.domain = :domain', { domain: domain.id })\n .orderBy('p.created_at', 'DESC')\n // .offset((page - 1) * limit)\n // .limit(limit)\n\n if (projectName) {\n projectName = `%${projectName}%`\n queryBuilder.andWhere('p.name LIKE :projectName', { projectName })\n }\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => InspectionSummary, { description: '프로젝트의 검측상태 카운트' })\n async inspectionSummary(@Arg('projectId') projectId: string, @Ctx() context: ResolverContext): Promise<InspectionSummary> {\n const { domain } = context.state\n\n const queryBuilder = getRepository(Project)\n .createQueryBuilder('p')\n .select(`COUNT(CASE WHEN bi.status='${InspectionStatus.REQUEST}' THEN 1 ELSE NULL END) AS request`)\n .addSelect(`COUNT(CASE WHEN bi.status='${InspectionStatus.PASS}' THEN 1 ELSE NULL END) AS pass`)\n .addSelect(`COUNT(CASE WHEN bi.status='${InspectionStatus.FAIL}' THEN 1 ELSE NULL END) AS fail`)\n .innerJoin('p.buildingComplex', 'bc')\n .innerJoin('bc.buildings', 'b')\n .innerJoin('b.buildingLevels', 'bl')\n .innerJoin('bl.buildingInspections', 'bi')\n .where('p.domain = :domain', { domain: domain.id })\n .andWhere('p.id = :projectId', { projectId })\n .groupBy('p.id')\n\n const result = (await queryBuilder.getRawOne()) || {}\n return {\n request: result.request || 0,\n pass: result.pass || 0,\n fail: result.fail || 0\n }\n }\n\n @FieldResolver(type => Attachment)\n async mainPhoto(@Root() project: Project): Promise<string | Attachment> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: project.domainId },\n refBy: project.id\n },\n order: { createdAt: 'ASC' }\n })\n\n return attachment\n }\n\n @FieldResolver(type => BuildingComplex)\n async buildingComplex(@Root() project: Project): Promise<BuildingComplex> {\n return await getRepository(BuildingComplex).findOneBy({ id: project.buildingComplexId })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() project: Project): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: project.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() project: Project): Promise<User> {\n return await getRepository(User).findOneBy({ id: project.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() project: Project): Promise<User> {\n return await getRepository(User).findOneBy({ id: project.creatorId })\n }\n}\n"]}
1
+ {"version":3,"file":"project-query.js","sourceRoot":"","sources":["../../../server/service/project/project-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Arg, Args, Ctx } from 'type-graphql'\nimport { IsNull } from 'typeorm'\nimport { Domain, getRepository, ListParam, getQueryBuilderFromListParams } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Project } from './project'\nimport { Task } from '../task/task'\nimport { ProjectList } from './project-type'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { BuildingComplex } from '@dssp/building-complex'\n\n@Resolver(Project)\nexport class ProjectQuery {\n @Query(returns => Project!, { nullable: true, description: 'To fetch a Project' })\n async project(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Project> {\n const { domain } = context.state\n\n return await getRepository(Project).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => ProjectList, { description: '프로젝트 리스트' })\n async projects(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ProjectList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Project),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => Project!, { nullable: true, description: 'To fetch a Project' })\n async projectByBuildingComplexId(\n @Arg('buildingComplexId') buildingComplexId: string,\n @Ctx() context: ResolverContext\n ): Promise<Project> {\n const { domain } = context.state\n\n return await getRepository(Project).findOne({\n where: { domain: { id: domain.id }, buildingComplex: { id: buildingComplexId } }\n })\n }\n\n @FieldResolver(type => [Task], { nullable: true })\n async rootTasks(@Root() project: Project): Promise<Task[]> {\n return await getRepository(Task).find({\n where: {\n project: { id: project.id },\n parent: IsNull()\n }\n })\n }\n\n @FieldResolver(type => Attachment)\n async mainPhoto(@Root() project: Project): Promise<string | Attachment> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: project.domainId },\n refBy: project.id\n },\n order: { createdAt: 'ASC' }\n })\n\n return attachment\n }\n\n @FieldResolver(type => BuildingComplex)\n async buildingComplex(@Root() project: Project): Promise<BuildingComplex> {\n return await getRepository(BuildingComplex).findOneBy({ id: project.buildingComplexId })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() project: Project): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: project.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() project: Project): Promise<User> {\n return await getRepository(User).findOneBy({ id: project.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() project: Project): Promise<User> {\n return await getRepository(User).findOneBy({ id: project.creatorId })\n }\n}\n"]}
@@ -1,8 +1,10 @@
1
1
  import { Project } from './project';
2
- import { BuildingComplexPatch } from '@dssp/building-complex';
3
2
  import type { FileUpload } from 'graphql-upload/GraphQLUpload.js';
3
+ import { ObjectRef } from '@things-factory/shell';
4
+ import { BuildingComplexPatch } from '@dssp/building-complex';
4
5
  export declare class NewProject {
5
6
  name: string;
7
+ buildingComplex?: ObjectRef;
6
8
  }
7
9
  export declare class ProjectPatch {
8
10
  id: string;
@@ -22,8 +24,3 @@ export declare class ProjectList {
22
24
  items: Project[];
23
25
  total: number;
24
26
  }
25
- export declare class InspectionSummary {
26
- request: number;
27
- pass: number;
28
- fail: number;
29
- }