@dssp/project 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +111 -312
  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 +117 -306
  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,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SeedSampleTasks1723861478421 = void 0;
4
+ const env_1 = require("@things-factory/env");
5
+ const shell_1 = require("@things-factory/shell");
6
+ const auth_base_1 = require("@things-factory/auth-base");
7
+ const project_1 = require("../service/project/project");
8
+ const import_task_1 = require("../controllers/import-task");
9
+ const SEED_SAMPLE_PROJECT = {
10
+ name: '서울시 마포구 공덕동 아파트 신축공사'
11
+ };
12
+ const SEED_SAMPLE_TASKS = [
13
+ {
14
+ code: '골조공사',
15
+ title: '골조공사',
16
+ progress: 60,
17
+ children: [
18
+ {
19
+ code: '골조공사:기초공사',
20
+ title: '기초공사',
21
+ startDate: '2024-01-01',
22
+ duration: 3,
23
+ resources: [{ type: '철근/형틀공', allocated: 6 }]
24
+ },
25
+ {
26
+ code: '골조공사:1층',
27
+ title: '1층',
28
+ duration: 10,
29
+ dependsOn: '골조공사:기초공사',
30
+ resources: [{ type: '철근/형틀공', allocated: 6 }]
31
+ },
32
+ {
33
+ code: '골조공사:2층',
34
+ title: '2층',
35
+ duration: 10,
36
+ dependsOn: '골조공사:1층',
37
+ resources: [{ type: '철근/형틀공', allocated: 6 }]
38
+ },
39
+ {
40
+ code: '골조공사:옥탑공사',
41
+ title: '옥탑공사',
42
+ duration: 6,
43
+ dependsOn: '골조공사:2층',
44
+ resources: [{ type: '철근/형틀공', allocated: 6 }]
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ code: '단열공사',
50
+ title: '단열공사',
51
+ children: [
52
+ {
53
+ code: '단열공사:단열재부착',
54
+ title: '단열재부착',
55
+ startDate: '2024-01-12',
56
+ duration: 2
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ code: '조적공사',
62
+ title: '조적공사',
63
+ children: [
64
+ {
65
+ code: '조적공사:조적시공',
66
+ title: '조적시공',
67
+ startDate: '2024-01-12',
68
+ duration: 3
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ code: '창호공사',
74
+ title: '창호공사',
75
+ progress: 60,
76
+ children: [
77
+ {
78
+ code: '창호공사:실측및발주',
79
+ title: '실측및발주',
80
+ dependsOn: '골조공사:1층',
81
+ duration: 1
82
+ },
83
+ {
84
+ code: '창호공사:창호 프레임 설치',
85
+ title: '창호 프레임 설치',
86
+ duration: 3,
87
+ dependsOn: '창호공사:실측및발주',
88
+ resources: [{ type: '창호공', allocated: 4 }]
89
+ },
90
+ {
91
+ code: '창호공사:창호 유리 설치',
92
+ title: '창호 유리 설치',
93
+ duration: 2,
94
+ dependsOn: '창호공사:창호 프레임 설치',
95
+ resources: [{ type: '창호공', allocated: 2 }]
96
+ }
97
+ ]
98
+ },
99
+ {
100
+ code: '방수공사',
101
+ title: '방수공사',
102
+ progress: 60,
103
+ children: [
104
+ {
105
+ code: '방수공사:골조 조인트부분 방수',
106
+ title: '골조 조인트부분 방수',
107
+ startDate: '2024-01-01',
108
+ duration: 3,
109
+ resources: [{ type: '방수공', allocated: 1 }]
110
+ },
111
+ {
112
+ code: '방수공사:개구부 주변 방수',
113
+ title: '개구부 주변 방수',
114
+ duration: 2,
115
+ dependsOn: '방수공사:골조 조인트부분 방수',
116
+ resources: [{ type: '방수공', allocated: 1 }]
117
+ },
118
+ {
119
+ code: '방수공사:테라스 방수',
120
+ title: '테라스 방수',
121
+ duration: 5,
122
+ dependsOn: '방수공사:개구부 주변 방수',
123
+ resources: [{ type: '방수공', allocated: 1 }]
124
+ },
125
+ {
126
+ code: '방수공사:화장실/다용도실 방수',
127
+ title: '화장실/다용도실 방수',
128
+ duration: 5,
129
+ dependsOn: '방수공사:테라스 방수',
130
+ resources: [{ type: '방수공', allocated: 1 }]
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ code: '내부목공사',
136
+ title: '내부목공사',
137
+ progress: 60,
138
+ children: [
139
+ {
140
+ code: '내부목공사:벽체다루끼/경량스터드',
141
+ title: '벽체다루끼/경량스터드',
142
+ startDate: '2024-01-20',
143
+ duration: 5,
144
+ resources: [{ type: '목공', allocated: 4 }]
145
+ },
146
+ {
147
+ code: '내부목공사:벽체 석고보드 취부',
148
+ title: '벽체 석고보드 취부',
149
+ duration: 5,
150
+ dependsOn: '내부목공사:벽체다루끼/경량스터드',
151
+ resources: [{ type: '목공', allocated: 4 }]
152
+ },
153
+ {
154
+ code: '내부목공사:ABC',
155
+ title: 'ABC',
156
+ duration: 4,
157
+ dependsOn: '내부목공사:벽체 석고보드 취부',
158
+ resources: [{ type: '목공', allocated: 4 }]
159
+ }
160
+ ]
161
+ }
162
+ ];
163
+ class SeedSampleTasks1723861478421 {
164
+ async up(queryRunner) {
165
+ const projectRepository = (0, shell_1.getRepository)(project_1.Project);
166
+ const domainRepository = (0, shell_1.getRepository)(shell_1.Domain);
167
+ const userRepository = (0, shell_1.getRepository)(auth_base_1.User);
168
+ const domain = await domainRepository.findOne({
169
+ where: { name: 'SYSTEM' }
170
+ });
171
+ const user = await userRepository.findOne({ where: { id: domain.owner } });
172
+ const project = await projectRepository.findOne({ where: { domain: { id: domain.id }, name: SEED_SAMPLE_PROJECT.name } });
173
+ try {
174
+ await (0, import_task_1.importTasks)(project, SEED_SAMPLE_TASKS, { state: { domain, user } });
175
+ }
176
+ catch (e) {
177
+ env_1.logger.error(e);
178
+ }
179
+ }
180
+ async down(queryRunner) {
181
+ const domainRepository = (0, shell_1.getRepository)(shell_1.Domain);
182
+ const domain = await domainRepository.findOne({
183
+ where: { name: 'SYSTEM' }
184
+ });
185
+ const repository = (0, shell_1.getRepository)(project_1.Project);
186
+ }
187
+ }
188
+ exports.SeedSampleTasks1723861478421 = SeedSampleTasks1723861478421;
189
+ //# sourceMappingURL=1723861478421-seed-%08sample-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1723861478421-seed-\bsample-tasks.js","sourceRoot":"","sources":["../../server/migrations/1723861478421-seed-\bsample-tasks.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Project } from '../service/project/project'\n\nimport { importTasks } from '../controllers/import-task'\n\nconst SEED_SAMPLE_PROJECT = {\n name: '서울시 마포구 공덕동 아파트 신축공사'\n}\n\nconst SEED_SAMPLE_TASKS = [\n {\n code: '골조공사',\n title: '골조공사',\n progress: 60,\n children: [\n {\n code: '골조공사:기초공사',\n title: '기초공사',\n startDate: '2024-01-01',\n duration: 3,\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n },\n {\n code: '골조공사:1층',\n title: '1층',\n duration: 10,\n dependsOn: '골조공사:기초공사',\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n },\n {\n code: '골조공사:2층',\n title: '2층',\n duration: 10,\n dependsOn: '골조공사:1층',\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n },\n {\n code: '골조공사:옥탑공사',\n title: '옥탑공사',\n duration: 6,\n dependsOn: '골조공사:2층',\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n }\n ]\n },\n {\n code: '단열공사',\n title: '단열공사',\n children: [\n {\n code: '단열공사:단열재부착',\n title: '단열재부착',\n startDate: '2024-01-12',\n duration: 2\n }\n ]\n },\n {\n code: '조적공사',\n title: '조적공사',\n children: [\n {\n code: '조적공사:조적시공',\n title: '조적시공',\n startDate: '2024-01-12',\n duration: 3\n }\n ]\n },\n {\n code: '창호공사',\n title: '창호공사',\n progress: 60,\n children: [\n {\n code: '창호공사:실측및발주',\n title: '실측및발주',\n dependsOn: '골조공사:1층',\n duration: 1\n },\n {\n code: '창호공사:창호 프레임 설치',\n title: '창호 프레임 설치',\n duration: 3,\n dependsOn: '창호공사:실측및발주',\n resources: [{ type: '창호공', allocated: 4 }]\n },\n {\n code: '창호공사:창호 유리 설치',\n title: '창호 유리 설치',\n duration: 2,\n dependsOn: '창호공사:창호 프레임 설치',\n resources: [{ type: '창호공', allocated: 2 }]\n }\n ]\n },\n {\n code: '방수공사',\n title: '방수공사',\n progress: 60,\n children: [\n {\n code: '방수공사:골조 조인트부분 방수',\n title: '골조 조인트부분 방수',\n startDate: '2024-01-01',\n duration: 3,\n resources: [{ type: '방수공', allocated: 1 }]\n },\n {\n code: '방수공사:개구부 주변 방수',\n title: '개구부 주변 방수',\n duration: 2,\n dependsOn: '방수공사:골조 조인트부분 방수',\n resources: [{ type: '방수공', allocated: 1 }]\n },\n {\n code: '방수공사:테라스 방수',\n title: '테라스 방수',\n duration: 5,\n dependsOn: '방수공사:개구부 주변 방수',\n resources: [{ type: '방수공', allocated: 1 }]\n },\n {\n code: '방수공사:화장실/다용도실 방수',\n title: '화장실/다용도실 방수',\n duration: 5,\n dependsOn: '방수공사:테라스 방수',\n resources: [{ type: '방수공', allocated: 1 }]\n }\n ]\n },\n {\n code: '내부목공사',\n title: '내부목공사',\n progress: 60,\n children: [\n {\n code: '내부목공사:벽체다루끼/경량스터드',\n title: '벽체다루끼/경량스터드',\n startDate: '2024-01-20',\n duration: 5,\n resources: [{ type: '목공', allocated: 4 }]\n },\n {\n code: '내부목공사:벽체 석고보드 취부',\n title: '벽체 석고보드 취부',\n duration: 5,\n dependsOn: '내부목공사:벽체다루끼/경량스터드',\n resources: [{ type: '목공', allocated: 4 }]\n },\n {\n code: '내부목공사:ABC',\n title: 'ABC',\n duration: 4,\n dependsOn: '내부목공사:벽체 석고보드 취부',\n resources: [{ type: '목공', allocated: 4 }]\n }\n ]\n }\n]\n\nexport class SeedSampleTasks1723861478421 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<void> {\n const projectRepository = getRepository(Project)\n const domainRepository = getRepository(Domain)\n const userRepository = getRepository(User)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n const user = await userRepository.findOne({ where: { id: domain.owner } })\n const project = await projectRepository.findOne({ where: { domain: { id: domain.id }, name: SEED_SAMPLE_PROJECT.name } })\n\n try {\n await importTasks(project, SEED_SAMPLE_TASKS, { state: { domain, user } as any })\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n const repository = getRepository(Project)\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare var migrations: any[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migrations = void 0;
4
+ const glob = require('glob');
5
+ const path = require('path');
6
+ exports.migrations = [];
7
+ glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
8
+ if (file.indexOf('index.js') !== -1)
9
+ return;
10
+ exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA","sourcesContent":["const glob = require('glob')\nconst path = require('path')\n\nexport var migrations = []\n\nglob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {\n if (file.indexOf('index.js') !== -1) return\n migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])\n})\n"]}
@@ -0,0 +1,6 @@
1
+ import { ConstructionDetailType } from './construction-detail-type';
2
+ import { ConstructionDetailTypePatch } from './construction-detail-type-type';
3
+ export declare class ConstructionDetailTypeMutation {
4
+ updateMultipleConstructionDetailType(patches: ConstructionDetailTypePatch[], constructionTypeId: string, context: ResolverContext): Promise<ConstructionDetailType[]>;
5
+ deleteConstructionDetailTypes(ids: string[], context: ResolverContext): Promise<boolean>;
6
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConstructionDetailTypeMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const attachment_base_1 = require("@things-factory/attachment-base");
8
+ const construction_detail_type_1 = require("./construction-detail-type");
9
+ const construction_detail_type_type_1 = require("./construction-detail-type-type");
10
+ const construction_type_1 = require("../construction-type/construction-type");
11
+ let ConstructionDetailTypeMutation = class ConstructionDetailTypeMutation {
12
+ async updateMultipleConstructionDetailType(patches, constructionTypeId, context) {
13
+ const { domain, user, tx } = context.state;
14
+ let results = [];
15
+ const constructionDetailTypeRepo = tx.getRepository(construction_detail_type_1.ConstructionDetailType);
16
+ const constructionType = await tx.getRepository(construction_type_1.ConstructionType).findOneBy({ id: constructionTypeId });
17
+ await constructionDetailTypeRepo.delete({ constructionType: { id: constructionTypeId } });
18
+ for (let i = 0; i < patches.length; i++) {
19
+ const result = await constructionDetailTypeRepo.save(Object.assign(Object.assign({}, patches[i]), { sequence: i, constructionType, creator: user, updater: user }));
20
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
21
+ }
22
+ return results;
23
+ }
24
+ async deleteConstructionDetailTypes(ids, context) {
25
+ const { domain, tx } = context.state;
26
+ await tx.getRepository(construction_detail_type_1.ConstructionDetailType).delete({
27
+ id: (0, typeorm_1.In)(ids)
28
+ });
29
+ await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: ids }, context);
30
+ return true;
31
+ }
32
+ };
33
+ tslib_1.__decorate([
34
+ (0, type_graphql_1.Directive)('@transaction'),
35
+ (0, type_graphql_1.Mutation)(returns => [construction_detail_type_1.ConstructionDetailType], { description: "To modify multiple ConstructionDetailTypes' information" }),
36
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [construction_detail_type_type_1.ConstructionDetailTypePatch])),
37
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('constructionTypeId')),
38
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
39
+ tslib_1.__metadata("design:type", Function),
40
+ tslib_1.__metadata("design:paramtypes", [Array, String, Object]),
41
+ tslib_1.__metadata("design:returntype", Promise)
42
+ ], ConstructionDetailTypeMutation.prototype, "updateMultipleConstructionDetailType", null);
43
+ tslib_1.__decorate([
44
+ (0, type_graphql_1.Directive)('@transaction'),
45
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple ConstructionDetailTypes' }),
46
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
47
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
48
+ tslib_1.__metadata("design:type", Function),
49
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
50
+ tslib_1.__metadata("design:returntype", Promise)
51
+ ], ConstructionDetailTypeMutation.prototype, "deleteConstructionDetailTypes", null);
52
+ ConstructionDetailTypeMutation = tslib_1.__decorate([
53
+ (0, type_graphql_1.Resolver)(construction_detail_type_1.ConstructionDetailType)
54
+ ], ConstructionDetailTypeMutation);
55
+ exports.ConstructionDetailTypeMutation = ConstructionDetailTypeMutation;
56
+ //# sourceMappingURL=construction-detail-type-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"construction-detail-type-mutation.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAC5B,qEAAwE;AACxE,yEAAmE;AACnE,mFAA6E;AAC7E,8EAAyE;AAGlE,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGnC,AAAN,KAAK,CAAC,oCAAoC,CACe,OAAsC,EAClE,kBAA0B,EAC9C,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,MAAM,0BAA0B,GAAG,EAAE,CAAC,aAAa,CAAC,iDAAsB,CAAC,CAAA;QAC3E,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAA;QAEvG,MAAM,0BAA0B,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAEzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,IAAI,iCAC/C,OAAO,CAAC,CAAC,CAAC,KACb,QAAQ,EAAE,CAAC,EACX,gBAAgB,EAChB,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,6BAA6B,CACH,GAAa,EACpC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,iDAAsB,CAAC,CAAC,MAAM,CAAC;YACpD,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,MAAM,IAAA,wCAAsB,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;QAE5D,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AA7CO;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iDAAsB,CAAC,EAAE,EAAE,WAAW,EAAE,yDAAyD,EAAE,CAAC;IAEvH,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2DAA2B,CAAC,CAAC,CAAA;IACrD,mBAAA,IAAA,kBAAG,EAAC,oBAAoB,CAAC,CAAA;IACzB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0FAwBP;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;IAEzF,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mFAWP;AA/CU,8BAA8B;IAD1C,IAAA,uBAAQ,EAAC,iDAAsB,CAAC;GACpB,8BAA8B,CAgD1C;AAhDY,wEAA8B","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { ConstructionDetailType } from './construction-detail-type'\nimport { ConstructionDetailTypePatch } from './construction-detail-type-type'\nimport { ConstructionType } from '../construction-type/construction-type'\n\n@Resolver(ConstructionDetailType)\nexport class ConstructionDetailTypeMutation {\n @Directive('@transaction')\n @Mutation(returns => [ConstructionDetailType], { description: \"To modify multiple ConstructionDetailTypes' information\" })\n async updateMultipleConstructionDetailType(\n @Arg('patches', type => [ConstructionDetailTypePatch]) patches: ConstructionDetailTypePatch[],\n @Arg('constructionTypeId') constructionTypeId: string,\n @Ctx() context: ResolverContext\n ): Promise<ConstructionDetailType[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n\n const constructionDetailTypeRepo = tx.getRepository(ConstructionDetailType)\n const constructionType = await tx.getRepository(ConstructionType).findOneBy({ id: constructionTypeId })\n\n await constructionDetailTypeRepo.delete({ constructionType: { id: constructionTypeId } })\n\n for (let i = 0; i < patches.length; i++) {\n const result = await constructionDetailTypeRepo.save({\n ...patches[i],\n sequence: i,\n constructionType,\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 ConstructionDetailTypes' })\n async deleteConstructionDetailTypes(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ConstructionDetailType).delete({\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { ConstructionDetailType } from './construction-detail-type';
4
+ import { ConstructionDetailTypeList } from './construction-detail-type-type';
5
+ export declare class ConstructionDetailTypeQuery {
6
+ constructionDetailTypes(params: ListParam, context: ResolverContext): Promise<ConstructionDetailTypeList>;
7
+ updater(constructionDetailType: ConstructionDetailType): Promise<User>;
8
+ creator(constructionDetailType: ConstructionDetailType): Promise<User>;
9
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConstructionDetailTypeQuery = 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 construction_detail_type_1 = require("./construction-detail-type");
9
+ const construction_detail_type_type_1 = require("./construction-detail-type-type");
10
+ let ConstructionDetailTypeQuery = class ConstructionDetailTypeQuery {
11
+ async constructionDetailTypes(params, context) {
12
+ const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
13
+ params,
14
+ repository: await (0, shell_1.getRepository)(construction_detail_type_1.ConstructionDetailType),
15
+ searchables: ['name']
16
+ });
17
+ const [items, total] = await queryBuilder.getManyAndCount();
18
+ return { items, total };
19
+ }
20
+ async updater(constructionDetailType) {
21
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: constructionDetailType.updaterId });
22
+ }
23
+ async creator(constructionDetailType) {
24
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: constructionDetailType.creatorId });
25
+ }
26
+ };
27
+ tslib_1.__decorate([
28
+ (0, type_graphql_1.Query)(returns => construction_detail_type_type_1.ConstructionDetailTypeList, { description: 'To fetch multiple ConstructionDetailTypes' }),
29
+ tslib_1.__param(0, (0, type_graphql_1.Args)()),
30
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
31
+ tslib_1.__metadata("design:type", Function),
32
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
33
+ tslib_1.__metadata("design:returntype", Promise)
34
+ ], ConstructionDetailTypeQuery.prototype, "constructionDetailTypes", null);
35
+ tslib_1.__decorate([
36
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
37
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
38
+ tslib_1.__metadata("design:type", Function),
39
+ tslib_1.__metadata("design:paramtypes", [construction_detail_type_1.ConstructionDetailType]),
40
+ tslib_1.__metadata("design:returntype", Promise)
41
+ ], ConstructionDetailTypeQuery.prototype, "updater", null);
42
+ tslib_1.__decorate([
43
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
44
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
45
+ tslib_1.__metadata("design:type", Function),
46
+ tslib_1.__metadata("design:paramtypes", [construction_detail_type_1.ConstructionDetailType]),
47
+ tslib_1.__metadata("design:returntype", Promise)
48
+ ], ConstructionDetailTypeQuery.prototype, "creator", null);
49
+ ConstructionDetailTypeQuery = tslib_1.__decorate([
50
+ (0, type_graphql_1.Resolver)(construction_detail_type_1.ConstructionDetailType)
51
+ ], ConstructionDetailTypeQuery);
52
+ exports.ConstructionDetailTypeQuery = ConstructionDetailTypeQuery;
53
+ //# sourceMappingURL=construction-detail-type-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"construction-detail-type-query.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8E;AAC9E,iDAA+F;AAC/F,yDAAgD;AAChD,yEAAmE;AACnE,mFAA4E;AAGrE,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAEhC,AAAN,KAAK,CAAC,uBAAuB,CAAS,MAAiB,EAAS,OAAwB;QACtF,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,iDAAsB,CAAC;YACvD,WAAW,EAAE,CAAC,MAAM,CAAC;SACtB,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,sBAA8C;QAClE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,sBAA8C;QAClE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;CACF,CAAA;AArBO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0DAA0B,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IAC5E,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;0EAUtD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAyB,iDAAsB;;0DAEnE;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAyB,iDAAsB;;0DAEnE;AAtBU,2BAA2B;IADvC,IAAA,uBAAQ,EAAC,iDAAsB,CAAC;GACpB,2BAA2B,CAuBvC;AAvBY,kEAA2B","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Ctx } from 'type-graphql'\nimport { getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ConstructionDetailType } from './construction-detail-type'\nimport { ConstructionDetailTypeList } from './construction-detail-type-type'\n\n@Resolver(ConstructionDetailType)\nexport class ConstructionDetailTypeQuery {\n @Query(returns => ConstructionDetailTypeList, { description: 'To fetch multiple ConstructionDetailTypes' })\n async constructionDetailTypes(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ConstructionDetailTypeList> {\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(ConstructionDetailType),\n searchables: ['name']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => User)\n async updater(@Root() constructionDetailType: ConstructionDetailType): Promise<User> {\n return await getRepository(User).findOneBy({ id: constructionDetailType.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() constructionDetailType: ConstructionDetailType): Promise<User> {\n return await getRepository(User).findOneBy({ id: constructionDetailType.creatorId })\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { ConstructionDetailType } from './construction-detail-type';
2
+ export declare class ConstructionDetailTypePatch {
3
+ id?: string;
4
+ name?: string;
5
+ sequence?: number;
6
+ cuFlag?: string;
7
+ }
8
+ export declare class ConstructionDetailTypeList {
9
+ items: ConstructionDetailType[];
10
+ total: number;
11
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConstructionDetailTypeList = exports.ConstructionDetailTypePatch = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const construction_detail_type_1 = require("./construction-detail-type");
7
+ let ConstructionDetailTypePatch = class ConstructionDetailTypePatch {
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
+ ], ConstructionDetailTypePatch.prototype, "id", void 0);
13
+ tslib_1.__decorate([
14
+ (0, type_graphql_1.Field)({ nullable: true }),
15
+ tslib_1.__metadata("design:type", String)
16
+ ], ConstructionDetailTypePatch.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
+ ], ConstructionDetailTypePatch.prototype, "sequence", void 0);
21
+ tslib_1.__decorate([
22
+ (0, type_graphql_1.Field)({ nullable: true }),
23
+ tslib_1.__metadata("design:type", String)
24
+ ], ConstructionDetailTypePatch.prototype, "cuFlag", void 0);
25
+ ConstructionDetailTypePatch = tslib_1.__decorate([
26
+ (0, type_graphql_1.InputType)()
27
+ ], ConstructionDetailTypePatch);
28
+ exports.ConstructionDetailTypePatch = ConstructionDetailTypePatch;
29
+ let ConstructionDetailTypeList = class ConstructionDetailTypeList {
30
+ };
31
+ tslib_1.__decorate([
32
+ (0, type_graphql_1.Field)(type => [construction_detail_type_1.ConstructionDetailType]),
33
+ tslib_1.__metadata("design:type", Array)
34
+ ], ConstructionDetailTypeList.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
+ ], ConstructionDetailTypeList.prototype, "total", void 0);
39
+ ConstructionDetailTypeList = tslib_1.__decorate([
40
+ (0, type_graphql_1.ObjectType)()
41
+ ], ConstructionDetailTypeList);
42
+ exports.ConstructionDetailTypeList = ConstructionDetailTypeList;
43
+ //# sourceMappingURL=construction-detail-type-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"construction-detail-type-type.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,yEAAmE;AAG5D,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;CAYvC,CAAA;AAXC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACtB;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACX;AAXJ,2BAA2B;IADvC,IAAA,wBAAS,GAAE;GACC,2BAA2B,CAYvC;AAZY,kEAA2B;AAejC,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAMtC,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iDAAsB,CAAC,CAAC;;yDACT;AAE/B;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;yDACN;AALF,0BAA0B;IADtC,IAAA,yBAAU,GAAE;GACA,0BAA0B,CAMtC;AANY,gEAA0B","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ConstructionDetailType } from './construction-detail-type'\n\n@InputType()\nexport class ConstructionDetailTypePatch {\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 ConstructionDetailTypeList {\n @Field(type => [ConstructionDetailType])\n items: ConstructionDetailType[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { User } from '@things-factory/auth-base';
2
+ import { ConstructionType } from '../construction-type/construction-type';
3
+ export declare class ConstructionDetailType {
4
+ readonly id: string;
5
+ name?: string;
6
+ sequence?: number;
7
+ constructionType?: ConstructionType;
8
+ constructionTypeId?: 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.ConstructionDetailType = 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 construction_type_1 = require("../construction-type/construction-type");
9
+ let ConstructionDetailType = class ConstructionDetailType {
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
+ ], ConstructionDetailType.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
+ ], ConstructionDetailType.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
+ ], ConstructionDetailType.prototype, "sequence", void 0);
26
+ tslib_1.__decorate([
27
+ (0, typeorm_1.ManyToOne)(type => construction_type_1.ConstructionType),
28
+ (0, type_graphql_1.Field)({ nullable: true }),
29
+ tslib_1.__metadata("design:type", construction_type_1.ConstructionType)
30
+ ], ConstructionDetailType.prototype, "constructionType", void 0);
31
+ tslib_1.__decorate([
32
+ (0, typeorm_1.RelationId)((constructionDetailType) => constructionDetailType.constructionType),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], ConstructionDetailType.prototype, "constructionTypeId", 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
+ ], ConstructionDetailType.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
+ ], ConstructionDetailType.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
+ ], ConstructionDetailType.prototype, "creator", void 0);
50
+ tslib_1.__decorate([
51
+ (0, typeorm_1.RelationId)((constructionDetailType) => constructionDetailType.creator),
52
+ tslib_1.__metadata("design:type", String)
53
+ ], ConstructionDetailType.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
+ ], ConstructionDetailType.prototype, "updater", void 0);
59
+ tslib_1.__decorate([
60
+ (0, typeorm_1.RelationId)((constructionDetailType) => constructionDetailType.updater),
61
+ tslib_1.__metadata("design:type", String)
62
+ ], ConstructionDetailType.prototype, "updaterId", void 0);
63
+ ConstructionDetailType = tslib_1.__decorate([
64
+ (0, typeorm_1.Entity)(),
65
+ (0, typeorm_1.Index)('ix_construction_detail_type_0', (constructionDetailType) => [constructionDetailType.sequence]),
66
+ (0, type_graphql_1.ObjectType)({ description: '세부 공종 타입' })
67
+ ], ConstructionDetailType);
68
+ exports.ConstructionDetailType = ConstructionDetailType;
69
+ //# sourceMappingURL=construction-detail-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"construction-detail-type.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type.ts"],"names":[],"mappings":";;;;AAAA,qCAAkI;AAClI,+CAAyD;AAEzD,yDAAgD;AAChD,8EAAyE;AAKlE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CA0ClC,CAAA;AAzCC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;kDACC;AAEnB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAChD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACb;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;;wDACtB;AAGjB;IAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,oCAAgB,CAAC;IACnC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACP,oCAAgB;gEAAA;AAEnC;IAAC,IAAA,oBAAU,EAAC,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;;kEAC7E;AAE3B;IAAC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;yDAAA;AAEhB;IAAC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;yDAAA;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;uDAAA;AAEd;IAAC,IAAA,oBAAU,EAAC,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;;yDAC7E;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;uDAAA;AAEd;IAAC,IAAA,oBAAU,EAAC,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;;yDAC7E;AAzCP,sBAAsB;IAHlC,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,+BAA+B,EAAE,CAAC,sBAA8C,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC7H,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;GAC3B,sBAAsB,CA0ClC;AA1CY,wDAAsB","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\nimport { ObjectType, Field, ID, Int } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { ConstructionType } from '../construction-type/construction-type'\n\n@Entity()\n@Index('ix_construction_detail_type_0', (constructionDetailType: ConstructionDetailType) => [constructionDetailType.sequence])\n@ObjectType({ description: '세부 공종 타입' })\nexport class ConstructionDetailType {\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 => ConstructionType)\n @Field({ nullable: true })\n constructionType?: ConstructionType\n\n @RelationId((constructionDetailType: ConstructionDetailType) => constructionDetailType.constructionType)\n constructionTypeId?: 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((constructionDetailType: ConstructionDetailType) => constructionDetailType.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((constructionDetailType: ConstructionDetailType) => constructionDetailType.updater)\n updaterId?: string\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ConstructionDetailType } from './construction-detail-type';
2
+ import { ConstructionDetailTypeQuery } from './construction-detail-type-query';
3
+ import { ConstructionDetailTypeMutation } from './construction-detail-type-mutation';
4
+ export declare const entities: (typeof ConstructionDetailType)[];
5
+ export declare const resolvers: (typeof ConstructionDetailTypeQuery | typeof ConstructionDetailTypeMutation)[];
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvers = exports.entities = void 0;
4
+ const construction_detail_type_1 = require("./construction-detail-type");
5
+ const construction_detail_type_query_1 = require("./construction-detail-type-query");
6
+ const construction_detail_type_mutation_1 = require("./construction-detail-type-mutation");
7
+ exports.entities = [construction_detail_type_1.ConstructionDetailType];
8
+ exports.resolvers = [construction_detail_type_query_1.ConstructionDetailTypeQuery, construction_detail_type_mutation_1.ConstructionDetailTypeMutation];
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AACnE,qFAA8E;AAC9E,2FAAoF;AAEvE,QAAA,QAAQ,GAAG,CAAC,iDAAsB,CAAC,CAAA;AACnC,QAAA,SAAS,GAAG,CAAC,4DAA2B,EAAE,kEAA8B,CAAC,CAAA","sourcesContent":["import { ConstructionDetailType } from './construction-detail-type'\nimport { ConstructionDetailTypeQuery } from './construction-detail-type-query'\nimport { ConstructionDetailTypeMutation } from './construction-detail-type-mutation'\n\nexport const entities = [ConstructionDetailType]\nexport const resolvers = [ConstructionDetailTypeQuery, ConstructionDetailTypeMutation]\n"]}
@@ -2,9 +2,11 @@ import { Domain, ListParam } from '@things-factory/shell';
2
2
  import { User } from '@things-factory/auth-base';
3
3
  import { ConstructionType } from './construction-type';
4
4
  import { ConstructionTypeList } from './construction-type-type';
5
+ import { ConstructionDetailType } from '../construction-detail-type/construction-detail-type';
5
6
  export declare class ConstructionTypeQuery {
6
7
  constructionType(id: string, context: ResolverContext): Promise<ConstructionType>;
7
8
  constructionTypes(params: ListParam, context: ResolverContext): Promise<ConstructionTypeList>;
9
+ constructionDetailTypes(constructionType: ConstructionType): Promise<ConstructionDetailType[]>;
8
10
  domain(constructionType: ConstructionType): Promise<Domain>;
9
11
  updater(constructionType: ConstructionType): Promise<User>;
10
12
  creator(constructionType: ConstructionType): Promise<User>;
@@ -7,6 +7,7 @@ const shell_1 = require("@things-factory/shell");
7
7
  const auth_base_1 = require("@things-factory/auth-base");
8
8
  const construction_type_1 = require("./construction-type");
9
9
  const construction_type_type_1 = require("./construction-type-type");
10
+ const construction_detail_type_1 = require("../construction-detail-type/construction-detail-type");
10
11
  let ConstructionTypeQuery = class ConstructionTypeQuery {
11
12
  async constructionType(id, context) {
12
13
  const { domain } = context.state;
@@ -24,6 +25,12 @@ let ConstructionTypeQuery = class ConstructionTypeQuery {
24
25
  const [items, total] = await queryBuilder.getManyAndCount();
25
26
  return { items, total };
26
27
  }
28
+ async constructionDetailTypes(constructionType) {
29
+ return await (0, shell_1.getRepository)(construction_detail_type_1.ConstructionDetailType).find({
30
+ where: { constructionType: { id: constructionType.id } },
31
+ order: { sequence: 'ASC' }
32
+ });
33
+ }
27
34
  async domain(constructionType) {
28
35
  return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: constructionType.domainId });
29
36
  }
@@ -50,6 +57,13 @@ tslib_1.__decorate([
50
57
  tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
51
58
  tslib_1.__metadata("design:returntype", Promise)
52
59
  ], ConstructionTypeQuery.prototype, "constructionTypes", null);
60
+ tslib_1.__decorate([
61
+ (0, type_graphql_1.FieldResolver)(type => [construction_detail_type_1.ConstructionDetailType]),
62
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
63
+ tslib_1.__metadata("design:type", Function),
64
+ tslib_1.__metadata("design:paramtypes", [construction_type_1.ConstructionType]),
65
+ tslib_1.__metadata("design:returntype", Promise)
66
+ ], ConstructionTypeQuery.prototype, "constructionDetailTypes", null);
53
67
  tslib_1.__decorate([
54
68
  (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
55
69
  tslib_1.__param(0, (0, type_graphql_1.Root)()),