@dssp/supervision 1.0.0-alpha.97 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/package.json +13 -12
  2. package/dist-client/bootstrap.d.ts +0 -1
  3. package/dist-client/bootstrap.js +0 -2
  4. package/dist-client/bootstrap.js.map +0 -1
  5. package/dist-client/graphql/building-inspection.d.ts +0 -1
  6. package/dist-client/graphql/building-inspection.js +0 -102
  7. package/dist-client/graphql/building-inspection.js.map +0 -1
  8. package/dist-client/index.d.ts +0 -0
  9. package/dist-client/index.js +0 -2
  10. package/dist-client/index.js.map +0 -1
  11. package/dist-client/pages/action-plan/action-plan-importer.d.ts +0 -10
  12. package/dist-client/pages/action-plan/action-plan-importer.js +0 -101
  13. package/dist-client/pages/action-plan/action-plan-importer.js.map +0 -1
  14. package/dist-client/pages/action-plan/action-plan-list-page.d.ts +0 -62
  15. package/dist-client/pages/action-plan/action-plan-list-page.js +0 -322
  16. package/dist-client/pages/action-plan/action-plan-list-page.js.map +0 -1
  17. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.d.ts +0 -22
  18. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +0 -171
  19. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +0 -1
  20. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +0 -59
  21. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +0 -868
  22. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +0 -1
  23. package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +0 -27
  24. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +0 -342
  25. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +0 -1
  26. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +0 -31
  27. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +0 -332
  28. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +0 -1
  29. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +0 -36
  30. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +0 -369
  31. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +0 -1
  32. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +0 -98
  33. package/dist-client/pages/building-inspection/building-inspection-list.js +0 -914
  34. package/dist-client/pages/building-inspection/building-inspection-list.js.map +0 -1
  35. package/dist-client/pages/building-inspection/building-inspection-management.d.ts +0 -82
  36. package/dist-client/pages/building-inspection/building-inspection-management.js +0 -1527
  37. package/dist-client/pages/building-inspection/building-inspection-management.js.map +0 -1
  38. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +0 -4
  39. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +0 -238
  40. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +0 -1
  41. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +0 -27
  42. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +0 -542
  43. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +0 -1
  44. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.d.ts +0 -18
  45. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js +0 -630
  46. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js.map +0 -1
  47. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.d.ts +0 -10
  48. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js +0 -219
  49. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js.map +0 -1
  50. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.d.ts +0 -25
  51. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js +0 -546
  52. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js.map +0 -1
  53. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts +0 -42
  54. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js +0 -738
  55. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js.map +0 -1
  56. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +0 -15
  57. package/dist-client/pages/building-inspection/component/image-preview-popup.js +0 -348
  58. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +0 -1
  59. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +0 -25
  60. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +0 -491
  61. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +0 -1
  62. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +0 -31
  63. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +0 -485
  64. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +0 -1
  65. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +0 -27
  66. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +0 -416
  67. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +0 -1
  68. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +0 -9
  69. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +0 -190
  70. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +0 -1
  71. package/dist-client/pages/building-inspection/inspection-create-popup.d.ts +0 -3
  72. package/dist-client/pages/building-inspection/inspection-create-popup.js +0 -841
  73. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +0 -1
  74. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +0 -3
  75. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +0 -817
  76. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +0 -1
  77. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +0 -60
  78. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +0 -1135
  79. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +0 -1
  80. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.d.ts +0 -2
  81. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +0 -740
  82. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +0 -1
  83. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +0 -19
  84. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +0 -205
  85. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +0 -1
  86. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.d.ts +0 -1
  87. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js +0 -304
  88. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js.map +0 -1
  89. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.d.ts +0 -15
  90. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js +0 -430
  91. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js.map +0 -1
  92. package/dist-client/pages/checklist/attachment-list-popup.d.ts +0 -3
  93. package/dist-client/pages/checklist/attachment-list-popup.js +0 -492
  94. package/dist-client/pages/checklist/attachment-list-popup.js.map +0 -1
  95. package/dist-client/pages/checklist/checklist-view.d.ts +0 -16
  96. package/dist-client/pages/checklist/checklist-view.js +0 -926
  97. package/dist-client/pages/checklist/checklist-view.js.map +0 -1
  98. package/dist-client/pages/checklist/comment-list-popup.d.ts +0 -1
  99. package/dist-client/pages/checklist/comment-list-popup.js +0 -367
  100. package/dist-client/pages/checklist/comment-list-popup.js.map +0 -1
  101. package/dist-client/pages/checklist/file-preview-popup.d.ts +0 -1
  102. package/dist-client/pages/checklist/file-preview-popup.js +0 -77
  103. package/dist-client/pages/checklist/file-preview-popup.js.map +0 -1
  104. package/dist-client/pages/checklist/inspection-info-popup.d.ts +0 -49
  105. package/dist-client/pages/checklist/inspection-info-popup.js +0 -683
  106. package/dist-client/pages/checklist/inspection-info-popup.js.map +0 -1
  107. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +0 -18
  108. package/dist-client/pages/checklist/inspection-tab-popup.js +0 -196
  109. package/dist-client/pages/checklist/inspection-tab-popup.js.map +0 -1
  110. package/dist-client/pages/checklist/kcs-criteria-popup.d.ts +0 -16
  111. package/dist-client/pages/checklist/kcs-criteria-popup.js +0 -179
  112. package/dist-client/pages/checklist/kcs-criteria-popup.js.map +0 -1
  113. package/dist-client/pages/checklist-database/checklist-database.d.ts +0 -35
  114. package/dist-client/pages/checklist-database/checklist-database.js +0 -540
  115. package/dist-client/pages/checklist-database/checklist-database.js.map +0 -1
  116. package/dist-client/pages/checklist-template/checklist-template-item.d.ts +0 -2
  117. package/dist-client/pages/checklist-template/checklist-template-item.js +0 -278
  118. package/dist-client/pages/checklist-template/checklist-template-item.js.map +0 -1
  119. package/dist-client/pages/checklist-template/checklist-template-list.d.ts +0 -53
  120. package/dist-client/pages/checklist-template/checklist-template-list.js +0 -350
  121. package/dist-client/pages/checklist-template/checklist-template-list.js.map +0 -1
  122. package/dist-client/pages/checklist-template/checklist-type-management.d.ts +0 -55
  123. package/dist-client/pages/checklist-template/checklist-type-management.js +0 -250
  124. package/dist-client/pages/checklist-template/checklist-type-management.js.map +0 -1
  125. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +0 -2
  126. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +0 -223
  127. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +0 -1
  128. package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +0 -55
  129. package/dist-client/pages/checklist-template/construction-checklist-template-list.js +0 -404
  130. package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +0 -1
  131. package/dist-client/pages/issue/issue-importer.d.ts +0 -10
  132. package/dist-client/pages/issue/issue-importer.js +0 -101
  133. package/dist-client/pages/issue/issue-importer.js.map +0 -1
  134. package/dist-client/pages/issue/issue-list-page.d.ts +0 -62
  135. package/dist-client/pages/issue/issue-list-page.js +0 -322
  136. package/dist-client/pages/issue/issue-list-page.js.map +0 -1
  137. package/dist-client/pages/project-checklist/project-checklist-management.d.ts +0 -62
  138. package/dist-client/pages/project-checklist/project-checklist-management.js +0 -1145
  139. package/dist-client/pages/project-checklist/project-checklist-management.js.map +0 -1
  140. package/dist-client/pages/project-report/project-report-importer.d.ts +0 -10
  141. package/dist-client/pages/project-report/project-report-importer.js +0 -101
  142. package/dist-client/pages/project-report/project-report-importer.js.map +0 -1
  143. package/dist-client/pages/project-report/project-report-list-page.d.ts +0 -62
  144. package/dist-client/pages/project-report/project-report-list-page.js +0 -322
  145. package/dist-client/pages/project-report/project-report-list-page.js.map +0 -1
  146. package/dist-client/pages/supervisor/supervisor-importer.d.ts +0 -10
  147. package/dist-client/pages/supervisor/supervisor-importer.js +0 -101
  148. package/dist-client/pages/supervisor/supervisor-importer.js.map +0 -1
  149. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +0 -62
  150. package/dist-client/pages/supervisor/supervisor-list-page.js +0 -322
  151. package/dist-client/pages/supervisor/supervisor-list-page.js.map +0 -1
  152. package/dist-client/route.d.ts +0 -1
  153. package/dist-client/route.js +0 -44
  154. package/dist-client/route.js.map +0 -1
  155. package/dist-client/stt/speech-to-text.d.ts +0 -41
  156. package/dist-client/stt/speech-to-text.js +0 -331
  157. package/dist-client/stt/speech-to-text.js.map +0 -1
  158. package/dist-client/stt/stt-utils.d.ts +0 -28
  159. package/dist-client/stt/stt-utils.js +0 -146
  160. package/dist-client/stt/stt-utils.js.map +0 -1
  161. package/dist-client/tsconfig.tsbuildinfo +0 -1
  162. package/dist-server/controllers/index.d.ts +0 -0
  163. package/dist-server/controllers/index.js +0 -1
  164. package/dist-server/controllers/index.js.map +0 -1
  165. package/dist-server/index.d.ts +0 -3
  166. package/dist-server/index.js +0 -7
  167. package/dist-server/index.js.map +0 -1
  168. package/dist-server/middlewares/index.d.ts +0 -1
  169. package/dist-server/middlewares/index.js +0 -7
  170. package/dist-server/middlewares/index.js.map +0 -1
  171. package/dist-server/migrations/index.d.ts +0 -1
  172. package/dist-server/migrations/index.js +0 -12
  173. package/dist-server/migrations/index.js.map +0 -1
  174. package/dist-server/routes.d.ts +0 -0
  175. package/dist-server/routes.js +0 -25
  176. package/dist-server/routes.js.map +0 -1
  177. package/dist-server/service/action-plan/action-plan-mutation.d.ts +0 -10
  178. package/dist-server/service/action-plan/action-plan-mutation.js +0 -167
  179. package/dist-server/service/action-plan/action-plan-mutation.js.map +0 -1
  180. package/dist-server/service/action-plan/action-plan-query.d.ts +0 -12
  181. package/dist-server/service/action-plan/action-plan-query.js +0 -91
  182. package/dist-server/service/action-plan/action-plan-query.js.map +0 -1
  183. package/dist-server/service/action-plan/action-plan-type.d.ts +0 -23
  184. package/dist-server/service/action-plan/action-plan-type.js +0 -86
  185. package/dist-server/service/action-plan/action-plan-type.js.map +0 -1
  186. package/dist-server/service/action-plan/action-plan.d.ts +0 -27
  187. package/dist-server/service/action-plan/action-plan.js +0 -116
  188. package/dist-server/service/action-plan/action-plan.js.map +0 -1
  189. package/dist-server/service/action-plan/index.d.ts +0 -5
  190. package/dist-server/service/action-plan/index.js +0 -9
  191. package/dist-server/service/action-plan/index.js.map +0 -1
  192. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +0 -9
  193. package/dist-server/service/building-inspection/building-inspection-mutation.js +0 -404
  194. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +0 -1
  195. package/dist-server/service/building-inspection/building-inspection-query.d.ts +0 -24
  196. package/dist-server/service/building-inspection/building-inspection-query.js +0 -406
  197. package/dist-server/service/building-inspection/building-inspection-query.js.map +0 -1
  198. package/dist-server/service/building-inspection/building-inspection-type.d.ts +0 -89
  199. package/dist-server/service/building-inspection/building-inspection-type.js +0 -330
  200. package/dist-server/service/building-inspection/building-inspection-type.js.map +0 -1
  201. package/dist-server/service/building-inspection/building-inspection.d.ts +0 -42
  202. package/dist-server/service/building-inspection/building-inspection.js +0 -186
  203. package/dist-server/service/building-inspection/building-inspection.js.map +0 -1
  204. package/dist-server/service/building-inspection/index.d.ts +0 -7
  205. package/dist-server/service/building-inspection/index.js +0 -19
  206. package/dist-server/service/building-inspection/index.js.map +0 -1
  207. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +0 -6
  208. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +0 -66
  209. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +0 -1
  210. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +0 -16
  211. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +0 -171
  212. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +0 -1
  213. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +0 -23
  214. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +0 -90
  215. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +0 -1
  216. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +0 -33
  217. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +0 -132
  218. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +0 -1
  219. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +0 -5
  220. package/dist-server/service/building-inspection-daily-worklog/index.js +0 -9
  221. package/dist-server/service/building-inspection-daily-worklog/index.js.map +0 -1
  222. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +0 -16
  223. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +0 -120
  224. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +0 -1
  225. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +0 -5
  226. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +0 -21
  227. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +0 -1
  228. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +0 -35
  229. package/dist-server/service/building-inspection-history/building-inspection-history.js +0 -162
  230. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +0 -1
  231. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +0 -7
  232. package/dist-server/service/building-inspection-history/event-subscriber.js +0 -21
  233. package/dist-server/service/building-inspection-history/event-subscriber.js.map +0 -1
  234. package/dist-server/service/building-inspection-history/index.d.ts +0 -6
  235. package/dist-server/service/building-inspection-history/index.js +0 -10
  236. package/dist-server/service/building-inspection-history/index.js.map +0 -1
  237. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -3
  238. package/dist-server/service/checklist/checklist-mutation.js +0 -30
  239. package/dist-server/service/checklist/checklist-mutation.js.map +0 -1
  240. package/dist-server/service/checklist/checklist-query.d.ts +0 -21
  241. package/dist-server/service/checklist/checklist-query.js +0 -177
  242. package/dist-server/service/checklist/checklist-query.js.map +0 -1
  243. package/dist-server/service/checklist/checklist-type.d.ts +0 -5
  244. package/dist-server/service/checklist/checklist-type.js +0 -21
  245. package/dist-server/service/checklist/checklist-type.js.map +0 -1
  246. package/dist-server/service/checklist/checklist.d.ts +0 -66
  247. package/dist-server/service/checklist/checklist.js +0 -259
  248. package/dist-server/service/checklist/checklist.js.map +0 -1
  249. package/dist-server/service/checklist/event-subscriber.d.ts +0 -7
  250. package/dist-server/service/checklist/event-subscriber.js +0 -21
  251. package/dist-server/service/checklist/event-subscriber.js.map +0 -1
  252. package/dist-server/service/checklist/index.d.ts +0 -5
  253. package/dist-server/service/checklist/index.js +0 -9
  254. package/dist-server/service/checklist/index.js.map +0 -1
  255. package/dist-server/service/checklist-history/checklist-history-query.d.ts +0 -11
  256. package/dist-server/service/checklist-history/checklist-history-query.js +0 -77
  257. package/dist-server/service/checklist-history/checklist-history-query.js.map +0 -1
  258. package/dist-server/service/checklist-history/checklist-history-type.d.ts +0 -5
  259. package/dist-server/service/checklist-history/checklist-history-type.js +0 -21
  260. package/dist-server/service/checklist-history/checklist-history-type.js.map +0 -1
  261. package/dist-server/service/checklist-history/checklist-history.d.ts +0 -50
  262. package/dist-server/service/checklist-history/checklist-history.js +0 -239
  263. package/dist-server/service/checklist-history/checklist-history.js.map +0 -1
  264. package/dist-server/service/checklist-history/event-subscriber.d.ts +0 -7
  265. package/dist-server/service/checklist-history/event-subscriber.js +0 -21
  266. package/dist-server/service/checklist-history/event-subscriber.js.map +0 -1
  267. package/dist-server/service/checklist-history/index.d.ts +0 -6
  268. package/dist-server/service/checklist-history/index.js +0 -10
  269. package/dist-server/service/checklist-history/index.js.map +0 -1
  270. package/dist-server/service/checklist-item/checklist-item-mutation.d.ts +0 -2
  271. package/dist-server/service/checklist-item/checklist-item-mutation.js +0 -13
  272. package/dist-server/service/checklist-item/checklist-item-mutation.js.map +0 -1
  273. package/dist-server/service/checklist-item/checklist-item-query.d.ts +0 -18
  274. package/dist-server/service/checklist-item/checklist-item-query.js +0 -138
  275. package/dist-server/service/checklist-item/checklist-item-query.js.map +0 -1
  276. package/dist-server/service/checklist-item/checklist-item-type.d.ts +0 -5
  277. package/dist-server/service/checklist-item/checklist-item-type.js +0 -21
  278. package/dist-server/service/checklist-item/checklist-item-type.js.map +0 -1
  279. package/dist-server/service/checklist-item/checklist-item.d.ts +0 -29
  280. package/dist-server/service/checklist-item/checklist-item.js +0 -124
  281. package/dist-server/service/checklist-item/checklist-item.js.map +0 -1
  282. package/dist-server/service/checklist-item/index.d.ts +0 -4
  283. package/dist-server/service/checklist-item/index.js +0 -9
  284. package/dist-server/service/checklist-item/index.js.map +0 -1
  285. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.d.ts +0 -16
  286. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js +0 -83
  287. package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js.map +0 -1
  288. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +0 -8
  289. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +0 -114
  290. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +0 -1
  291. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.d.ts +0 -7
  292. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js +0 -49
  293. package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js.map +0 -1
  294. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.d.ts +0 -14
  295. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js +0 -53
  296. package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js.map +0 -1
  297. package/dist-server/service/checklist-item-comment/checklist-item-comment.d.ts +0 -12
  298. package/dist-server/service/checklist-item-comment/checklist-item-comment.js +0 -57
  299. package/dist-server/service/checklist-item-comment/checklist-item-comment.js.map +0 -1
  300. package/dist-server/service/checklist-item-comment/index.d.ts +0 -5
  301. package/dist-server/service/checklist-item-comment/index.js +0 -10
  302. package/dist-server/service/checklist-item-comment/index.js.map +0 -1
  303. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +0 -16
  304. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +0 -123
  305. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +0 -1
  306. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +0 -5
  307. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +0 -21
  308. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +0 -1
  309. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +0 -27
  310. package/dist-server/service/checklist-item-history/checklist-item-history.js +0 -133
  311. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +0 -1
  312. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +0 -7
  313. package/dist-server/service/checklist-item-history/event-subscriber.js +0 -21
  314. package/dist-server/service/checklist-item-history/event-subscriber.js.map +0 -1
  315. package/dist-server/service/checklist-item-history/index.d.ts +0 -6
  316. package/dist-server/service/checklist-item-history/index.js +0 -10
  317. package/dist-server/service/checklist-item-history/index.js.map +0 -1
  318. package/dist-server/service/checklist-template/checklist-template-mutation.d.ts +0 -6
  319. package/dist-server/service/checklist-template/checklist-template-mutation.js +0 -64
  320. package/dist-server/service/checklist-template/checklist-template-mutation.js.map +0 -1
  321. package/dist-server/service/checklist-template/checklist-template-query.d.ts +0 -10
  322. package/dist-server/service/checklist-template/checklist-template-query.js +0 -62
  323. package/dist-server/service/checklist-template/checklist-template-query.js.map +0 -1
  324. package/dist-server/service/checklist-template/checklist-template-type.d.ts +0 -10
  325. package/dist-server/service/checklist-template/checklist-template-type.js +0 -39
  326. package/dist-server/service/checklist-template/checklist-template-type.js.map +0 -1
  327. package/dist-server/service/checklist-template/checklist-template.d.ts +0 -17
  328. package/dist-server/service/checklist-template/checklist-template.js +0 -78
  329. package/dist-server/service/checklist-template/checklist-template.js.map +0 -1
  330. package/dist-server/service/checklist-template/index.d.ts +0 -5
  331. package/dist-server/service/checklist-template/index.js +0 -9
  332. package/dist-server/service/checklist-template/index.js.map +0 -1
  333. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.d.ts +0 -7
  334. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +0 -80
  335. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +0 -1
  336. package/dist-server/service/checklist-template-item/checklist-template-item-query.d.ts +0 -11
  337. package/dist-server/service/checklist-template-item/checklist-template-item-query.js +0 -78
  338. package/dist-server/service/checklist-template-item/checklist-template-item-query.js.map +0 -1
  339. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +0 -19
  340. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +0 -69
  341. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +0 -1
  342. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +0 -26
  343. package/dist-server/service/checklist-template-item/checklist-template-item.js +0 -106
  344. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +0 -1
  345. package/dist-server/service/checklist-template-item/index.d.ts +0 -5
  346. package/dist-server/service/checklist-template-item/index.js +0 -9
  347. package/dist-server/service/checklist-template-item/index.js.map +0 -1
  348. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +0 -2
  349. package/dist-server/service/checklist-template-item/spec-matching-service.js +0 -51
  350. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +0 -1
  351. package/dist-server/service/checklist-type/checklist-type-mutation.d.ts +0 -6
  352. package/dist-server/service/checklist-type/checklist-type-mutation.js +0 -64
  353. package/dist-server/service/checklist-type/checklist-type-mutation.js.map +0 -1
  354. package/dist-server/service/checklist-type/checklist-type-query.d.ts +0 -10
  355. package/dist-server/service/checklist-type/checklist-type-query.js +0 -62
  356. package/dist-server/service/checklist-type/checklist-type-query.js.map +0 -1
  357. package/dist-server/service/checklist-type/checklist-type-type.d.ts +0 -11
  358. package/dist-server/service/checklist-type/checklist-type-type.js +0 -43
  359. package/dist-server/service/checklist-type/checklist-type-type.js.map +0 -1
  360. package/dist-server/service/checklist-type/checklist-type.d.ts +0 -19
  361. package/dist-server/service/checklist-type/checklist-type.js +0 -78
  362. package/dist-server/service/checklist-type/checklist-type.js.map +0 -1
  363. package/dist-server/service/checklist-type/index.d.ts +0 -5
  364. package/dist-server/service/checklist-type/index.js +0 -9
  365. package/dist-server/service/checklist-type/index.js.map +0 -1
  366. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +0 -7
  367. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +0 -107
  368. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +0 -1
  369. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +0 -10
  370. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +0 -62
  371. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +0 -1
  372. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +0 -11
  373. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +0 -43
  374. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +0 -1
  375. package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +0 -18
  376. package/dist-server/service/construction-checklist-template/construction-checklist-template.js +0 -80
  377. package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +0 -1
  378. package/dist-server/service/construction-checklist-template/index.d.ts +0 -5
  379. package/dist-server/service/construction-checklist-template/index.js +0 -9
  380. package/dist-server/service/construction-checklist-template/index.js.map +0 -1
  381. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +0 -6
  382. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +0 -56
  383. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +0 -1
  384. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +0 -9
  385. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +0 -53
  386. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +0 -1
  387. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +0 -17
  388. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +0 -67
  389. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +0 -1
  390. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +0 -24
  391. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +0 -113
  392. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +0 -1
  393. package/dist-server/service/construction-checklist-template-item/index.d.ts +0 -5
  394. package/dist-server/service/construction-checklist-template-item/index.js +0 -9
  395. package/dist-server/service/construction-checklist-template-item/index.js.map +0 -1
  396. package/dist-server/service/field-document/field-document-auto-file.d.ts +0 -21
  397. package/dist-server/service/field-document/field-document-auto-file.js +0 -47
  398. package/dist-server/service/field-document/field-document-auto-file.js.map +0 -1
  399. package/dist-server/service/field-document/field-document-mutation.d.ts +0 -9
  400. package/dist-server/service/field-document/field-document-mutation.js +0 -139
  401. package/dist-server/service/field-document/field-document-mutation.js.map +0 -1
  402. package/dist-server/service/field-document/field-document-query.d.ts +0 -14
  403. package/dist-server/service/field-document/field-document-query.js +0 -120
  404. package/dist-server/service/field-document/field-document-query.js.map +0 -1
  405. package/dist-server/service/field-document/field-document-summary-service.d.ts +0 -10
  406. package/dist-server/service/field-document/field-document-summary-service.js +0 -79
  407. package/dist-server/service/field-document/field-document-summary-service.js.map +0 -1
  408. package/dist-server/service/field-document/field-document-type.d.ts +0 -24
  409. package/dist-server/service/field-document/field-document-type.js +0 -88
  410. package/dist-server/service/field-document/field-document-type.js.map +0 -1
  411. package/dist-server/service/field-document/field-document.d.ts +0 -29
  412. package/dist-server/service/field-document/field-document.js +0 -127
  413. package/dist-server/service/field-document/field-document.js.map +0 -1
  414. package/dist-server/service/field-document/index.d.ts +0 -5
  415. package/dist-server/service/field-document/index.js +0 -9
  416. package/dist-server/service/field-document/index.js.map +0 -1
  417. package/dist-server/service/index.d.ts +0 -23
  418. package/dist-server/service/index.js +0 -98
  419. package/dist-server/service/index.js.map +0 -1
  420. package/dist-server/service/issue/index.d.ts +0 -5
  421. package/dist-server/service/issue/index.js +0 -9
  422. package/dist-server/service/issue/index.js.map +0 -1
  423. package/dist-server/service/issue/issue-mutation.d.ts +0 -10
  424. package/dist-server/service/issue/issue-mutation.js +0 -167
  425. package/dist-server/service/issue/issue-mutation.js.map +0 -1
  426. package/dist-server/service/issue/issue-query.d.ts +0 -12
  427. package/dist-server/service/issue/issue-query.js +0 -91
  428. package/dist-server/service/issue/issue-query.js.map +0 -1
  429. package/dist-server/service/issue/issue-type.d.ts +0 -23
  430. package/dist-server/service/issue/issue-type.js +0 -86
  431. package/dist-server/service/issue/issue-type.js.map +0 -1
  432. package/dist-server/service/issue/issue.d.ts +0 -26
  433. package/dist-server/service/issue/issue.js +0 -111
  434. package/dist-server/service/issue/issue.js.map +0 -1
  435. package/dist-server/service/project-checklist/index.d.ts +0 -5
  436. package/dist-server/service/project-checklist/index.js +0 -9
  437. package/dist-server/service/project-checklist/index.js.map +0 -1
  438. package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +0 -7
  439. package/dist-server/service/project-checklist/project-checklist-mutation.js +0 -118
  440. package/dist-server/service/project-checklist/project-checklist-mutation.js.map +0 -1
  441. package/dist-server/service/project-checklist/project-checklist-query.d.ts +0 -12
  442. package/dist-server/service/project-checklist/project-checklist-query.js +0 -76
  443. package/dist-server/service/project-checklist/project-checklist-query.js.map +0 -1
  444. package/dist-server/service/project-checklist/project-checklist-type.d.ts +0 -18
  445. package/dist-server/service/project-checklist/project-checklist-type.js +0 -69
  446. package/dist-server/service/project-checklist/project-checklist-type.js.map +0 -1
  447. package/dist-server/service/project-checklist/project-checklist.d.ts +0 -20
  448. package/dist-server/service/project-checklist/project-checklist.js +0 -90
  449. package/dist-server/service/project-checklist/project-checklist.js.map +0 -1
  450. package/dist-server/service/project-checklist/spec-matching-service.d.ts +0 -17
  451. package/dist-server/service/project-checklist/spec-matching-service.js +0 -140
  452. package/dist-server/service/project-checklist/spec-matching-service.js.map +0 -1
  453. package/dist-server/service/project-checklist-item/index.d.ts +0 -4
  454. package/dist-server/service/project-checklist-item/index.js +0 -9
  455. package/dist-server/service/project-checklist-item/index.js.map +0 -1
  456. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +0 -2
  457. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +0 -13
  458. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +0 -1
  459. package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +0 -5
  460. package/dist-server/service/project-checklist-item/project-checklist-item-query.js +0 -34
  461. package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +0 -1
  462. package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +0 -5
  463. package/dist-server/service/project-checklist-item/project-checklist-item-type.js +0 -21
  464. package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +0 -1
  465. package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +0 -19
  466. package/dist-server/service/project-checklist-item/project-checklist-item.js +0 -92
  467. package/dist-server/service/project-checklist-item/project-checklist-item.js.map +0 -1
  468. package/dist-server/service/project-report/index.d.ts +0 -5
  469. package/dist-server/service/project-report/index.js +0 -9
  470. package/dist-server/service/project-report/index.js.map +0 -1
  471. package/dist-server/service/project-report/project-report-mutation.d.ts +0 -10
  472. package/dist-server/service/project-report/project-report-mutation.js +0 -167
  473. package/dist-server/service/project-report/project-report-mutation.js.map +0 -1
  474. package/dist-server/service/project-report/project-report-query.d.ts +0 -12
  475. package/dist-server/service/project-report/project-report-query.js +0 -91
  476. package/dist-server/service/project-report/project-report-query.js.map +0 -1
  477. package/dist-server/service/project-report/project-report-type.d.ts +0 -23
  478. package/dist-server/service/project-report/project-report-type.js +0 -86
  479. package/dist-server/service/project-report/project-report-type.js.map +0 -1
  480. package/dist-server/service/project-report/project-report.d.ts +0 -28
  481. package/dist-server/service/project-report/project-report.js +0 -121
  482. package/dist-server/service/project-report/project-report.js.map +0 -1
  483. package/dist-server/service/supervisor/index.d.ts +0 -5
  484. package/dist-server/service/supervisor/index.js +0 -9
  485. package/dist-server/service/supervisor/index.js.map +0 -1
  486. package/dist-server/service/supervisor/supervisor-mutation.d.ts +0 -10
  487. package/dist-server/service/supervisor/supervisor-mutation.js +0 -167
  488. package/dist-server/service/supervisor/supervisor-mutation.js.map +0 -1
  489. package/dist-server/service/supervisor/supervisor-query.d.ts +0 -12
  490. package/dist-server/service/supervisor/supervisor-query.js +0 -91
  491. package/dist-server/service/supervisor/supervisor-query.js.map +0 -1
  492. package/dist-server/service/supervisor/supervisor-type.d.ts +0 -23
  493. package/dist-server/service/supervisor/supervisor-type.js +0 -86
  494. package/dist-server/service/supervisor/supervisor-type.js.map +0 -1
  495. package/dist-server/service/supervisor/supervisor.d.ts +0 -28
  496. package/dist-server/service/supervisor/supervisor.js +0 -121
  497. package/dist-server/service/supervisor/supervisor.js.map +0 -1
  498. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,9 +0,0 @@
1
- import { FieldDocument } from './field-document';
2
- import { NewFieldDocument } from './field-document-type';
3
- export declare class FieldDocumentMutation {
4
- createFieldDocument(patch: NewFieldDocument, context: ResolverContext): Promise<FieldDocument>;
5
- createFieldDocuments(patches: NewFieldDocument[], context: ResolverContext): Promise<FieldDocument[]>;
6
- moveFieldDocuments(ids: string[], targetCode: string, context: ResolverContext): Promise<boolean>;
7
- toggleFieldDocumentFavorite(id: string, context: ResolverContext): Promise<FieldDocument>;
8
- deleteFieldDocuments(ids: string[], context: ResolverContext): Promise<boolean>;
9
- }
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldDocumentMutation = 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 field_document_1 = require("./field-document");
9
- const field_document_type_1 = require("./field-document-type");
10
- const field_document_summary_service_1 = require("./field-document-summary-service");
11
- let FieldDocumentMutation = class FieldDocumentMutation {
12
- async createFieldDocument(patch, context) {
13
- const { domain, user, tx } = context.state;
14
- const repo = tx.getRepository(field_document_1.FieldDocument);
15
- const result = await repo.save({
16
- projectId: patch.projectId,
17
- code: patch.code,
18
- name: patch.name,
19
- sourceType: patch.sourceType,
20
- sourceRefId: patch.sourceRefId,
21
- aiSummaryStatus: field_document_1.FieldDocumentSummaryStatus.REQUEST,
22
- domain,
23
- creator: user,
24
- updater: user
25
- });
26
- if (patch.file) {
27
- const attachment = await (0, attachment_base_1.createAttachment)(null, {
28
- attachment: {
29
- file: patch.file,
30
- refType: field_document_1.FieldDocument.name,
31
- refBy: result.id
32
- }
33
- }, context);
34
- // 업로드 시점에 AI 브리핑 동기 생성 (실패해도 업로드는 유지)
35
- await (0, field_document_summary_service_1.generateDocumentSummarySync)(repo, result, (attachment === null || attachment === void 0 ? void 0 : attachment.path) || '', patch.category);
36
- }
37
- return result;
38
- }
39
- async createFieldDocuments(patches, context) {
40
- const { domain, user, tx } = context.state;
41
- const repo = tx.getRepository(field_document_1.FieldDocument);
42
- const results = [];
43
- for (const patch of patches) {
44
- const result = await repo.save({
45
- projectId: patch.projectId,
46
- code: patch.code,
47
- name: patch.name,
48
- sourceType: patch.sourceType,
49
- sourceRefId: patch.sourceRefId,
50
- aiSummaryStatus: field_document_1.FieldDocumentSummaryStatus.REQUEST,
51
- domain,
52
- creator: user,
53
- updater: user
54
- });
55
- if (patch.file) {
56
- const attachment = await (0, attachment_base_1.createAttachment)(null, {
57
- attachment: {
58
- file: patch.file,
59
- refType: field_document_1.FieldDocument.name,
60
- refBy: result.id
61
- }
62
- }, context);
63
- // 업로드 시점에 AI 브리핑 동기 생성 (실패해도 업로드는 유지)
64
- await (0, field_document_summary_service_1.generateDocumentSummarySync)(repo, result, (attachment === null || attachment === void 0 ? void 0 : attachment.path) || '', patch.category);
65
- }
66
- results.push(result);
67
- }
68
- return results;
69
- }
70
- async moveFieldDocuments(ids, targetCode, context) {
71
- const { user, tx } = context.state;
72
- const repo = tx.getRepository(field_document_1.FieldDocument);
73
- await repo.update({ id: (0, typeorm_1.In)(ids) }, { code: targetCode, updater: user });
74
- return true;
75
- }
76
- async toggleFieldDocumentFavorite(id, context) {
77
- const { user, tx } = context.state;
78
- const repo = tx.getRepository(field_document_1.FieldDocument);
79
- const doc = await repo.findOneBy({ id });
80
- return await repo.save(Object.assign(Object.assign({}, doc), { isFavorite: !doc.isFavorite, updater: user }));
81
- }
82
- async deleteFieldDocuments(ids, context) {
83
- const { tx } = context.state;
84
- await tx.getRepository(field_document_1.FieldDocument).softDelete({ id: (0, typeorm_1.In)(ids) });
85
- await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: ids }, context);
86
- return true;
87
- }
88
- };
89
- exports.FieldDocumentMutation = FieldDocumentMutation;
90
- tslib_1.__decorate([
91
- (0, type_graphql_1.Directive)('@transaction'),
92
- (0, type_graphql_1.Mutation)(returns => field_document_1.FieldDocument, { description: '현장 문서 생성' }),
93
- tslib_1.__param(0, (0, type_graphql_1.Arg)('patch')),
94
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
95
- tslib_1.__metadata("design:type", Function),
96
- tslib_1.__metadata("design:paramtypes", [field_document_type_1.NewFieldDocument, Object]),
97
- tslib_1.__metadata("design:returntype", Promise)
98
- ], FieldDocumentMutation.prototype, "createFieldDocument", null);
99
- tslib_1.__decorate([
100
- (0, type_graphql_1.Directive)('@transaction'),
101
- (0, type_graphql_1.Mutation)(returns => [field_document_1.FieldDocument], { description: '현장 문서 다건 생성' }),
102
- tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [field_document_type_1.NewFieldDocument])),
103
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
104
- tslib_1.__metadata("design:type", Function),
105
- tslib_1.__metadata("design:paramtypes", [Array, Object]),
106
- tslib_1.__metadata("design:returntype", Promise)
107
- ], FieldDocumentMutation.prototype, "createFieldDocuments", null);
108
- tslib_1.__decorate([
109
- (0, type_graphql_1.Directive)('@transaction'),
110
- (0, type_graphql_1.Mutation)(returns => Boolean, { description: '문서 폴더 이동' }),
111
- tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
112
- tslib_1.__param(1, (0, type_graphql_1.Arg)('targetCode')),
113
- tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
114
- tslib_1.__metadata("design:type", Function),
115
- tslib_1.__metadata("design:paramtypes", [Array, String, Object]),
116
- tslib_1.__metadata("design:returntype", Promise)
117
- ], FieldDocumentMutation.prototype, "moveFieldDocuments", null);
118
- tslib_1.__decorate([
119
- (0, type_graphql_1.Directive)('@transaction'),
120
- (0, type_graphql_1.Mutation)(returns => field_document_1.FieldDocument, { description: '즐겨찾기 토글' }),
121
- tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
122
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
123
- tslib_1.__metadata("design:type", Function),
124
- tslib_1.__metadata("design:paramtypes", [String, Object]),
125
- tslib_1.__metadata("design:returntype", Promise)
126
- ], FieldDocumentMutation.prototype, "toggleFieldDocumentFavorite", null);
127
- tslib_1.__decorate([
128
- (0, type_graphql_1.Directive)('@transaction'),
129
- (0, type_graphql_1.Mutation)(returns => Boolean, { description: '현장 문서 삭제' }),
130
- tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
131
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
132
- tslib_1.__metadata("design:type", Function),
133
- tslib_1.__metadata("design:paramtypes", [Array, Object]),
134
- tslib_1.__metadata("design:returntype", Promise)
135
- ], FieldDocumentMutation.prototype, "deleteFieldDocuments", null);
136
- exports.FieldDocumentMutation = FieldDocumentMutation = tslib_1.__decorate([
137
- (0, type_graphql_1.Resolver)(field_document_1.FieldDocument)
138
- ], FieldDocumentMutation);
139
- //# sourceMappingURL=field-document-mutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-document-mutation.js","sourceRoot":"","sources":["../../../server/service/field-document/field-document-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\n\nimport { FieldDocument, FieldDocumentSummaryStatus } from './field-document'\nimport { NewFieldDocument } from './field-document-type'\nimport { generateDocumentSummarySync } from './field-document-summary-service'\n\n@Resolver(FieldDocument)\nexport class FieldDocumentMutation {\n @Directive('@transaction')\n @Mutation(returns => FieldDocument, { description: '현장 문서 생성' })\n async createFieldDocument(\n @Arg('patch') patch: NewFieldDocument,\n @Ctx() context: ResolverContext\n ): Promise<FieldDocument> {\n const { domain, user, tx } = context.state\n\n const repo = tx.getRepository(FieldDocument)\n\n const result = await repo.save({\n projectId: patch.projectId,\n code: patch.code,\n name: patch.name,\n sourceType: patch.sourceType,\n sourceRefId: patch.sourceRefId,\n aiSummaryStatus: FieldDocumentSummaryStatus.REQUEST,\n domain,\n creator: user,\n updater: user\n })\n\n if (patch.file) {\n const attachment = await createAttachment(\n null,\n {\n attachment: {\n file: patch.file,\n refType: FieldDocument.name,\n refBy: result.id\n }\n },\n context\n )\n\n // 업로드 시점에 AI 브리핑 동기 생성 (실패해도 업로드는 유지)\n await generateDocumentSummarySync(repo, result, attachment?.path || '', patch.category)\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [FieldDocument], { description: '현장 문서 다건 생성' })\n async createFieldDocuments(\n @Arg('patches', type => [NewFieldDocument]) patches: NewFieldDocument[],\n @Ctx() context: ResolverContext\n ): Promise<FieldDocument[]> {\n const { domain, user, tx } = context.state\n const repo = tx.getRepository(FieldDocument)\n const results: FieldDocument[] = []\n\n for (const patch of patches) {\n const result = await repo.save({\n projectId: patch.projectId,\n code: patch.code,\n name: patch.name,\n sourceType: patch.sourceType,\n sourceRefId: patch.sourceRefId,\n aiSummaryStatus: FieldDocumentSummaryStatus.REQUEST,\n domain,\n creator: user,\n updater: user\n })\n\n if (patch.file) {\n const attachment = await createAttachment(\n null,\n {\n attachment: {\n file: patch.file,\n refType: FieldDocument.name,\n refBy: result.id\n }\n },\n context\n )\n\n // 업로드 시점에 AI 브리핑 동기 생성 (실패해도 업로드는 유지)\n await generateDocumentSummarySync(repo, result, attachment?.path || '', patch.category)\n }\n\n results.push(result)\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: '문서 폴더 이동' })\n async moveFieldDocuments(\n @Arg('ids', type => [String]) ids: string[],\n @Arg('targetCode') targetCode: string,\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { user, tx } = context.state\n const repo = tx.getRepository(FieldDocument)\n\n await repo.update({ id: In(ids) }, { code: targetCode, updater: user })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => FieldDocument, { description: '즐겨찾기 토글' })\n async toggleFieldDocumentFavorite(\n @Arg('id') id: string,\n @Ctx() context: ResolverContext\n ): Promise<FieldDocument> {\n const { user, tx } = context.state\n const repo = tx.getRepository(FieldDocument)\n const doc = await repo.findOneBy({ id })\n\n return await repo.save({\n ...doc,\n isFavorite: !doc.isFavorite,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: '현장 문서 삭제' })\n async deleteFieldDocuments(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { tx } = context.state\n\n await tx.getRepository(FieldDocument).softDelete({ id: In(ids) })\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n}\n"]}
@@ -1,14 +0,0 @@
1
- import { Domain } from '@things-factory/shell';
2
- import { User } from '@things-factory/auth-base';
3
- import { FieldDocument } from './field-document';
4
- import { FieldDocumentList, FieldDocumentCodeCount } from './field-document-type';
5
- export declare class FieldDocumentQuery {
6
- fieldDocumentsByCode(projectId: string, code: string, context: ResolverContext): Promise<FieldDocumentList>;
7
- fieldDocumentCountsByProject(projectId: string, context: ResolverContext): Promise<FieldDocumentCodeCount[]>;
8
- fieldDocument(id: string, context: ResolverContext): Promise<FieldDocument>;
9
- domain(fd: FieldDocument): Promise<Domain>;
10
- creator(fd: FieldDocument): Promise<User>;
11
- updater(fd: FieldDocument): Promise<User>;
12
- fullpath(fd: FieldDocument): Promise<string | null>;
13
- fileSize(fd: FieldDocument): Promise<string | null>;
14
- }
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldDocumentQuery = 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 attachment_base_1 = require("@things-factory/attachment-base");
9
- const field_document_1 = require("./field-document");
10
- const field_document_type_1 = require("./field-document-type");
11
- let FieldDocumentQuery = class FieldDocumentQuery {
12
- async fieldDocumentsByCode(projectId, code, context) {
13
- const repository = (0, shell_1.getRepository)(field_document_1.FieldDocument);
14
- const [items, total] = await repository.findAndCount({
15
- where: { projectId, code },
16
- order: { isFavorite: 'DESC', createdAt: 'DESC' }
17
- });
18
- return { items, total };
19
- }
20
- async fieldDocumentCountsByProject(projectId, context) {
21
- const result = await (0, shell_1.getRepository)(field_document_1.FieldDocument)
22
- .createQueryBuilder('fd')
23
- .select('fd.code', 'code')
24
- .addSelect('COUNT(*)', 'count')
25
- .where('fd.project_id = :projectId', { projectId })
26
- .andWhere('fd.deleted_at IS NULL')
27
- .groupBy('fd.code')
28
- .getRawMany();
29
- return result.map(r => ({ code: r.code, count: Number(r.count) }));
30
- }
31
- async fieldDocument(id, context) {
32
- return await (0, shell_1.getRepository)(field_document_1.FieldDocument).findOneBy({ id });
33
- }
34
- async domain(fd) {
35
- return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: fd.domainId });
36
- }
37
- async creator(fd) {
38
- return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: fd.creatorId });
39
- }
40
- async updater(fd) {
41
- return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: fd.updaterId });
42
- }
43
- async fullpath(fd) {
44
- const attachment = await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({
45
- where: { refBy: fd.id, refType: field_document_1.FieldDocument.name }
46
- });
47
- return (attachment === null || attachment === void 0 ? void 0 : attachment.fullpath) || null;
48
- }
49
- async fileSize(fd) {
50
- const attachment = await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({
51
- where: { refBy: fd.id, refType: field_document_1.FieldDocument.name }
52
- });
53
- return (attachment === null || attachment === void 0 ? void 0 : attachment.size) || null;
54
- }
55
- };
56
- exports.FieldDocumentQuery = FieldDocumentQuery;
57
- tslib_1.__decorate([
58
- (0, type_graphql_1.Query)(returns => field_document_type_1.FieldDocumentList, { description: '소분류 코드별 문서 목록 조회' }),
59
- tslib_1.__param(0, (0, type_graphql_1.Arg)('projectId')),
60
- tslib_1.__param(1, (0, type_graphql_1.Arg)('code')),
61
- tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
62
- tslib_1.__metadata("design:type", Function),
63
- tslib_1.__metadata("design:paramtypes", [String, String, Object]),
64
- tslib_1.__metadata("design:returntype", Promise)
65
- ], FieldDocumentQuery.prototype, "fieldDocumentsByCode", null);
66
- tslib_1.__decorate([
67
- (0, type_graphql_1.Query)(returns => [field_document_type_1.FieldDocumentCodeCount], { description: '프로젝트별 분류 코드당 문서 수' }),
68
- tslib_1.__param(0, (0, type_graphql_1.Arg)('projectId')),
69
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
70
- tslib_1.__metadata("design:type", Function),
71
- tslib_1.__metadata("design:paramtypes", [String, Object]),
72
- tslib_1.__metadata("design:returntype", Promise)
73
- ], FieldDocumentQuery.prototype, "fieldDocumentCountsByProject", null);
74
- tslib_1.__decorate([
75
- (0, type_graphql_1.Query)(returns => field_document_1.FieldDocument, { nullable: true, description: '단건 문서 상세 조회' }),
76
- tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
77
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
78
- tslib_1.__metadata("design:type", Function),
79
- tslib_1.__metadata("design:paramtypes", [String, Object]),
80
- tslib_1.__metadata("design:returntype", Promise)
81
- ], FieldDocumentQuery.prototype, "fieldDocument", null);
82
- tslib_1.__decorate([
83
- (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
84
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
85
- tslib_1.__metadata("design:type", Function),
86
- tslib_1.__metadata("design:paramtypes", [field_document_1.FieldDocument]),
87
- tslib_1.__metadata("design:returntype", Promise)
88
- ], FieldDocumentQuery.prototype, "domain", null);
89
- tslib_1.__decorate([
90
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
91
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
92
- tslib_1.__metadata("design:type", Function),
93
- tslib_1.__metadata("design:paramtypes", [field_document_1.FieldDocument]),
94
- tslib_1.__metadata("design:returntype", Promise)
95
- ], FieldDocumentQuery.prototype, "creator", null);
96
- tslib_1.__decorate([
97
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
98
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
99
- tslib_1.__metadata("design:type", Function),
100
- tslib_1.__metadata("design:paramtypes", [field_document_1.FieldDocument]),
101
- tslib_1.__metadata("design:returntype", Promise)
102
- ], FieldDocumentQuery.prototype, "updater", null);
103
- tslib_1.__decorate([
104
- (0, type_graphql_1.FieldResolver)(type => String, { nullable: true }),
105
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
106
- tslib_1.__metadata("design:type", Function),
107
- tslib_1.__metadata("design:paramtypes", [field_document_1.FieldDocument]),
108
- tslib_1.__metadata("design:returntype", Promise)
109
- ], FieldDocumentQuery.prototype, "fullpath", null);
110
- tslib_1.__decorate([
111
- (0, type_graphql_1.FieldResolver)(type => String, { nullable: true, description: '파일 크기' }),
112
- tslib_1.__param(0, (0, type_graphql_1.Root)()),
113
- tslib_1.__metadata("design:type", Function),
114
- tslib_1.__metadata("design:paramtypes", [field_document_1.FieldDocument]),
115
- tslib_1.__metadata("design:returntype", Promise)
116
- ], FieldDocumentQuery.prototype, "fileSize", null);
117
- exports.FieldDocumentQuery = FieldDocumentQuery = tslib_1.__decorate([
118
- (0, type_graphql_1.Resolver)(field_document_1.FieldDocument)
119
- ], FieldDocumentQuery);
120
- //# sourceMappingURL=field-document-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-document-query.js","sourceRoot":"","sources":["../../../server/service/field-document/field-document-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Arg, Ctx } from 'type-graphql'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { FieldDocument } from './field-document'\nimport { FieldDocumentList, FieldDocumentCodeCount } from './field-document-type'\n\n@Resolver(FieldDocument)\nexport class FieldDocumentQuery {\n @Query(returns => FieldDocumentList, { description: '소분류 코드별 문서 목록 조회' })\n async fieldDocumentsByCode(\n @Arg('projectId') projectId: string,\n @Arg('code') code: string,\n @Ctx() context: ResolverContext\n ): Promise<FieldDocumentList> {\n const repository = getRepository(FieldDocument)\n\n const [items, total] = await repository.findAndCount({\n where: { projectId, code },\n order: { isFavorite: 'DESC', createdAt: 'DESC' }\n })\n\n return { items, total }\n }\n\n @Query(returns => [FieldDocumentCodeCount], { description: '프로젝트별 분류 코드당 문서 수' })\n async fieldDocumentCountsByProject(\n @Arg('projectId') projectId: string,\n @Ctx() context: ResolverContext\n ): Promise<FieldDocumentCodeCount[]> {\n const result = await getRepository(FieldDocument)\n .createQueryBuilder('fd')\n .select('fd.code', 'code')\n .addSelect('COUNT(*)', 'count')\n .where('fd.project_id = :projectId', { projectId })\n .andWhere('fd.deleted_at IS NULL')\n .groupBy('fd.code')\n .getRawMany()\n\n return result.map(r => ({ code: r.code, count: Number(r.count) }))\n }\n\n @Query(returns => FieldDocument, { nullable: true, description: '단건 문서 상세 조회' })\n async fieldDocument(\n @Arg('id') id: string,\n @Ctx() context: ResolverContext\n ): Promise<FieldDocument> {\n return await getRepository(FieldDocument).findOneBy({ id })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() fd: FieldDocument): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: fd.domainId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() fd: FieldDocument): Promise<User> {\n return await getRepository(User).findOneBy({ id: fd.creatorId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() fd: FieldDocument): Promise<User> {\n return await getRepository(User).findOneBy({ id: fd.updaterId })\n }\n\n @FieldResolver(type => String, { nullable: true })\n async fullpath(@Root() fd: FieldDocument): Promise<string | null> {\n const attachment = await getRepository(Attachment).findOne({\n where: { refBy: fd.id, refType: FieldDocument.name }\n })\n return attachment?.fullpath || null\n }\n\n @FieldResolver(type => String, { nullable: true, description: '파일 크기' })\n async fileSize(@Root() fd: FieldDocument): Promise<string | null> {\n const attachment = await getRepository(Attachment).findOne({\n where: { refBy: fd.id, refType: FieldDocument.name }\n })\n return attachment?.size || null\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { Repository } from 'typeorm';
2
- import { FieldDocument } from './field-document';
3
- export declare function fetchDocumentBriefing({ filename, filePath, category }: {
4
- filename: string;
5
- filePath: string;
6
- category?: string;
7
- }): Promise<string | null>;
8
- export declare function generateDocumentSummarySync(repository: Repository<FieldDocument>, doc: FieldDocument, filePath: string, category?: string): Promise<void>;
9
- export declare function generateDocumentSummary(fieldDocumentId: string): Promise<void>;
10
- export declare function queueDocumentSummary(fieldDocumentId: string): void;
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchDocumentBriefing = fetchDocumentBriefing;
4
- exports.generateDocumentSummarySync = generateDocumentSummarySync;
5
- exports.generateDocumentSummary = generateDocumentSummary;
6
- exports.queueDocumentSummary = queueDocumentSummary;
7
- const shell_1 = require("@things-factory/shell");
8
- const attachment_base_1 = require("@things-factory/attachment-base");
9
- const field_document_1 = require("./field-document");
10
- const SUMMARY_API_BASE_URL = 'https://hatiolab-korea-uni.ettisoft.com';
11
- const API_USERNAME = 'admin';
12
- const API_PASSWORD = 'admin1234';
13
- /* 엔진(doc_summary_engine)이 문서 파일을 내려받을 때 사용할 플랫폼 공개 주소 */
14
- const FILE_BASE_URL = 'https://dcsp.hatiolab.com';
15
- /* doc_summary_engine 호출 → 한 줄 브리핑 반환. 읽을 수 없는 문서(스캔·도면 등)는 null (정상) */
16
- async function fetchDocumentBriefing({ filename, filePath, category }) {
17
- var _a;
18
- const url = `${SUMMARY_API_BASE_URL}/api/run/doc-summary`;
19
- const headers = {
20
- Authorization: `Basic ${Buffer.from(`${API_USERNAME}:${API_PASSWORD}`).toString('base64')}`
21
- };
22
- const inputPayload = {
23
- file_url: `${FILE_BASE_URL}/attachment/${filePath}`,
24
- filename,
25
- category: category || ''
26
- };
27
- console.log('[doc-summary] request:', url, JSON.stringify(inputPayload));
28
- const form = new FormData();
29
- form.append('input', JSON.stringify(inputPayload));
30
- const response = await fetch(url, { method: 'POST', headers, body: form });
31
- const raw = await (response === null || response === void 0 ? void 0 : response.json());
32
- console.log('[doc-summary] response:', response === null || response === void 0 ? void 0 : response.status, JSON.stringify(raw));
33
- const data = (raw === null || raw === void 0 ? void 0 : raw.result) || {};
34
- if ((data === null || data === void 0 ? void 0 : data.status) !== 'success') {
35
- throw new Error((data === null || data === void 0 ? void 0 : data.error) || 'AI 브리핑 생성 실패');
36
- }
37
- return ((_a = data.result) === null || _a === void 0 ? void 0 : _a.briefing) || null;
38
- }
39
- /* 문서 업로드 시점에 동기로 브리핑을 생성/저장. 엔진 실패는 FAIL 상태로만 남기고 업로드는 유지 */
40
- async function generateDocumentSummarySync(repository, doc, filePath, category) {
41
- try {
42
- const briefing = await fetchDocumentBriefing({ filename: doc.name, filePath, category });
43
- await repository.update({ id: doc.id }, { aiSummary: briefing, aiSummaryStatus: field_document_1.FieldDocumentSummaryStatus.SUCCESS });
44
- doc.aiSummary = briefing;
45
- doc.aiSummaryStatus = field_document_1.FieldDocumentSummaryStatus.SUCCESS;
46
- }
47
- catch (error) {
48
- console.error('Document briefing generation failed:', error);
49
- await repository.update({ id: doc.id }, { aiSummaryStatus: field_document_1.FieldDocumentSummaryStatus.FAIL });
50
- doc.aiSummaryStatus = field_document_1.FieldDocumentSummaryStatus.FAIL;
51
- }
52
- }
53
- /* 문서 ID로 브리핑 생성 (백그라운드/자동등록 경로용) */
54
- async function generateDocumentSummary(fieldDocumentId) {
55
- const repository = (0, shell_1.getRepository)(field_document_1.FieldDocument);
56
- try {
57
- const doc = await repository.findOneBy({ id: fieldDocumentId });
58
- if (!doc)
59
- return;
60
- const attachment = await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({
61
- where: { refBy: doc.id, refType: field_document_1.FieldDocument.name }
62
- });
63
- await generateDocumentSummarySync(repository, doc, (attachment === null || attachment === void 0 ? void 0 : attachment.path) || '');
64
- }
65
- catch (error) {
66
- console.error('Document summary generation failed:', error);
67
- await repository.update({ id: fieldDocumentId }, { aiSummaryStatus: field_document_1.FieldDocumentSummaryStatus.FAIL });
68
- }
69
- }
70
- function queueDocumentSummary(fieldDocumentId) {
71
- if (!fieldDocumentId)
72
- return;
73
- setTimeout(() => {
74
- generateDocumentSummary(fieldDocumentId).catch(err => {
75
- console.error('Background document summary update failed:', err);
76
- });
77
- }, 0);
78
- }
79
- //# sourceMappingURL=field-document-summary-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-document-summary-service.js","sourceRoot":"","sources":["../../../server/service/field-document/field-document-summary-service.ts"],"names":[],"mappings":";;AAYA,sDAmCC;AAGD,kEAmBC;AAGD,0DAgBC;AAED,oDAQC;AAjGD,iDAAqD;AACrD,qEAA4D;AAC5D,qDAA4E;AAE5E,MAAM,oBAAoB,GAAW,yCAAyC,CAAA;AAC9E,MAAM,YAAY,GAAW,OAAO,CAAA;AACpC,MAAM,YAAY,GAAW,WAAW,CAAA;AACxC,yDAAyD;AACzD,MAAM,aAAa,GAAW,2BAA2B,CAAA;AAEzD,wEAAwE;AACjE,KAAK,UAAU,qBAAqB,CAAC,EAC1C,QAAQ,EACR,QAAQ,EACR,QAAQ,EAKT;;IACC,MAAM,GAAG,GAAG,GAAG,oBAAoB,sBAAsB,CAAA;IACzD,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,MAAM,YAAY,GAAG;QACnB,QAAQ,EAAE,GAAG,aAAa,eAAe,QAAQ,EAAE;QACnD,QAAQ;QACR,QAAQ,EAAE,QAAQ,IAAI,EAAE;KACzB,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;IAExE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;IAElD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1E,MAAM,GAAG,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,CAAA;IAClC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAE7E,MAAM,IAAI,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,KAAI,EAAE,CAAA;IAE9B,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,cAAc,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,KAAI,IAAI,CAAA;AACtC,CAAC;AAED,6DAA6D;AACtD,KAAK,UAAU,2BAA2B,CAC/C,UAAqC,EACrC,GAAkB,EAClB,QAAgB,EAChB,QAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QACxF,MAAM,UAAU,CAAC,MAAM,CACrB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EACd,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,2CAA0B,CAAC,OAAO,EAAE,CAC7E,CAAA;QACD,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAA;QACxB,GAAG,CAAC,eAAe,GAAG,2CAA0B,CAAC,OAAO,CAAA;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;QAC5D,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,2CAA0B,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7F,GAAG,CAAC,eAAe,GAAG,2CAA0B,CAAC,IAAI,CAAA;IACvD,CAAC;AACH,CAAC;AAED,oCAAoC;AAC7B,KAAK,UAAU,uBAAuB,CAAC,eAAuB;IACnE,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,GAAG;YAAE,OAAM;QAEhB,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAa,EAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;YACzD,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,8BAAa,CAAC,IAAI,EAAE;SACtD,CAAC,CAAA;QAEF,MAAM,2BAA2B,CAAC,UAAU,EAAE,GAAG,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,EAAE,CAAC,CAAA;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;QAC3D,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,2CAA0B,CAAC,IAAI,EAAE,CAAC,CAAA;IACxG,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,eAAuB;IAC1D,IAAI,CAAC,eAAe;QAAE,OAAM;IAE5B,UAAU,CAAC,GAAG,EAAE;QACd,uBAAuB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACnD,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC","sourcesContent":["import { Repository } from 'typeorm'\nimport { getRepository } from '@things-factory/shell'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { FieldDocument, FieldDocumentSummaryStatus } from './field-document'\n\nconst SUMMARY_API_BASE_URL: string = 'https://hatiolab-korea-uni.ettisoft.com'\nconst API_USERNAME: string = 'admin'\nconst API_PASSWORD: string = 'admin1234'\n/* 엔진(doc_summary_engine)이 문서 파일을 내려받을 때 사용할 플랫폼 공개 주소 */\nconst FILE_BASE_URL: string = 'https://dcsp.hatiolab.com'\n\n/* doc_summary_engine 호출 → 한 줄 브리핑 반환. 읽을 수 없는 문서(스캔·도면 등)는 null (정상) */\nexport async function fetchDocumentBriefing({\n filename,\n filePath,\n category\n}: {\n filename: string\n filePath: string\n category?: string\n}): Promise<string | null> {\n const url = `${SUMMARY_API_BASE_URL}/api/run/doc-summary`\n const headers: any = {\n Authorization: `Basic ${Buffer.from(`${API_USERNAME}:${API_PASSWORD}`).toString('base64')}`\n }\n\n const inputPayload = {\n file_url: `${FILE_BASE_URL}/attachment/${filePath}`,\n filename,\n category: category || ''\n }\n console.log('[doc-summary] request:', url, JSON.stringify(inputPayload))\n\n const form = new FormData()\n form.append('input', JSON.stringify(inputPayload))\n\n const response = await fetch(url, { method: 'POST', headers, body: form })\n const raw = await response?.json()\n console.log('[doc-summary] response:', response?.status, JSON.stringify(raw))\n\n const data = raw?.result || {}\n\n if (data?.status !== 'success') {\n throw new Error(data?.error || 'AI 브리핑 생성 실패')\n }\n\n return data.result?.briefing || null\n}\n\n/* 문서 업로드 시점에 동기로 브리핑을 생성/저장. 엔진 실패는 FAIL 상태로만 남기고 업로드는 유지 */\nexport async function generateDocumentSummarySync(\n repository: Repository<FieldDocument>,\n doc: FieldDocument,\n filePath: string,\n category?: string\n): Promise<void> {\n try {\n const briefing = await fetchDocumentBriefing({ filename: doc.name, filePath, category })\n await repository.update(\n { id: doc.id },\n { aiSummary: briefing, aiSummaryStatus: FieldDocumentSummaryStatus.SUCCESS }\n )\n doc.aiSummary = briefing\n doc.aiSummaryStatus = FieldDocumentSummaryStatus.SUCCESS\n } catch (error) {\n console.error('Document briefing generation failed:', error)\n await repository.update({ id: doc.id }, { aiSummaryStatus: FieldDocumentSummaryStatus.FAIL })\n doc.aiSummaryStatus = FieldDocumentSummaryStatus.FAIL\n }\n}\n\n/* 문서 ID로 브리핑 생성 (백그라운드/자동등록 경로용) */\nexport async function generateDocumentSummary(fieldDocumentId: string): Promise<void> {\n const repository = getRepository(FieldDocument)\n\n try {\n const doc = await repository.findOneBy({ id: fieldDocumentId })\n if (!doc) return\n\n const attachment = await getRepository(Attachment).findOne({\n where: { refBy: doc.id, refType: FieldDocument.name }\n })\n\n await generateDocumentSummarySync(repository, doc, attachment?.path || '')\n } catch (error) {\n console.error('Document summary generation failed:', error)\n await repository.update({ id: fieldDocumentId }, { aiSummaryStatus: FieldDocumentSummaryStatus.FAIL })\n }\n}\n\nexport function queueDocumentSummary(fieldDocumentId: string): void {\n if (!fieldDocumentId) return\n\n setTimeout(() => {\n generateDocumentSummary(fieldDocumentId).catch(err => {\n console.error('Background document summary update failed:', err)\n })\n }, 0)\n}\n"]}
@@ -1,24 +0,0 @@
1
- import type { FileUpload } from 'graphql-upload/GraphQLUpload.js';
2
- import { FieldDocument } from './field-document';
3
- export declare class NewFieldDocument {
4
- projectId: string;
5
- code: string;
6
- name: string;
7
- sourceType?: string;
8
- sourceRefId?: string;
9
- category?: string;
10
- file?: FileUpload;
11
- }
12
- export declare class FieldDocumentPatch {
13
- id: string;
14
- code?: string;
15
- name?: string;
16
- }
17
- export declare class FieldDocumentList {
18
- items: FieldDocument[];
19
- total: number;
20
- }
21
- export declare class FieldDocumentCodeCount {
22
- code: string;
23
- count: number;
24
- }
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldDocumentCodeCount = exports.FieldDocumentList = exports.FieldDocumentPatch = exports.NewFieldDocument = void 0;
4
- const tslib_1 = require("tslib");
5
- const type_graphql_1 = require("type-graphql");
6
- const GraphQLUpload_js_1 = tslib_1.__importDefault(require("graphql-upload/GraphQLUpload.js"));
7
- const field_document_1 = require("./field-document");
8
- let NewFieldDocument = class NewFieldDocument {
9
- };
10
- exports.NewFieldDocument = NewFieldDocument;
11
- tslib_1.__decorate([
12
- (0, type_graphql_1.Field)({ nullable: false }),
13
- tslib_1.__metadata("design:type", String)
14
- ], NewFieldDocument.prototype, "projectId", void 0);
15
- tslib_1.__decorate([
16
- (0, type_graphql_1.Field)({ nullable: false }),
17
- tslib_1.__metadata("design:type", String)
18
- ], NewFieldDocument.prototype, "code", void 0);
19
- tslib_1.__decorate([
20
- (0, type_graphql_1.Field)({ nullable: false }),
21
- tslib_1.__metadata("design:type", String)
22
- ], NewFieldDocument.prototype, "name", void 0);
23
- tslib_1.__decorate([
24
- (0, type_graphql_1.Field)({ nullable: true }),
25
- tslib_1.__metadata("design:type", String)
26
- ], NewFieldDocument.prototype, "sourceType", void 0);
27
- tslib_1.__decorate([
28
- (0, type_graphql_1.Field)({ nullable: true }),
29
- tslib_1.__metadata("design:type", String)
30
- ], NewFieldDocument.prototype, "sourceRefId", void 0);
31
- tslib_1.__decorate([
32
- (0, type_graphql_1.Field)({ nullable: true, description: 'AI 브리핑 힌트용 분류 문자열 (대 · 중 · 소분류)' }),
33
- tslib_1.__metadata("design:type", String)
34
- ], NewFieldDocument.prototype, "category", void 0);
35
- tslib_1.__decorate([
36
- (0, type_graphql_1.Field)(() => GraphQLUpload_js_1.default, { nullable: true }),
37
- tslib_1.__metadata("design:type", Object)
38
- ], NewFieldDocument.prototype, "file", void 0);
39
- exports.NewFieldDocument = NewFieldDocument = tslib_1.__decorate([
40
- (0, type_graphql_1.InputType)()
41
- ], NewFieldDocument);
42
- let FieldDocumentPatch = class FieldDocumentPatch {
43
- };
44
- exports.FieldDocumentPatch = FieldDocumentPatch;
45
- tslib_1.__decorate([
46
- (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: false }),
47
- tslib_1.__metadata("design:type", String)
48
- ], FieldDocumentPatch.prototype, "id", void 0);
49
- tslib_1.__decorate([
50
- (0, type_graphql_1.Field)({ nullable: true }),
51
- tslib_1.__metadata("design:type", String)
52
- ], FieldDocumentPatch.prototype, "code", void 0);
53
- tslib_1.__decorate([
54
- (0, type_graphql_1.Field)({ nullable: true }),
55
- tslib_1.__metadata("design:type", String)
56
- ], FieldDocumentPatch.prototype, "name", void 0);
57
- exports.FieldDocumentPatch = FieldDocumentPatch = tslib_1.__decorate([
58
- (0, type_graphql_1.InputType)()
59
- ], FieldDocumentPatch);
60
- let FieldDocumentList = class FieldDocumentList {
61
- };
62
- exports.FieldDocumentList = FieldDocumentList;
63
- tslib_1.__decorate([
64
- (0, type_graphql_1.Field)(type => [field_document_1.FieldDocument]),
65
- tslib_1.__metadata("design:type", Array)
66
- ], FieldDocumentList.prototype, "items", void 0);
67
- tslib_1.__decorate([
68
- (0, type_graphql_1.Field)(type => type_graphql_1.Int),
69
- tslib_1.__metadata("design:type", Number)
70
- ], FieldDocumentList.prototype, "total", void 0);
71
- exports.FieldDocumentList = FieldDocumentList = tslib_1.__decorate([
72
- (0, type_graphql_1.ObjectType)()
73
- ], FieldDocumentList);
74
- let FieldDocumentCodeCount = class FieldDocumentCodeCount {
75
- };
76
- exports.FieldDocumentCodeCount = FieldDocumentCodeCount;
77
- tslib_1.__decorate([
78
- (0, type_graphql_1.Field)(),
79
- tslib_1.__metadata("design:type", String)
80
- ], FieldDocumentCodeCount.prototype, "code", void 0);
81
- tslib_1.__decorate([
82
- (0, type_graphql_1.Field)(type => type_graphql_1.Int),
83
- tslib_1.__metadata("design:type", Number)
84
- ], FieldDocumentCodeCount.prototype, "count", void 0);
85
- exports.FieldDocumentCodeCount = FieldDocumentCodeCount = tslib_1.__decorate([
86
- (0, type_graphql_1.ObjectType)()
87
- ], FieldDocumentCodeCount);
88
- //# sourceMappingURL=field-document-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-document-type.js","sourceRoot":"","sources":["../../../server/service/field-document/field-document-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,+FAA2D;AAE3D,qDAAgD;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAqB5B,CAAA;AArBY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mDACT;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACd;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACd;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACP;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;kDACzD;AAGjB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,0BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC9B;2BApBN,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAqB5B;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAS9B,CAAA;AATY,gDAAkB;AAE7B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CAC5B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;6BARF,kBAAkB;IAD9B,IAAA,wBAAS,GAAE;GACC,kBAAkB,CAS9B;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAM7B,CAAA;AANY,8CAAiB;AAE5B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC;;gDACT;AAGtB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;gDACN;4BALF,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAM7B;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAMlC,CAAA;AANY,wDAAsB;AAEjC;IADC,IAAA,oBAAK,GAAE;;oDACI;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;qDACN;iCALF,sBAAsB;IADlC,IAAA,yBAAU,GAAE;GACA,sBAAsB,CAMlC","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport { FieldDocument } from './field-document'\n\n@InputType()\nexport class NewFieldDocument {\n @Field({ nullable: false })\n projectId!: string\n\n @Field({ nullable: false })\n code!: string\n\n @Field({ nullable: false })\n name!: string\n\n @Field({ nullable: true })\n sourceType?: string\n\n @Field({ nullable: true })\n sourceRefId?: string\n\n @Field({ nullable: true, description: 'AI 브리핑 힌트용 분류 문자열 (대 · 중 · 소분류)' })\n category?: string\n\n @Field(() => GraphQLUpload, { nullable: true })\n file?: FileUpload\n}\n\n@InputType()\nexport class FieldDocumentPatch {\n @Field(type => ID, { nullable: false })\n id!: string\n\n @Field({ nullable: true })\n code?: string\n\n @Field({ nullable: true })\n name?: string\n}\n\n@ObjectType()\nexport class FieldDocumentList {\n @Field(type => [FieldDocument])\n items: FieldDocument[]\n\n @Field(type => Int)\n total: number\n}\n\n@ObjectType()\nexport class FieldDocumentCodeCount {\n @Field()\n code: string\n\n @Field(type => Int)\n count: number\n}\n"]}
@@ -1,29 +0,0 @@
1
- import { Domain } from '@things-factory/shell';
2
- import { User } from '@things-factory/auth-base';
3
- export declare enum FieldDocumentSummaryStatus {
4
- REQUEST = "10",
5
- SUCCESS = "20",
6
- FAIL = "30"
7
- }
8
- export declare class FieldDocument {
9
- readonly id: string;
10
- domain?: Domain;
11
- domainId?: string;
12
- projectId: string;
13
- code: string;
14
- name: string;
15
- aiSummary?: string;
16
- aiSummaryStatus?: FieldDocumentSummaryStatus;
17
- isFavorite?: boolean;
18
- sourceType?: string;
19
- sourceRefId?: string;
20
- createdAt?: Date;
21
- updatedAt?: Date;
22
- deletedAt?: Date;
23
- creator?: User;
24
- creatorId?: string;
25
- updater?: User;
26
- updaterId?: string;
27
- fullpath?: string;
28
- fileSize?: string;
29
- }