@dssp/supervision 1.0.0-alpha.9 โ†’ 1.0.0-alpha.93

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 (363) hide show
  1. package/dist-client/graphql/building-inspection.d.ts +1 -0
  2. package/dist-client/graphql/building-inspection.js +102 -0
  3. package/dist-client/graphql/building-inspection.js.map +1 -0
  4. package/dist-client/pages/action-plan/action-plan-list-page.d.ts +1 -2
  5. package/dist-client/pages/action-plan/action-plan-list-page.js +1 -2
  6. package/dist-client/pages/action-plan/action-plan-list-page.js.map +1 -1
  7. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.d.ts +22 -0
  8. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +171 -0
  9. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +1 -0
  10. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +59 -0
  11. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +868 -0
  12. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +1 -0
  13. package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +8 -6
  14. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +116 -65
  15. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +1 -1
  16. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +11 -0
  17. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +147 -72
  18. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
  19. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +1 -0
  20. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +78 -14
  21. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
  22. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +26 -2
  23. package/dist-client/pages/building-inspection/building-inspection-list.js +375 -34
  24. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
  25. package/dist-client/pages/building-inspection/building-inspection-management.d.ts +82 -0
  26. package/dist-client/pages/building-inspection/building-inspection-management.js +1527 -0
  27. package/dist-client/pages/building-inspection/building-inspection-management.js.map +1 -0
  28. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +3 -0
  29. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +112 -20
  30. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
  31. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +27 -0
  32. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +542 -0
  33. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +1 -0
  34. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.d.ts +18 -0
  35. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js +630 -0
  36. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js.map +1 -0
  37. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.d.ts +10 -0
  38. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js +219 -0
  39. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js.map +1 -0
  40. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.d.ts +25 -0
  41. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js +546 -0
  42. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js.map +1 -0
  43. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts +42 -0
  44. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js +738 -0
  45. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js.map +1 -0
  46. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +15 -0
  47. package/dist-client/pages/building-inspection/component/image-preview-popup.js +348 -0
  48. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
  49. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +25 -0
  50. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +491 -0
  51. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
  52. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +31 -0
  53. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +485 -0
  54. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
  55. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
  56. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +416 -0
  57. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
  58. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +4 -2
  59. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +156 -37
  60. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  61. package/dist-client/pages/building-inspection/inspection-create-popup.js +23 -12
  62. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  63. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +3 -0
  64. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +817 -0
  65. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +1 -0
  66. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +16 -2
  67. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +250 -45
  68. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -1
  69. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +10 -6
  70. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
  71. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +19 -0
  72. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +205 -0
  73. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +1 -0
  74. package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
  75. package/dist-client/pages/checklist/attachment-list-popup.js +251 -69
  76. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  77. package/dist-client/pages/checklist/checklist-view.d.ts +6 -4
  78. package/dist-client/pages/checklist/checklist-view.js +249 -37
  79. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  80. package/dist-client/pages/checklist/comment-list-popup.js +15 -5
  81. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  82. package/dist-client/pages/checklist/file-preview-popup.js +0 -1
  83. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  84. package/dist-client/pages/checklist/inspection-info-popup.d.ts +49 -0
  85. package/dist-client/pages/checklist/inspection-info-popup.js +683 -0
  86. package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
  87. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
  88. package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
  89. package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
  90. package/dist-client/pages/checklist/kcs-criteria-popup.d.ts +15 -0
  91. package/dist-client/pages/checklist/kcs-criteria-popup.js +174 -0
  92. package/dist-client/pages/checklist/kcs-criteria-popup.js.map +1 -0
  93. package/dist-client/pages/checklist-database/checklist-database.d.ts +35 -0
  94. package/dist-client/pages/checklist-database/checklist-database.js +540 -0
  95. package/dist-client/pages/checklist-database/checklist-database.js.map +1 -0
  96. package/dist-client/pages/checklist-template/checklist-template-item.js +39 -3
  97. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  98. package/dist-client/pages/checklist-template/checklist-template-list.js +3 -2
  99. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  100. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +2 -0
  101. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +223 -0
  102. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +1 -0
  103. package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +55 -0
  104. package/dist-client/pages/checklist-template/construction-checklist-template-list.js +404 -0
  105. package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +1 -0
  106. package/dist-client/pages/issue/issue-list-page.d.ts +1 -2
  107. package/dist-client/pages/issue/issue-list-page.js +1 -2
  108. package/dist-client/pages/issue/issue-list-page.js.map +1 -1
  109. package/dist-client/pages/project-checklist/project-checklist-management.d.ts +58 -0
  110. package/dist-client/pages/project-checklist/project-checklist-management.js +1076 -0
  111. package/dist-client/pages/project-checklist/project-checklist-management.js.map +1 -0
  112. package/dist-client/pages/project-report/project-report-list-page.d.ts +1 -2
  113. package/dist-client/pages/project-report/project-report-list-page.js +1 -2
  114. package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
  115. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +1 -2
  116. package/dist-client/pages/supervisor/supervisor-list-page.js +1 -2
  117. package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
  118. package/dist-client/route.d.ts +1 -1
  119. package/dist-client/route.js +18 -0
  120. package/dist-client/route.js.map +1 -1
  121. package/dist-client/stt/speech-to-text.d.ts +13 -8
  122. package/dist-client/stt/speech-to-text.js +282 -40
  123. package/dist-client/stt/speech-to-text.js.map +1 -1
  124. package/dist-client/tsconfig.tsbuildinfo +1 -1
  125. package/dist-server/service/action-plan/action-plan-mutation.js +5 -6
  126. package/dist-server/service/action-plan/action-plan-mutation.js.map +1 -1
  127. package/dist-server/service/action-plan/action-plan-query.d.ts +2 -2
  128. package/dist-server/service/action-plan/action-plan-query.js +5 -11
  129. package/dist-server/service/action-plan/action-plan-query.js.map +1 -1
  130. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +2 -3
  131. package/dist-server/service/building-inspection/building-inspection-mutation.js +102 -34
  132. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  133. package/dist-server/service/building-inspection/building-inspection-query.d.ts +9 -7
  134. package/dist-server/service/building-inspection/building-inspection-query.js +168 -52
  135. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  136. package/dist-server/service/building-inspection/building-inspection-type.d.ts +32 -11
  137. package/dist-server/service/building-inspection/building-inspection-type.js +111 -23
  138. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  139. package/dist-server/service/building-inspection/building-inspection.d.ts +5 -0
  140. package/dist-server/service/building-inspection/building-inspection.js +37 -4
  141. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  142. package/dist-server/service/building-inspection/index.d.ts +3 -4
  143. package/dist-server/service/building-inspection/index.js +10 -3
  144. package/dist-server/service/building-inspection/index.js.map +1 -1
  145. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
  146. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +66 -0
  147. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
  148. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +16 -0
  149. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +171 -0
  150. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
  151. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +23 -0
  152. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +90 -0
  153. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
  154. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +33 -0
  155. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +132 -0
  156. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
  157. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
  158. package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
  159. package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
  160. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +16 -0
  161. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +120 -0
  162. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +1 -0
  163. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +5 -0
  164. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +21 -0
  165. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +1 -0
  166. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +35 -0
  167. package/dist-server/service/building-inspection-history/building-inspection-history.js +162 -0
  168. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +1 -0
  169. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +7 -0
  170. package/dist-server/service/building-inspection-history/event-subscriber.js +21 -0
  171. package/dist-server/service/building-inspection-history/event-subscriber.js.map +1 -0
  172. package/dist-server/service/building-inspection-history/index.d.ts +6 -0
  173. package/dist-server/service/building-inspection-history/index.js +10 -0
  174. package/dist-server/service/building-inspection-history/index.js.map +1 -0
  175. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
  176. package/dist-server/service/checklist/checklist-mutation.js +1 -67
  177. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  178. package/dist-server/service/checklist/checklist-query.d.ts +7 -0
  179. package/dist-server/service/checklist/checklist-query.js +83 -0
  180. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  181. package/dist-server/service/checklist/checklist-type.d.ts +0 -13
  182. package/dist-server/service/checklist/checklist-type.js +1 -49
  183. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  184. package/dist-server/service/checklist/checklist.d.ts +24 -7
  185. package/dist-server/service/checklist/checklist.js +75 -30
  186. package/dist-server/service/checklist/checklist.js.map +1 -1
  187. package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
  188. package/dist-server/service/checklist/event-subscriber.js +21 -0
  189. package/dist-server/service/checklist/event-subscriber.js.map +1 -0
  190. package/dist-server/service/checklist/index.d.ts +1 -2
  191. package/dist-server/service/checklist/index.js +1 -2
  192. package/dist-server/service/checklist/index.js.map +1 -1
  193. package/dist-server/service/checklist-history/checklist-history-query.d.ts +11 -0
  194. package/dist-server/service/checklist-history/checklist-history-query.js +77 -0
  195. package/dist-server/service/checklist-history/checklist-history-query.js.map +1 -0
  196. package/dist-server/service/checklist-history/checklist-history-type.d.ts +5 -0
  197. package/dist-server/service/checklist-history/checklist-history-type.js +21 -0
  198. package/dist-server/service/checklist-history/checklist-history-type.js.map +1 -0
  199. package/dist-server/service/{checklist โ†’ checklist-history}/checklist-history.d.ts +19 -1
  200. package/dist-server/service/{checklist โ†’ checklist-history}/checklist-history.js +97 -14
  201. package/dist-server/service/checklist-history/checklist-history.js.map +1 -0
  202. package/dist-server/service/checklist-history/event-subscriber.d.ts +7 -0
  203. package/dist-server/service/checklist-history/event-subscriber.js +21 -0
  204. package/dist-server/service/checklist-history/event-subscriber.js.map +1 -0
  205. package/dist-server/service/checklist-history/index.d.ts +6 -0
  206. package/dist-server/service/checklist-history/index.js +10 -0
  207. package/dist-server/service/checklist-history/index.js.map +1 -0
  208. package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
  209. package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
  210. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  211. package/dist-server/service/checklist-item/checklist-item.d.ts +2 -0
  212. package/dist-server/service/checklist-item/checklist-item.js +11 -1
  213. package/dist-server/service/checklist-item/checklist-item.js.map +1 -1
  214. package/dist-server/service/checklist-item/index.d.ts +0 -1
  215. package/dist-server/service/checklist-item/index.js +1 -2
  216. package/dist-server/service/checklist-item/index.js.map +1 -1
  217. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
  218. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
  219. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  220. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +16 -0
  221. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +123 -0
  222. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +1 -0
  223. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +5 -0
  224. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +21 -0
  225. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +1 -0
  226. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +27 -0
  227. package/dist-server/service/checklist-item-history/checklist-item-history.js +133 -0
  228. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +1 -0
  229. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +7 -0
  230. package/dist-server/service/checklist-item-history/event-subscriber.js +21 -0
  231. package/dist-server/service/checklist-item-history/event-subscriber.js.map +1 -0
  232. package/dist-server/service/checklist-item-history/index.d.ts +6 -0
  233. package/dist-server/service/checklist-item-history/index.js +10 -0
  234. package/dist-server/service/checklist-item-history/index.js.map +1 -0
  235. package/dist-server/service/checklist-template/checklist-template-query.d.ts +1 -1
  236. package/dist-server/service/checklist-template/checklist-template-query.js +2 -5
  237. package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -1
  238. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +13 -1
  239. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
  240. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +3 -0
  241. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +9 -0
  242. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
  243. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +7 -0
  244. package/dist-server/service/checklist-template-item/checklist-template-item.js +22 -2
  245. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  246. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +2 -0
  247. package/dist-server/service/checklist-template-item/spec-matching-service.js +51 -0
  248. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -0
  249. package/dist-server/service/checklist-type/checklist-type-query.d.ts +1 -1
  250. package/dist-server/service/checklist-type/checklist-type-query.js +2 -5
  251. package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -1
  252. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +7 -0
  253. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +107 -0
  254. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +1 -0
  255. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +10 -0
  256. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +62 -0
  257. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +1 -0
  258. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +11 -0
  259. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +43 -0
  260. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +1 -0
  261. package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +18 -0
  262. package/dist-server/service/construction-checklist-template/construction-checklist-template.js +80 -0
  263. package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +1 -0
  264. package/dist-server/service/construction-checklist-template/index.d.ts +5 -0
  265. package/dist-server/service/construction-checklist-template/index.js +9 -0
  266. package/dist-server/service/construction-checklist-template/index.js.map +1 -0
  267. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +6 -0
  268. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +56 -0
  269. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +1 -0
  270. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +9 -0
  271. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +53 -0
  272. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +1 -0
  273. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +17 -0
  274. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +67 -0
  275. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +1 -0
  276. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +24 -0
  277. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +113 -0
  278. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +1 -0
  279. package/dist-server/service/construction-checklist-template-item/index.d.ts +5 -0
  280. package/dist-server/service/construction-checklist-template-item/index.js +9 -0
  281. package/dist-server/service/construction-checklist-template-item/index.js.map +1 -0
  282. package/dist-server/service/field-document/field-document-auto-file.d.ts +21 -0
  283. package/dist-server/service/field-document/field-document-auto-file.js +47 -0
  284. package/dist-server/service/field-document/field-document-auto-file.js.map +1 -0
  285. package/dist-server/service/field-document/field-document-mutation.d.ts +9 -0
  286. package/dist-server/service/field-document/field-document-mutation.js +139 -0
  287. package/dist-server/service/field-document/field-document-mutation.js.map +1 -0
  288. package/dist-server/service/field-document/field-document-query.d.ts +14 -0
  289. package/dist-server/service/field-document/field-document-query.js +120 -0
  290. package/dist-server/service/field-document/field-document-query.js.map +1 -0
  291. package/dist-server/service/field-document/field-document-summary-service.d.ts +10 -0
  292. package/dist-server/service/field-document/field-document-summary-service.js +79 -0
  293. package/dist-server/service/field-document/field-document-summary-service.js.map +1 -0
  294. package/dist-server/service/field-document/field-document-type.d.ts +24 -0
  295. package/dist-server/service/field-document/field-document-type.js +88 -0
  296. package/dist-server/service/field-document/field-document-type.js.map +1 -0
  297. package/dist-server/service/field-document/field-document.d.ts +29 -0
  298. package/dist-server/service/field-document/field-document.js +127 -0
  299. package/dist-server/service/field-document/field-document.js.map +1 -0
  300. package/dist-server/service/field-document/index.d.ts +5 -0
  301. package/dist-server/service/field-document/index.js +9 -0
  302. package/dist-server/service/field-document/index.js.map +1 -0
  303. package/dist-server/service/index.d.ts +9 -1
  304. package/dist-server/service/index.js +42 -3
  305. package/dist-server/service/index.js.map +1 -1
  306. package/dist-server/service/issue/issue-mutation.js +5 -6
  307. package/dist-server/service/issue/issue-mutation.js.map +1 -1
  308. package/dist-server/service/issue/issue-query.d.ts +2 -2
  309. package/dist-server/service/issue/issue-query.js +5 -11
  310. package/dist-server/service/issue/issue-query.js.map +1 -1
  311. package/dist-server/service/project-checklist/index.d.ts +5 -0
  312. package/dist-server/service/project-checklist/index.js +9 -0
  313. package/dist-server/service/project-checklist/index.js.map +1 -0
  314. package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +7 -0
  315. package/dist-server/service/project-checklist/project-checklist-mutation.js +118 -0
  316. package/dist-server/service/project-checklist/project-checklist-mutation.js.map +1 -0
  317. package/dist-server/service/project-checklist/project-checklist-query.d.ts +12 -0
  318. package/dist-server/service/project-checklist/project-checklist-query.js +76 -0
  319. package/dist-server/service/project-checklist/project-checklist-query.js.map +1 -0
  320. package/dist-server/service/project-checklist/project-checklist-type.d.ts +18 -0
  321. package/dist-server/service/project-checklist/project-checklist-type.js +69 -0
  322. package/dist-server/service/project-checklist/project-checklist-type.js.map +1 -0
  323. package/dist-server/service/project-checklist/project-checklist.d.ts +20 -0
  324. package/dist-server/service/project-checklist/project-checklist.js +90 -0
  325. package/dist-server/service/project-checklist/project-checklist.js.map +1 -0
  326. package/dist-server/service/project-checklist/spec-matching-service.d.ts +17 -0
  327. package/dist-server/service/project-checklist/spec-matching-service.js +91 -0
  328. package/dist-server/service/project-checklist/spec-matching-service.js.map +1 -0
  329. package/dist-server/service/project-checklist-item/index.d.ts +4 -0
  330. package/dist-server/service/project-checklist-item/index.js +9 -0
  331. package/dist-server/service/project-checklist-item/index.js.map +1 -0
  332. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +2 -0
  333. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +13 -0
  334. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +1 -0
  335. package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +5 -0
  336. package/dist-server/service/project-checklist-item/project-checklist-item-query.js +34 -0
  337. package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +1 -0
  338. package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +5 -0
  339. package/dist-server/service/project-checklist-item/project-checklist-item-type.js +21 -0
  340. package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +1 -0
  341. package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +19 -0
  342. package/dist-server/service/project-checklist-item/project-checklist-item.js +92 -0
  343. package/dist-server/service/project-checklist-item/project-checklist-item.js.map +1 -0
  344. package/dist-server/service/project-report/project-report-mutation.js +5 -6
  345. package/dist-server/service/project-report/project-report-mutation.js.map +1 -1
  346. package/dist-server/service/project-report/project-report-query.d.ts +2 -2
  347. package/dist-server/service/project-report/project-report-query.js +5 -11
  348. package/dist-server/service/project-report/project-report-query.js.map +1 -1
  349. package/dist-server/service/project-report/project-report.d.ts +0 -2
  350. package/dist-server/service/project-report/project-report.js +0 -6
  351. package/dist-server/service/project-report/project-report.js.map +1 -1
  352. package/dist-server/service/supervisor/supervisor-mutation.js +5 -6
  353. package/dist-server/service/supervisor/supervisor-mutation.js.map +1 -1
  354. package/dist-server/service/supervisor/supervisor-query.d.ts +2 -2
  355. package/dist-server/service/supervisor/supervisor-query.js +5 -11
  356. package/dist-server/service/supervisor/supervisor-query.js.map +1 -1
  357. package/dist-server/tsconfig.tsbuildinfo +1 -1
  358. package/package.json +14 -13
  359. package/things-factory.config.js +9 -1
  360. package/dist-server/service/building-inspection/building-inspection-history.d.ts +0 -17
  361. package/dist-server/service/building-inspection/building-inspection-history.js +0 -86
  362. package/dist-server/service/building-inspection/building-inspection-history.js.map +0 -1
  363. package/dist-server/service/checklist/checklist-history.js.map +0 -1
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectChecklistMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const project_checklist_1 = require("./project-checklist");
8
+ const project_checklist_type_1 = require("./project-checklist-type");
9
+ const project_checklist_item_1 = require("../project-checklist-item/project-checklist-item");
10
+ const spec_matching_service_1 = require("./spec-matching-service");
11
+ let ProjectChecklistMutation = class ProjectChecklistMutation {
12
+ async createProjectChecklist(projectId, constructionTypeId, constructionDetailTypeId, name, items, siteSpecPdfUrl, context) {
13
+ const { domain, user, tx } = context.state;
14
+ const checklistRepo = tx.getRepository(project_checklist_1.ProjectChecklist);
15
+ const itemRepo = tx.getRepository(project_checklist_item_1.ProjectChecklistItem);
16
+ const checklist = await checklistRepo.save({
17
+ domain,
18
+ projectId,
19
+ constructionTypeId,
20
+ constructionDetailTypeId,
21
+ name,
22
+ creator: user,
23
+ updater: user
24
+ });
25
+ const savedItems = [];
26
+ for (let i = 0; i < items.length; i++) {
27
+ const item = items[i];
28
+ const saved = await itemRepo.save({
29
+ projectChecklist: checklist,
30
+ mainType: item.mainType || null,
31
+ name: item.name,
32
+ sequence: i,
33
+ creator: user,
34
+ updater: user
35
+ });
36
+ savedItems.push(saved);
37
+ }
38
+ // ๊ฒ€์‚ฌํ•ญ๋ชฉ๋ณ„ KCS ํ‘œ์ค€ / ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€ ๋งค์นญ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(๋น„๋™๊ธฐ)๋กœ ํŠธ๋ฆฌ๊ฑฐ
39
+ (0, spec_matching_service_1.queueUpdateProjectChecklistCriteria)(savedItems.map(v => v.id), siteSpecPdfUrl);
40
+ return checklist;
41
+ }
42
+ async updateProjectChecklist(id, name, items, siteSpecPdfUrl, context) {
43
+ const { user, tx } = context.state;
44
+ const checklistRepo = tx.getRepository(project_checklist_1.ProjectChecklist);
45
+ const itemRepo = tx.getRepository(project_checklist_item_1.ProjectChecklistItem);
46
+ const checklist = await checklistRepo.findOneBy({ id });
47
+ // ์ด๋ฆ„ ์ˆ˜์ •
48
+ checklist.name = name;
49
+ checklist.updater = user;
50
+ await checklistRepo.save(checklist);
51
+ // ๊ธฐ์กด ์•„์ดํ…œ ์‚ญ์ œ ํ›„ ์žฌ์‚ฝ์ž…
52
+ await itemRepo.delete({ projectChecklist: { id } });
53
+ const savedItems = [];
54
+ for (let i = 0; i < items.length; i++) {
55
+ const item = items[i];
56
+ const saved = await itemRepo.save({
57
+ projectChecklist: checklist,
58
+ mainType: item.mainType || null,
59
+ name: item.name,
60
+ sequence: i,
61
+ creator: user,
62
+ updater: user
63
+ });
64
+ savedItems.push(saved);
65
+ }
66
+ // ๊ฒ€์‚ฌํ•ญ๋ชฉ๋ณ„ KCS ํ‘œ์ค€ / ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€ ๋งค์นญ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(๋น„๋™๊ธฐ)๋กœ ํŠธ๋ฆฌ๊ฑฐ
67
+ (0, spec_matching_service_1.queueUpdateProjectChecklistCriteria)(savedItems.map(v => v.id), siteSpecPdfUrl);
68
+ return checklist;
69
+ }
70
+ async deleteProjectChecklists(ids, context) {
71
+ const { domain, tx } = context.state;
72
+ await tx.getRepository(project_checklist_1.ProjectChecklist).softDelete({
73
+ domain: { id: domain.id },
74
+ id: (0, typeorm_1.In)(ids)
75
+ });
76
+ return true;
77
+ }
78
+ };
79
+ exports.ProjectChecklistMutation = ProjectChecklistMutation;
80
+ tslib_1.__decorate([
81
+ (0, type_graphql_1.Directive)('@transaction'),
82
+ (0, type_graphql_1.Mutation)(returns => project_checklist_1.ProjectChecklist, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ' }),
83
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('projectId')),
84
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('constructionTypeId')),
85
+ tslib_1.__param(2, (0, type_graphql_1.Arg)('constructionDetailTypeId')),
86
+ tslib_1.__param(3, (0, type_graphql_1.Arg)('name')),
87
+ tslib_1.__param(4, (0, type_graphql_1.Arg)('items', type => [project_checklist_type_1.ProjectChecklistItemInput])),
88
+ tslib_1.__param(5, (0, type_graphql_1.Arg)('siteSpecPdfUrl', { nullable: true })),
89
+ tslib_1.__param(6, (0, type_graphql_1.Ctx)()),
90
+ tslib_1.__metadata("design:type", Function),
91
+ tslib_1.__metadata("design:paramtypes", [String, String, String, String, Array, String, Object]),
92
+ tslib_1.__metadata("design:returntype", Promise)
93
+ ], ProjectChecklistMutation.prototype, "createProjectChecklist", null);
94
+ tslib_1.__decorate([
95
+ (0, type_graphql_1.Directive)('@transaction'),
96
+ (0, type_graphql_1.Mutation)(returns => project_checklist_1.ProjectChecklist, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ˆ˜์ •' }),
97
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
98
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('name')),
99
+ tslib_1.__param(2, (0, type_graphql_1.Arg)('items', type => [project_checklist_type_1.ProjectChecklistItemInput])),
100
+ tslib_1.__param(3, (0, type_graphql_1.Arg)('siteSpecPdfUrl', { nullable: true })),
101
+ tslib_1.__param(4, (0, type_graphql_1.Ctx)()),
102
+ tslib_1.__metadata("design:type", Function),
103
+ tslib_1.__metadata("design:paramtypes", [String, String, Array, String, Object]),
104
+ tslib_1.__metadata("design:returntype", Promise)
105
+ ], ProjectChecklistMutation.prototype, "updateProjectChecklist", null);
106
+ tslib_1.__decorate([
107
+ (0, type_graphql_1.Directive)('@transaction'),
108
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์‚ญ์ œ' }),
109
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
110
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
111
+ tslib_1.__metadata("design:type", Function),
112
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
113
+ tslib_1.__metadata("design:returntype", Promise)
114
+ ], ProjectChecklistMutation.prototype, "deleteProjectChecklists", null);
115
+ exports.ProjectChecklistMutation = ProjectChecklistMutation = tslib_1.__decorate([
116
+ (0, type_graphql_1.Resolver)(project_checklist_1.ProjectChecklist)
117
+ ], ProjectChecklistMutation);
118
+ //# sourceMappingURL=project-checklist-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-checklist-mutation.js","sourceRoot":"","sources":["../../../server/service/project-checklist/project-checklist-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { ProjectChecklist } from './project-checklist'\nimport { ProjectChecklistItemInput } from './project-checklist-type'\nimport { ProjectChecklistItem } from '../project-checklist-item/project-checklist-item'\nimport { queueUpdateProjectChecklistCriteria } from './spec-matching-service'\n\n@Resolver(ProjectChecklist)\nexport class ProjectChecklistMutation {\n @Directive('@transaction')\n @Mutation(returns => ProjectChecklist, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ' })\n async createProjectChecklist(\n @Arg('projectId') projectId: string,\n @Arg('constructionTypeId') constructionTypeId: string,\n @Arg('constructionDetailTypeId') constructionDetailTypeId: string,\n @Arg('name') name: string,\n @Arg('items', type => [ProjectChecklistItemInput]) items: ProjectChecklistItemInput[],\n @Arg('siteSpecPdfUrl', { nullable: true }) siteSpecPdfUrl: string,\n @Ctx() context: ResolverContext\n ): Promise<ProjectChecklist> {\n const { domain, user, tx } = context.state\n\n const checklistRepo = tx.getRepository(ProjectChecklist)\n const itemRepo = tx.getRepository(ProjectChecklistItem)\n\n const checklist = await checklistRepo.save({\n domain,\n projectId,\n constructionTypeId,\n constructionDetailTypeId,\n name,\n creator: user,\n updater: user\n })\n\n const savedItems = []\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const saved = await itemRepo.save({\n projectChecklist: checklist,\n mainType: item.mainType || null,\n name: item.name,\n sequence: i,\n creator: user,\n updater: user\n })\n savedItems.push(saved)\n }\n\n // ๊ฒ€์‚ฌํ•ญ๋ชฉ๋ณ„ KCS ํ‘œ์ค€ / ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€ ๋งค์นญ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(๋น„๋™๊ธฐ)๋กœ ํŠธ๋ฆฌ๊ฑฐ\n queueUpdateProjectChecklistCriteria(savedItems.map(v => v.id), siteSpecPdfUrl)\n\n return checklist\n }\n\n @Directive('@transaction')\n @Mutation(returns => ProjectChecklist, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ˆ˜์ •' })\n async updateProjectChecklist(\n @Arg('id') id: string,\n @Arg('name') name: string,\n @Arg('items', type => [ProjectChecklistItemInput]) items: ProjectChecklistItemInput[],\n @Arg('siteSpecPdfUrl', { nullable: true }) siteSpecPdfUrl: string,\n @Ctx() context: ResolverContext\n ): Promise<ProjectChecklist> {\n const { user, tx } = context.state\n\n const checklistRepo = tx.getRepository(ProjectChecklist)\n const itemRepo = tx.getRepository(ProjectChecklistItem)\n\n const checklist = await checklistRepo.findOneBy({ id })\n\n // ์ด๋ฆ„ ์ˆ˜์ •\n checklist.name = name\n checklist.updater = user\n await checklistRepo.save(checklist)\n\n // ๊ธฐ์กด ์•„์ดํ…œ ์‚ญ์ œ ํ›„ ์žฌ์‚ฝ์ž…\n await itemRepo.delete({ projectChecklist: { id } })\n\n const savedItems = []\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const saved = await itemRepo.save({\n projectChecklist: checklist,\n mainType: item.mainType || null,\n name: item.name,\n sequence: i,\n creator: user,\n updater: user\n })\n savedItems.push(saved)\n }\n\n // ๊ฒ€์‚ฌํ•ญ๋ชฉ๋ณ„ KCS ํ‘œ์ค€ / ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€ ๋งค์นญ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(๋น„๋™๊ธฐ)๋กœ ํŠธ๋ฆฌ๊ฑฐ\n queueUpdateProjectChecklistCriteria(savedItems.map(v => v.id), siteSpecPdfUrl)\n\n return checklist\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์‚ญ์ œ' })\n async deleteProjectChecklists(\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(ProjectChecklist).softDelete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { Domain, ListParam } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { ProjectChecklist } from './project-checklist';
4
+ import { ProjectChecklistList } from './project-checklist-type';
5
+ import { ProjectChecklistItem } from '../project-checklist-item/project-checklist-item';
6
+ export declare class ProjectChecklistQuery {
7
+ projectChecklists(params: ListParam): Promise<ProjectChecklistList>;
8
+ domain(t: ProjectChecklist): Promise<Domain>;
9
+ updater(t: ProjectChecklist): Promise<User>;
10
+ creator(t: ProjectChecklist): Promise<User>;
11
+ projectChecklistItems(t: ProjectChecklist): Promise<ProjectChecklistItem[]>;
12
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectChecklistQuery = 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 project_checklist_1 = require("./project-checklist");
9
+ const project_checklist_type_1 = require("./project-checklist-type");
10
+ const project_checklist_item_1 = require("../project-checklist-item/project-checklist-item");
11
+ let ProjectChecklistQuery = class ProjectChecklistQuery {
12
+ async projectChecklists(params) {
13
+ const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
14
+ params,
15
+ repository: await (0, shell_1.getRepository)(project_checklist_1.ProjectChecklist),
16
+ searchables: ['name']
17
+ });
18
+ const [items, total] = await queryBuilder.getManyAndCount();
19
+ return { items, total };
20
+ }
21
+ async domain(t) {
22
+ return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: t.domainId });
23
+ }
24
+ async updater(t) {
25
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: t.updaterId });
26
+ }
27
+ async creator(t) {
28
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: t.creatorId });
29
+ }
30
+ async projectChecklistItems(t) {
31
+ return await (0, shell_1.getRepository)(project_checklist_item_1.ProjectChecklistItem).find({
32
+ where: { projectChecklist: { id: t.id } },
33
+ order: { sequence: 'ASC' }
34
+ });
35
+ }
36
+ };
37
+ exports.ProjectChecklistQuery = ProjectChecklistQuery;
38
+ tslib_1.__decorate([
39
+ (0, type_graphql_1.Query)(returns => project_checklist_type_1.ProjectChecklistList, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ๋ชฉ๋ก' }),
40
+ tslib_1.__param(0, (0, type_graphql_1.Args)()),
41
+ tslib_1.__metadata("design:type", Function),
42
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam]),
43
+ tslib_1.__metadata("design:returntype", Promise)
44
+ ], ProjectChecklistQuery.prototype, "projectChecklists", null);
45
+ tslib_1.__decorate([
46
+ (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
47
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
48
+ tslib_1.__metadata("design:type", Function),
49
+ tslib_1.__metadata("design:paramtypes", [project_checklist_1.ProjectChecklist]),
50
+ tslib_1.__metadata("design:returntype", Promise)
51
+ ], ProjectChecklistQuery.prototype, "domain", null);
52
+ tslib_1.__decorate([
53
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
54
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
55
+ tslib_1.__metadata("design:type", Function),
56
+ tslib_1.__metadata("design:paramtypes", [project_checklist_1.ProjectChecklist]),
57
+ tslib_1.__metadata("design:returntype", Promise)
58
+ ], ProjectChecklistQuery.prototype, "updater", null);
59
+ tslib_1.__decorate([
60
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
61
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
62
+ tslib_1.__metadata("design:type", Function),
63
+ tslib_1.__metadata("design:paramtypes", [project_checklist_1.ProjectChecklist]),
64
+ tslib_1.__metadata("design:returntype", Promise)
65
+ ], ProjectChecklistQuery.prototype, "creator", null);
66
+ tslib_1.__decorate([
67
+ (0, type_graphql_1.FieldResolver)(type => [project_checklist_item_1.ProjectChecklistItem]),
68
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
69
+ tslib_1.__metadata("design:type", Function),
70
+ tslib_1.__metadata("design:paramtypes", [project_checklist_1.ProjectChecklist]),
71
+ tslib_1.__metadata("design:returntype", Promise)
72
+ ], ProjectChecklistQuery.prototype, "projectChecklistItems", null);
73
+ exports.ProjectChecklistQuery = ProjectChecklistQuery = tslib_1.__decorate([
74
+ (0, type_graphql_1.Resolver)(project_checklist_1.ProjectChecklist)
75
+ ], ProjectChecklistQuery);
76
+ //# sourceMappingURL=project-checklist-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-checklist-query.js","sourceRoot":"","sources":["../../../server/service/project-checklist/project-checklist-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8E;AAC9E,iDAAuG;AACvG,yDAAgD;AAChD,2DAAsD;AACtD,qEAA+D;AAC/D,6FAAuF;AAGhF,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAE1B,AAAN,KAAK,CAAC,iBAAiB,CAAS,MAAiB;QAC/C,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,oCAAgB,CAAC;YACjD,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,MAAM,CAAS,CAAmB;QACtC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,CAAmB;QACvC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;IACjE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,CAAmB;QACvC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;IACjE,CAAC;IAGK,AAAN,KAAK,CAAC,qBAAqB,CAAS,CAAmB;QACrD,OAAO,MAAM,IAAA,qBAAa,EAAC,6CAAoB,CAAC,CAAC,IAAI,CAAC;YACpD,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE;YACzC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC3B,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AApCY,sDAAqB;AAE1B;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,6CAAoB,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAChD,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,iBAAS;;8DAUhD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAI,oCAAgB;;mDAEvC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAI,oCAAgB;;oDAExC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAI,oCAAgB;;oDAExC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6CAAoB,CAAC,CAAC;IACjB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAI,oCAAgB;;kEAKtD;gCAnCU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,oCAAgB,CAAC;GACd,qBAAqB,CAoCjC","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Ctx } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ProjectChecklist } from './project-checklist'\nimport { ProjectChecklistList } from './project-checklist-type'\nimport { ProjectChecklistItem } from '../project-checklist-item/project-checklist-item'\n\n@Resolver(ProjectChecklist)\nexport class ProjectChecklistQuery {\n @Query(returns => ProjectChecklistList, { description: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ๋ชฉ๋ก' })\n async projectChecklists(@Args() params: ListParam): Promise<ProjectChecklistList> {\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(ProjectChecklist),\n searchables: ['name']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() t: ProjectChecklist): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: t.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() t: ProjectChecklist): Promise<User> {\n return await getRepository(User).findOneBy({ id: t.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() t: ProjectChecklist): Promise<User> {\n return await getRepository(User).findOneBy({ id: t.creatorId })\n }\n\n @FieldResolver(type => [ProjectChecklistItem])\n async projectChecklistItems(@Root() t: ProjectChecklist): Promise<ProjectChecklistItem[]> {\n return await getRepository(ProjectChecklistItem).find({\n where: { projectChecklist: { id: t.id } },\n order: { sequence: 'ASC' }\n })\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { ProjectChecklist } from './project-checklist';
2
+ export declare class ProjectChecklistPatch {
3
+ id?: string;
4
+ projectId?: string;
5
+ constructionTypeId?: string;
6
+ constructionDetailTypeId?: string;
7
+ name?: string;
8
+ }
9
+ export declare class ProjectChecklistItemInput {
10
+ mainType?: string;
11
+ name: string;
12
+ inspctionCriteria?: string;
13
+ sequence?: number;
14
+ }
15
+ export declare class ProjectChecklistList {
16
+ items: ProjectChecklist[];
17
+ total: number;
18
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectChecklistList = exports.ProjectChecklistItemInput = exports.ProjectChecklistPatch = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const project_checklist_1 = require("./project-checklist");
7
+ let ProjectChecklistPatch = class ProjectChecklistPatch {
8
+ };
9
+ exports.ProjectChecklistPatch = ProjectChecklistPatch;
10
+ tslib_1.__decorate([
11
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
12
+ tslib_1.__metadata("design:type", String)
13
+ ], ProjectChecklistPatch.prototype, "id", void 0);
14
+ tslib_1.__decorate([
15
+ (0, type_graphql_1.Field)({ nullable: true }),
16
+ tslib_1.__metadata("design:type", String)
17
+ ], ProjectChecklistPatch.prototype, "projectId", void 0);
18
+ tslib_1.__decorate([
19
+ (0, type_graphql_1.Field)({ nullable: true }),
20
+ tslib_1.__metadata("design:type", String)
21
+ ], ProjectChecklistPatch.prototype, "constructionTypeId", void 0);
22
+ tslib_1.__decorate([
23
+ (0, type_graphql_1.Field)({ nullable: true }),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], ProjectChecklistPatch.prototype, "constructionDetailTypeId", void 0);
26
+ tslib_1.__decorate([
27
+ (0, type_graphql_1.Field)({ nullable: true }),
28
+ tslib_1.__metadata("design:type", String)
29
+ ], ProjectChecklistPatch.prototype, "name", void 0);
30
+ exports.ProjectChecklistPatch = ProjectChecklistPatch = tslib_1.__decorate([
31
+ (0, type_graphql_1.InputType)()
32
+ ], ProjectChecklistPatch);
33
+ let ProjectChecklistItemInput = class ProjectChecklistItemInput {
34
+ };
35
+ exports.ProjectChecklistItemInput = ProjectChecklistItemInput;
36
+ tslib_1.__decorate([
37
+ (0, type_graphql_1.Field)({ nullable: true }),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], ProjectChecklistItemInput.prototype, "mainType", void 0);
40
+ tslib_1.__decorate([
41
+ (0, type_graphql_1.Field)(),
42
+ tslib_1.__metadata("design:type", String)
43
+ ], ProjectChecklistItemInput.prototype, "name", void 0);
44
+ tslib_1.__decorate([
45
+ (0, type_graphql_1.Field)({ nullable: true }),
46
+ tslib_1.__metadata("design:type", String)
47
+ ], ProjectChecklistItemInput.prototype, "inspctionCriteria", void 0);
48
+ tslib_1.__decorate([
49
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
50
+ tslib_1.__metadata("design:type", Number)
51
+ ], ProjectChecklistItemInput.prototype, "sequence", void 0);
52
+ exports.ProjectChecklistItemInput = ProjectChecklistItemInput = tslib_1.__decorate([
53
+ (0, type_graphql_1.InputType)()
54
+ ], ProjectChecklistItemInput);
55
+ let ProjectChecklistList = class ProjectChecklistList {
56
+ };
57
+ exports.ProjectChecklistList = ProjectChecklistList;
58
+ tslib_1.__decorate([
59
+ (0, type_graphql_1.Field)(type => [project_checklist_1.ProjectChecklist]),
60
+ tslib_1.__metadata("design:type", Array)
61
+ ], ProjectChecklistList.prototype, "items", void 0);
62
+ tslib_1.__decorate([
63
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int),
64
+ tslib_1.__metadata("design:type", Number)
65
+ ], ProjectChecklistList.prototype, "total", void 0);
66
+ exports.ProjectChecklistList = ProjectChecklistList = tslib_1.__decorate([
67
+ (0, type_graphql_1.ObjectType)()
68
+ ], ProjectChecklistList);
69
+ //# sourceMappingURL=project-checklist-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-checklist-type.js","sourceRoot":"","sources":["../../../server/service/project-checklist/project-checklist-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,2DAAsD;AAG/C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAejC,CAAA;AAfY,sDAAqB;AAEhC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACR;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACC;AAG3B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uEACO;AAGjC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACb;gCAdF,qBAAqB;IADjC,IAAA,wBAAS,GAAE;GACC,qBAAqB,CAejC;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAYrC,CAAA;AAZY,8DAAyB;AAEpC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACT;AAGjB;IADC,IAAA,oBAAK,GAAE;;uDACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oEACA;AAG1B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACtB;oCAXN,yBAAyB;IADrC,IAAA,wBAAS,GAAE;GACC,yBAAyB,CAYrC;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAMhC,CAAA;AANY,oDAAoB;AAE/B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oCAAgB,CAAC,CAAC;;mDACT;AAGzB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;mDACN;+BALF,oBAAoB;IADhC,IAAA,yBAAU,GAAE;GACA,oBAAoB,CAMhC","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ProjectChecklist } from './project-checklist'\n\n@InputType()\nexport class ProjectChecklistPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n projectId?: string\n\n @Field({ nullable: true })\n constructionTypeId?: string\n\n @Field({ nullable: true })\n constructionDetailTypeId?: string\n\n @Field({ nullable: true })\n name?: string\n}\n\n@InputType()\nexport class ProjectChecklistItemInput {\n @Field({ nullable: true })\n mainType?: string\n\n @Field()\n name: string\n\n @Field({ nullable: true })\n inspctionCriteria?: string\n\n @Field(type => Int, { nullable: true })\n sequence?: number\n}\n\n@ObjectType()\nexport class ProjectChecklistList {\n @Field(type => [ProjectChecklist])\n items: ProjectChecklist[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { ProjectChecklistItem } from '../project-checklist-item/project-checklist-item';
4
+ export declare class ProjectChecklist {
5
+ readonly id: string;
6
+ domain?: Domain;
7
+ domainId?: string;
8
+ projectId: string;
9
+ constructionTypeId: string;
10
+ constructionDetailTypeId: string;
11
+ name: string;
12
+ projectChecklistItems?: ProjectChecklistItem[];
13
+ createdAt?: Date;
14
+ updatedAt?: Date;
15
+ deletedAt?: Date;
16
+ creator?: User;
17
+ creatorId?: string;
18
+ updater?: User;
19
+ updaterId?: string;
20
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectChecklist = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const auth_base_1 = require("@things-factory/auth-base");
9
+ const project_checklist_item_1 = require("../project-checklist-item/project-checklist-item");
10
+ let ProjectChecklist = class ProjectChecklist {
11
+ };
12
+ exports.ProjectChecklist = ProjectChecklist;
13
+ tslib_1.__decorate([
14
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
15
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
16
+ tslib_1.__metadata("design:type", String)
17
+ ], ProjectChecklist.prototype, "id", void 0);
18
+ tslib_1.__decorate([
19
+ (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
20
+ (0, type_graphql_1.Field)({ nullable: true }),
21
+ tslib_1.__metadata("design:type", shell_1.Domain)
22
+ ], ProjectChecklist.prototype, "domain", void 0);
23
+ tslib_1.__decorate([
24
+ (0, typeorm_1.RelationId)((t) => t.domain),
25
+ tslib_1.__metadata("design:type", String)
26
+ ], ProjectChecklist.prototype, "domainId", void 0);
27
+ tslib_1.__decorate([
28
+ (0, typeorm_1.Column)({ nullable: false, comment: 'ํ”„๋กœ์ ํŠธ ID' }),
29
+ (0, type_graphql_1.Field)({ nullable: false }),
30
+ tslib_1.__metadata("design:type", String)
31
+ ], ProjectChecklist.prototype, "projectId", void 0);
32
+ tslib_1.__decorate([
33
+ (0, typeorm_1.Column)({ nullable: false, comment: '๊ณต์ข… ID (construction_types FK)' }),
34
+ (0, type_graphql_1.Field)({ nullable: false }),
35
+ tslib_1.__metadata("design:type", String)
36
+ ], ProjectChecklist.prototype, "constructionTypeId", void 0);
37
+ tslib_1.__decorate([
38
+ (0, typeorm_1.Column)({ nullable: false, comment: '์„ธ๋ถ€๊ณต์ข… ID (construction_detail_types FK)' }),
39
+ (0, type_graphql_1.Field)({ nullable: false }),
40
+ tslib_1.__metadata("design:type", String)
41
+ ], ProjectChecklist.prototype, "constructionDetailTypeId", void 0);
42
+ tslib_1.__decorate([
43
+ (0, typeorm_1.Column)({ nullable: false, comment: '์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ด๋ฆ„' }),
44
+ (0, type_graphql_1.Field)({ nullable: false }),
45
+ tslib_1.__metadata("design:type", String)
46
+ ], ProjectChecklist.prototype, "name", void 0);
47
+ tslib_1.__decorate([
48
+ (0, type_graphql_1.Field)(() => [project_checklist_item_1.ProjectChecklistItem], { nullable: true }),
49
+ (0, typeorm_1.OneToMany)(() => project_checklist_item_1.ProjectChecklistItem, item => item.projectChecklist),
50
+ tslib_1.__metadata("design:type", Array)
51
+ ], ProjectChecklist.prototype, "projectChecklistItems", void 0);
52
+ tslib_1.__decorate([
53
+ (0, typeorm_1.CreateDateColumn)(),
54
+ (0, type_graphql_1.Field)({ nullable: true }),
55
+ tslib_1.__metadata("design:type", Date)
56
+ ], ProjectChecklist.prototype, "createdAt", void 0);
57
+ tslib_1.__decorate([
58
+ (0, typeorm_1.UpdateDateColumn)(),
59
+ (0, type_graphql_1.Field)({ nullable: true }),
60
+ tslib_1.__metadata("design:type", Date)
61
+ ], ProjectChecklist.prototype, "updatedAt", void 0);
62
+ tslib_1.__decorate([
63
+ (0, typeorm_1.DeleteDateColumn)(),
64
+ (0, type_graphql_1.Field)({ nullable: true }),
65
+ tslib_1.__metadata("design:type", Date)
66
+ ], ProjectChecklist.prototype, "deletedAt", void 0);
67
+ tslib_1.__decorate([
68
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
69
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
70
+ tslib_1.__metadata("design:type", auth_base_1.User)
71
+ ], ProjectChecklist.prototype, "creator", void 0);
72
+ tslib_1.__decorate([
73
+ (0, typeorm_1.RelationId)((t) => t.creator),
74
+ tslib_1.__metadata("design:type", String)
75
+ ], ProjectChecklist.prototype, "creatorId", void 0);
76
+ tslib_1.__decorate([
77
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
78
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
79
+ tslib_1.__metadata("design:type", auth_base_1.User)
80
+ ], ProjectChecklist.prototype, "updater", void 0);
81
+ tslib_1.__decorate([
82
+ (0, typeorm_1.RelationId)((t) => t.updater),
83
+ tslib_1.__metadata("design:type", String)
84
+ ], ProjectChecklist.prototype, "updaterId", void 0);
85
+ exports.ProjectChecklist = ProjectChecklist = tslib_1.__decorate([
86
+ (0, typeorm_1.Entity)({ comment: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ' }),
87
+ (0, typeorm_1.Index)('ix_project_checklist_0', (t) => [t.domain, t.projectId, t.name], { unique: true, where: '"deleted_at" IS NULL' }),
88
+ (0, type_graphql_1.ObjectType)()
89
+ ], ProjectChecklist);
90
+ //# sourceMappingURL=project-checklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-checklist.js","sourceRoot":"","sources":["../../../server/service/project-checklist/project-checklist.ts"],"names":[],"mappings":";;;;AAAA,qCAWgB;AAChB,+CAAoD;AAEpD,iDAA8C;AAC9C,yDAAgD;AAChD,6FAAuF;AAShF,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAyD5B,CAAA;AAzDY,4CAAgB;AAGlB;IAFR,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;4CACC;AAInB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,cAAM;gDAAA;AAGf;IADC,IAAA,oBAAU,EAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;;kDAC7B;AAIjB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC/C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mDACV;AAIjB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACrE,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;4DACD;AAI1B;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;IAC9E,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;kEACK;AAIhC;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAChD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACf;AAIZ;IAFC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,CAAC,6CAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6CAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;;+DACvB;AAI9C;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;mDAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;mDAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;mDAAA;AAIhB;IAFC,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;iDAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;;mDAC7B;AAIlB;IAFC,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;iDAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;;mDAC7B;2BAxDP,gBAAgB;IAP5B,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,IAAA,eAAK,EACJ,wBAAwB,EACxB,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EACxD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAChD;IACA,IAAA,yBAAU,GAAE;GACA,gBAAgB,CAyD5B","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Field, ID } from 'type-graphql'\n\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ProjectChecklistItem } from '../project-checklist-item/project-checklist-item'\n\n@Entity({ comment: 'ํ”„๋กœ์ ํŠธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ' })\n@Index(\n 'ix_project_checklist_0',\n (t: ProjectChecklist) => [t.domain, t.projectId, t.name],\n { unique: true, where: '\"deleted_at\" IS NULL' }\n)\n@ObjectType()\nexport class ProjectChecklist {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((t: ProjectChecklist) => t.domain)\n domainId?: string\n\n @Column({ nullable: false, comment: 'ํ”„๋กœ์ ํŠธ ID' })\n @Field({ nullable: false })\n projectId: string\n\n @Column({ nullable: false, comment: '๊ณต์ข… ID (construction_types FK)' })\n @Field({ nullable: false })\n constructionTypeId: string\n\n @Column({ nullable: false, comment: '์„ธ๋ถ€๊ณต์ข… ID (construction_detail_types FK)' })\n @Field({ nullable: false })\n constructionDetailTypeId: string\n\n @Column({ nullable: false, comment: '์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ด๋ฆ„' })\n @Field({ nullable: false })\n name: string\n\n @Field(() => [ProjectChecklistItem], { nullable: true })\n @OneToMany(() => ProjectChecklistItem, item => item.projectChecklist)\n projectChecklistItems?: ProjectChecklistItem[]\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((t: ProjectChecklist) => t.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((t: ProjectChecklist) => t.updater)\n updaterId?: string\n}\n"]}
@@ -0,0 +1,17 @@
1
+ export interface MatchedCriteria {
2
+ kcsCriteria: string | null;
3
+ siteSpecCriteria: string | null;
4
+ }
5
+ /**
6
+ * ๊ฒ€์‚ฌํ•ญ๋ชฉ(query) 1๊ฑด์— ๋Œ€ํ•ด KCS ํ‘œ์ค€ ๊ธฐ์ค€๊ณผ ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€์„ ๋งค์นญ API๋กœ ์กฐํšŒํ•œ๋‹ค.
7
+ * - KCS ํ‘œ์ค€์€ API ์„œ๋ฒ„์— ํŒŒ์ผ(kcs.csv)์ด ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค.
8
+ * - ํ˜„์žฅ ์‹œ๋ฐฉ์„œ๋Š” ์—…๋กœ๋“œํ•œ PDF URL(siteSpecPdfUrl)์„ ๋„˜๊ธธ ๋•Œ๋งŒ ๋งค์นญ๋œ๋‹ค.
9
+ * - ์ฒจ๋ถ€ํŒŒ์ผ์ด ์—†์œผ๋ฉด site_spec_pdf_url ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ƒ๋žตํ•œ๋‹ค.
10
+ */
11
+ export declare function matchInspectionCriteria(query: string, siteSpecPdfUrl?: string): Promise<MatchedCriteria>;
12
+ /**
13
+ * ๊ฒ€์‚ฌํ•ญ๋ชฉ ID ๋ชฉ๋ก์— ๋Œ€ํ•ด KCS/ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€์„ ๋งค์นญํ•˜์—ฌ ์ €์žฅํ•œ๋‹ค.
14
+ * (ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ํ›„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ „์—ญ repository ์‚ฌ์šฉ)
15
+ */
16
+ export declare function updateProjectChecklistCriteria(itemIds: string[], siteSpecPdfUrl?: string): Promise<void>;
17
+ export declare function queueUpdateProjectChecklistCriteria(itemIds: string[], siteSpecPdfUrl?: string): void;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchInspectionCriteria = matchInspectionCriteria;
4
+ exports.updateProjectChecklistCriteria = updateProjectChecklistCriteria;
5
+ exports.queueUpdateProjectChecklistCriteria = queueUpdateProjectChecklistCriteria;
6
+ const shell_1 = require("@things-factory/shell");
7
+ const project_checklist_item_1 = require("../project-checklist-item/project-checklist-item");
8
+ const SPEC_MATCHING_API_URL = 'https://hatiolab-korea-uni.ettisoft.com/api/run/spec-matching';
9
+ const API_USERNAME = 'admin';
10
+ const API_PASSWORD = 'admin1234';
11
+ // ์กฐํ•ญ ๋ฒˆํ˜ธ ๋งˆ์ปค (1) (2) ... ์•ž์—์„œ ์ค„๋ฐ”๊ฟˆ
12
+ function formatClauses(text) {
13
+ return (text || '').replace(/\s*(?=\(\d+\))/g, '\n').trim();
14
+ }
15
+ /**
16
+ * ๊ฒ€์‚ฌํ•ญ๋ชฉ(query) 1๊ฑด์— ๋Œ€ํ•ด KCS ํ‘œ์ค€ ๊ธฐ์ค€๊ณผ ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€์„ ๋งค์นญ API๋กœ ์กฐํšŒํ•œ๋‹ค.
17
+ * - KCS ํ‘œ์ค€์€ API ์„œ๋ฒ„์— ํŒŒ์ผ(kcs.csv)์ด ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค.
18
+ * - ํ˜„์žฅ ์‹œ๋ฐฉ์„œ๋Š” ์—…๋กœ๋“œํ•œ PDF URL(siteSpecPdfUrl)์„ ๋„˜๊ธธ ๋•Œ๋งŒ ๋งค์นญ๋œ๋‹ค.
19
+ * - ์ฒจ๋ถ€ํŒŒ์ผ์ด ์—†์œผ๋ฉด site_spec_pdf_url ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ƒ๋žตํ•œ๋‹ค.
20
+ */
21
+ async function matchInspectionCriteria(query, siteSpecPdfUrl) {
22
+ var _a, _b, _c;
23
+ // operato-runner /api/run/{module} ์€ multipart ํผํ•„๋“œ 'input'(JSON ๋ฌธ์ž์—ด)์œผ๋กœ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค
24
+ const params = { query, top_k: 1 };
25
+ // ์ฒจ๋ถ€ํŒŒ์ผ(ํ˜„์žฅ ์‹œ๋ฐฉ์„œ PDF)์ด ์—†์œผ๋ฉด site_spec_pdf_url ์€ ์ƒ๋žต
26
+ if (siteSpecPdfUrl) {
27
+ params.site_spec_pdf_url = siteSpecPdfUrl;
28
+ }
29
+ const form = new FormData();
30
+ form.append('input', JSON.stringify(params));
31
+ // Content-Type์€ FormData๊ฐ€ boundary์™€ ํ•จ๊ป˜ ์ž๋™ ์„ค์ •ํ•˜๋ฏ€๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์Œ
32
+ const headers = {
33
+ Authorization: `Basic ${Buffer.from(`${API_USERNAME}:${API_PASSWORD}`).toString('base64')}`
34
+ };
35
+ try {
36
+ const response = await fetch(SPEC_MATCHING_API_URL, {
37
+ method: 'POST',
38
+ headers,
39
+ body: form
40
+ });
41
+ const outer = await (response === null || response === void 0 ? void 0 : response.json());
42
+ console.log('data :', outer);
43
+ // runner ์‘๋‹ต: { result: <๋ชจ๋“ˆ main() ๋ฐ˜ํ™˜>, exit_code, ... }, ๋ชจ๋“ˆ ๋ฐ˜ํ™˜: { status, result: {...} }
44
+ const moduleReturn = outer === null || outer === void 0 ? void 0 : outer.result;
45
+ if ((moduleReturn === null || moduleReturn === void 0 ? void 0 : moduleReturn.status) === 'success') {
46
+ const result = moduleReturn.result || {};
47
+ const kcsMatch = ((_a = result.kcs_matches) === null || _a === void 0 ? void 0 : _a[0]) || null;
48
+ // ์กฐํ•ญ ๋ฒˆํ˜ธ ๋งˆ์ปค (1) (2) ... ์•ž์—์„œ ์ค„๋ฐ”๊ฟˆ (์ €์žฅ ์‹œ 1ํšŒ ํŒŒ์‹ฑ)
49
+ if (kcsMatch === null || kcsMatch === void 0 ? void 0 : kcsMatch.text)
50
+ kcsMatch.text = formatClauses(kcsMatch.text);
51
+ return {
52
+ kcsCriteria: kcsMatch ? JSON.stringify(kcsMatch) : null,
53
+ siteSpecCriteria: formatClauses((_c = (_b = result.site_spec_matches) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.text) || null
54
+ };
55
+ }
56
+ }
57
+ catch (error) {
58
+ console.error('spec-matching API ํ˜ธ์ถœ ์‹คํŒจ:', error);
59
+ }
60
+ return { kcsCriteria: null, siteSpecCriteria: null };
61
+ }
62
+ /**
63
+ * ๊ฒ€์‚ฌํ•ญ๋ชฉ ID ๋ชฉ๋ก์— ๋Œ€ํ•ด KCS/ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€์„ ๋งค์นญํ•˜์—ฌ ์ €์žฅํ•œ๋‹ค.
64
+ * (ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ํ›„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ „์—ญ repository ์‚ฌ์šฉ)
65
+ */
66
+ async function updateProjectChecklistCriteria(itemIds, siteSpecPdfUrl) {
67
+ const repository = (0, shell_1.getRepository)(project_checklist_item_1.ProjectChecklistItem);
68
+ for (const id of itemIds) {
69
+ try {
70
+ const item = await repository.findOneBy({ id });
71
+ if (!item)
72
+ continue;
73
+ const { kcsCriteria, siteSpecCriteria } = await matchInspectionCriteria(item.name, siteSpecPdfUrl);
74
+ await repository.update({ id }, { kcsCriteria, siteSpecCriteria });
75
+ }
76
+ catch (error) {
77
+ console.error('project-checklist ๊ฒ€์‚ฌ ๊ธฐ์ค€ ๋งค์นญ ์‹คํŒจ:', error);
78
+ }
79
+ }
80
+ }
81
+ // ๊ฒ€์‚ฌ ๊ธฐ์ค€ ๋งค์นญ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(๋น„๋™๊ธฐ)๋กœ ํŠธ๋ฆฌ๊ฑฐ โ€” ์ €์žฅ ์‘๋‹ต์„ ๋ง‰์ง€ ์•Š๋Š”๋‹ค.
82
+ function queueUpdateProjectChecklistCriteria(itemIds, siteSpecPdfUrl) {
83
+ if (!itemIds || itemIds.length === 0)
84
+ return;
85
+ setTimeout(() => {
86
+ updateProjectChecklistCriteria(itemIds, siteSpecPdfUrl).catch(err => {
87
+ console.error('Background spec-matching update failed (project-checklist):', err);
88
+ });
89
+ }, 0);
90
+ }
91
+ //# sourceMappingURL=spec-matching-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-matching-service.js","sourceRoot":"","sources":["../../../server/service/project-checklist/spec-matching-service.ts"],"names":[],"mappings":";;AAyBA,0DA4CC;AAMD,wEAaC;AAGD,kFAQC;AAnGD,iDAAqD;AACrD,6FAAuF;AAEvF,MAAM,qBAAqB,GAAW,+DAA+D,CAAA;AACrG,MAAM,YAAY,GAAW,OAAO,CAAA;AACpC,MAAM,YAAY,GAAW,WAAW,CAAA;AAExC,+BAA+B;AAC/B,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;AAC7D,CAAC;AASD;;;;;GAKG;AACI,KAAK,UAAU,uBAAuB,CAAC,KAAa,EAAE,cAAuB;;IAClF,+EAA+E;IAC/E,MAAM,MAAM,GAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IACvC,+CAA+C;IAC/C,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,iBAAiB,GAAG,cAAc,CAAA;IAC3C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAE5C,wDAAwD;IACxD,MAAM,OAAO,GAAQ;QACnB,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;KAC5F,CAAA;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qBAAqB,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,CAAA;QAEpC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5B,0FAA0F;QAC1F,MAAM,YAAY,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;QAClC,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAA;YACxC,MAAM,QAAQ,GAAG,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAG,CAAC,CAAC,KAAI,IAAI,CAAA;YAChD,4CAA4C;YAC5C,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAEhE,OAAO;gBACL,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;gBACvD,gBAAgB,EAAE,aAAa,CAAC,MAAA,MAAA,MAAM,CAAC,iBAAiB,0CAAG,CAAC,CAAC,0CAAE,IAAI,CAAC,IAAI,IAAI;aAC7E,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;AACtD,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,8BAA8B,CAAC,OAAiB,EAAE,cAAuB;IAC7F,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,6CAAoB,CAAC,CAAA;IAEtD,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;YAClG,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,SAAgB,mCAAmC,CAAC,OAAiB,EAAE,cAAuB;IAC5F,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE5C,UAAU,CAAC,GAAG,EAAE;QACd,8BAA8B,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAClE,OAAO,CAAC,KAAK,CAAC,6DAA6D,EAAE,GAAG,CAAC,CAAA;QACnF,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { ProjectChecklistItem } from '../project-checklist-item/project-checklist-item'\n\nconst SPEC_MATCHING_API_URL: string = 'https://hatiolab-korea-uni.ettisoft.com/api/run/spec-matching'\nconst API_USERNAME: string = 'admin'\nconst API_PASSWORD: string = 'admin1234'\n\n// ์กฐํ•ญ ๋ฒˆํ˜ธ ๋งˆ์ปค (1) (2) ... ์•ž์—์„œ ์ค„๋ฐ”๊ฟˆ\nfunction formatClauses(text?: string): string {\n return (text || '').replace(/\\s*(?=\\(\\d+\\))/g, '\\n').trim()\n}\n\nexport interface MatchedCriteria {\n // KCS ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€: kcs_matches[0] ์˜ค๋ธŒ์ ํŠธ ์ „์ฒด๋ฅผ JSON ๋ฌธ์ž์—ด๋กœ ์ €์žฅ (file_label ๋“ฑ ํฌํ•จ)\n kcsCriteria: string | null\n // ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€: site_spec_matches[0].text\n siteSpecCriteria: string | null\n}\n\n/**\n * ๊ฒ€์‚ฌํ•ญ๋ชฉ(query) 1๊ฑด์— ๋Œ€ํ•ด KCS ํ‘œ์ค€ ๊ธฐ์ค€๊ณผ ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€์„ ๋งค์นญ API๋กœ ์กฐํšŒํ•œ๋‹ค.\n * - KCS ํ‘œ์ค€์€ API ์„œ๋ฒ„์— ํŒŒ์ผ(kcs.csv)์ด ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค.\n * - ํ˜„์žฅ ์‹œ๋ฐฉ์„œ๋Š” ์—…๋กœ๋“œํ•œ PDF URL(siteSpecPdfUrl)์„ ๋„˜๊ธธ ๋•Œ๋งŒ ๋งค์นญ๋œ๋‹ค.\n * - ์ฒจ๋ถ€ํŒŒ์ผ์ด ์—†์œผ๋ฉด site_spec_pdf_url ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ƒ๋žตํ•œ๋‹ค.\n */\nexport async function matchInspectionCriteria(query: string, siteSpecPdfUrl?: string): Promise<MatchedCriteria> {\n // operato-runner /api/run/{module} ์€ multipart ํผํ•„๋“œ 'input'(JSON ๋ฌธ์ž์—ด)์œผ๋กœ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค\n const params: any = { query, top_k: 1 }\n // ์ฒจ๋ถ€ํŒŒ์ผ(ํ˜„์žฅ ์‹œ๋ฐฉ์„œ PDF)์ด ์—†์œผ๋ฉด site_spec_pdf_url ์€ ์ƒ๋žต\n if (siteSpecPdfUrl) {\n params.site_spec_pdf_url = siteSpecPdfUrl\n }\n\n const form = new FormData()\n form.append('input', JSON.stringify(params))\n\n // Content-Type์€ FormData๊ฐ€ boundary์™€ ํ•จ๊ป˜ ์ž๋™ ์„ค์ •ํ•˜๋ฏ€๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์Œ\n const headers: any = {\n Authorization: `Basic ${Buffer.from(`${API_USERNAME}:${API_PASSWORD}`).toString('base64')}`\n }\n\n try {\n const response = await fetch(SPEC_MATCHING_API_URL, {\n method: 'POST',\n headers,\n body: form\n })\n\n const outer = await response?.json()\n\n console.log('data :', outer)\n // runner ์‘๋‹ต: { result: <๋ชจ๋“ˆ main() ๋ฐ˜ํ™˜>, exit_code, ... }, ๋ชจ๋“ˆ ๋ฐ˜ํ™˜: { status, result: {...} }\n const moduleReturn = outer?.result\n if (moduleReturn?.status === 'success') {\n const result = moduleReturn.result || {}\n const kcsMatch = result.kcs_matches?.[0] || null\n // ์กฐํ•ญ ๋ฒˆํ˜ธ ๋งˆ์ปค (1) (2) ... ์•ž์—์„œ ์ค„๋ฐ”๊ฟˆ (์ €์žฅ ์‹œ 1ํšŒ ํŒŒ์‹ฑ)\n if (kcsMatch?.text) kcsMatch.text = formatClauses(kcsMatch.text)\n\n return {\n kcsCriteria: kcsMatch ? JSON.stringify(kcsMatch) : null,\n siteSpecCriteria: formatClauses(result.site_spec_matches?.[0]?.text) || null\n }\n }\n } catch (error) {\n console.error('spec-matching API ํ˜ธ์ถœ ์‹คํŒจ:', error)\n }\n\n return { kcsCriteria: null, siteSpecCriteria: null }\n}\n\n/**\n * ๊ฒ€์‚ฌํ•ญ๋ชฉ ID ๋ชฉ๋ก์— ๋Œ€ํ•ด KCS/ํ˜„์žฅ ์‹œ๋ฐฉ์„œ ๊ธฐ์ค€์„ ๋งค์นญํ•˜์—ฌ ์ €์žฅํ•œ๋‹ค.\n * (ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ํ›„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ „์—ญ repository ์‚ฌ์šฉ)\n */\nexport async function updateProjectChecklistCriteria(itemIds: string[], siteSpecPdfUrl?: string): Promise<void> {\n const repository = getRepository(ProjectChecklistItem)\n\n for (const id of itemIds) {\n try {\n const item = await repository.findOneBy({ id })\n if (!item) continue\n const { kcsCriteria, siteSpecCriteria } = await matchInspectionCriteria(item.name, siteSpecPdfUrl)\n await repository.update({ id }, { kcsCriteria, siteSpecCriteria })\n } catch (error) {\n console.error('project-checklist ๊ฒ€์‚ฌ ๊ธฐ์ค€ ๋งค์นญ ์‹คํŒจ:', error)\n }\n }\n}\n\n// ๊ฒ€์‚ฌ ๊ธฐ์ค€ ๋งค์นญ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(๋น„๋™๊ธฐ)๋กœ ํŠธ๋ฆฌ๊ฑฐ โ€” ์ €์žฅ ์‘๋‹ต์„ ๋ง‰์ง€ ์•Š๋Š”๋‹ค.\nexport function queueUpdateProjectChecklistCriteria(itemIds: string[], siteSpecPdfUrl?: string): void {\n if (!itemIds || itemIds.length === 0) return\n\n setTimeout(() => {\n updateProjectChecklistCriteria(itemIds, siteSpecPdfUrl).catch(err => {\n console.error('Background spec-matching update failed (project-checklist):', err)\n })\n }, 0)\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { ProjectChecklistItem } from './project-checklist-item';
2
+ import { ProjectChecklistItemMutation } from './project-checklist-item-mutation';
3
+ export declare const entities: (typeof ProjectChecklistItem)[];
4
+ export declare const resolvers: (typeof ProjectChecklistItemMutation)[];
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvers = exports.entities = void 0;
4
+ const project_checklist_item_1 = require("./project-checklist-item");
5
+ const project_checklist_item_query_1 = require("./project-checklist-item-query");
6
+ const project_checklist_item_mutation_1 = require("./project-checklist-item-mutation");
7
+ exports.entities = [project_checklist_item_1.ProjectChecklistItem];
8
+ exports.resolvers = [project_checklist_item_query_1.ProjectChecklistItemQuery, project_checklist_item_mutation_1.ProjectChecklistItemMutation];
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/project-checklist-item/index.ts"],"names":[],"mappings":";;;AAAA,qEAA+D;AAC/D,iFAA0E;AAC1E,uFAAgF;AAEnE,QAAA,QAAQ,GAAG,CAAC,6CAAoB,CAAC,CAAA;AACjC,QAAA,SAAS,GAAG,CAAC,wDAAyB,EAAE,8DAA4B,CAAC,CAAA","sourcesContent":["import { ProjectChecklistItem } from './project-checklist-item'\nimport { ProjectChecklistItemQuery } from './project-checklist-item-query'\nimport { ProjectChecklistItemMutation } from './project-checklist-item-mutation'\n\nexport const entities = [ProjectChecklistItem]\nexport const resolvers = [ProjectChecklistItemQuery, ProjectChecklistItemMutation]\n"]}
@@ -0,0 +1,2 @@
1
+ export declare class ProjectChecklistItemMutation {
2
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectChecklistItemMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const project_checklist_item_1 = require("./project-checklist-item");
7
+ let ProjectChecklistItemMutation = class ProjectChecklistItemMutation {
8
+ };
9
+ exports.ProjectChecklistItemMutation = ProjectChecklistItemMutation;
10
+ exports.ProjectChecklistItemMutation = ProjectChecklistItemMutation = tslib_1.__decorate([
11
+ (0, type_graphql_1.Resolver)(project_checklist_item_1.ProjectChecklistItem)
12
+ ], ProjectChecklistItemMutation);
13
+ //# sourceMappingURL=project-checklist-item-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-checklist-item-mutation.js","sourceRoot":"","sources":["../../../server/service/project-checklist-item/project-checklist-item-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAuC;AACvC,qEAA+D;AAGxD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;CAAG,CAAA;AAA/B,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,uBAAQ,EAAC,6CAAoB,CAAC;GAClB,4BAA4B,CAAG","sourcesContent":["import { Resolver } from 'type-graphql'\nimport { ProjectChecklistItem } from './project-checklist-item'\n\n@Resolver(ProjectChecklistItem)\nexport class ProjectChecklistItemMutation {}\n"]}