@things-factory/dataset 7.0.0-alpha.9 → 7.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 (318) hide show
  1. package/client/activities/activity-data-collect-edit.ts +8 -2
  2. package/client/activities/activity-data-collect-view.ts +1 -1
  3. package/client/activities/activity-data-review-edit.ts +2 -2
  4. package/client/activities/activity-data-review-view.ts +2 -2
  5. package/client/activities/activity-ooc-resolve-edit.ts +12 -8
  6. package/client/activities/activity-ooc-resolve-view.ts +2 -2
  7. package/client/activities/activity-ooc-review-edit.ts +8 -7
  8. package/client/activities/activity-ooc-review-view.ts +2 -2
  9. package/client/components/data-entry-form.ts +8 -9
  10. package/client/pages/data-archive/data-archive-list-page.ts +5 -17
  11. package/client/pages/data-archive/data-archive-request-popup.ts +11 -14
  12. package/client/pages/data-entry/data-entry-list-page.ts +31 -16
  13. package/client/pages/data-key-set/data-key-item-list.ts +12 -18
  14. package/client/pages/data-key-set/data-key-set-importer.ts +5 -12
  15. package/client/pages/data-key-set/data-key-set-list-page.ts +6 -5
  16. package/client/pages/data-ooc/data-ooc-list-page.ts +26 -17
  17. package/client/pages/data-ooc/data-ooc-view.ts +10 -9
  18. package/client/pages/data-ooc/data-oocs-page.ts +1 -1
  19. package/client/pages/data-report/data-report-list-page.ts +3 -5
  20. package/client/pages/data-report/data-report-samples-page.ts +1 -1
  21. package/client/pages/data-sample/data-sample-list-page.ts +32 -16
  22. package/client/pages/data-sample/data-sample-search-page.ts +28 -20
  23. package/client/pages/data-sample/data-sample-view.ts +13 -9
  24. package/client/pages/data-sensor/data-sensor-list-page.ts +20 -17
  25. package/client/pages/data-set/data-item-list.ts +15 -17
  26. package/client/pages/data-set/data-set-importer.ts +5 -13
  27. package/client/pages/data-set/data-set-list-page.ts +33 -15
  28. package/client/pages/data-summary/data-summary-list-page.ts +11 -12
  29. package/client/pages/data-summary/data-summary-period-page.ts +5 -23
  30. package/client/pages/data-summary/data-summary-search-page.ts +12 -35
  31. package/client/pages/data-summary/data-summary-view.ts +2 -2
  32. package/dist-client/activities/activity-data-collect-edit.js +8 -2
  33. package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
  34. package/dist-client/activities/activity-data-collect-view.js +1 -1
  35. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  36. package/dist-client/activities/activity-data-review-edit.js +2 -2
  37. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  38. package/dist-client/activities/activity-data-review-view.js +2 -2
  39. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  40. package/dist-client/activities/activity-ooc-resolve-edit.d.ts +1 -0
  41. package/dist-client/activities/activity-ooc-resolve-edit.js +12 -8
  42. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  43. package/dist-client/activities/activity-ooc-resolve-view.js +2 -2
  44. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  45. package/dist-client/activities/activity-ooc-review-edit.d.ts +1 -0
  46. package/dist-client/activities/activity-ooc-review-edit.js +8 -7
  47. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  48. package/dist-client/activities/activity-ooc-review-view.js +2 -2
  49. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  50. package/dist-client/components/data-entry-form.d.ts +1 -0
  51. package/dist-client/components/data-entry-form.js +8 -9
  52. package/dist-client/components/data-entry-form.js.map +1 -1
  53. package/dist-client/pages/data-archive/data-archive-list-page.d.ts +1 -0
  54. package/dist-client/pages/data-archive/data-archive-list-page.js +5 -17
  55. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
  56. package/dist-client/pages/data-archive/data-archive-request-popup.d.ts +1 -1
  57. package/dist-client/pages/data-archive/data-archive-request-popup.js +9 -13
  58. package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -1
  59. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
  60. package/dist-client/pages/data-entry/data-entry-list-page.js +23 -11
  61. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  62. package/dist-client/pages/data-key-set/data-key-item-list.d.ts +1 -0
  63. package/dist-client/pages/data-key-set/data-key-item-list.js +11 -18
  64. package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -1
  65. package/dist-client/pages/data-key-set/data-key-set-importer.d.ts +1 -0
  66. package/dist-client/pages/data-key-set/data-key-set-importer.js +5 -12
  67. package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -1
  68. package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +11 -2
  69. package/dist-client/pages/data-key-set/data-key-set-list-page.js +6 -5
  70. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
  71. package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +6 -0
  72. package/dist-client/pages/data-ooc/data-ooc-list-page.js +17 -10
  73. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  74. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  75. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +2 -1
  76. package/dist-client/pages/data-ooc/data-ooc-view.js +10 -9
  77. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  78. package/dist-client/pages/data-ooc/data-oocs-page.js +1 -1
  79. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
  80. package/dist-client/pages/data-report/data-report-embed-page.js.map +1 -1
  81. package/dist-client/pages/data-report/data-report-list-page.d.ts +1 -0
  82. package/dist-client/pages/data-report/data-report-list-page.js +3 -5
  83. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
  84. package/dist-client/pages/data-report/data-report-samples-page.js +1 -1
  85. package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -1
  86. package/dist-client/pages/data-report/jasper-report-oocs-page.js.map +1 -1
  87. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js.map +1 -1
  88. package/dist-client/pages/data-report/jasper-report-samples-page.js.map +1 -1
  89. package/dist-client/pages/data-sample/data-sample-list-page.d.ts +6 -0
  90. package/dist-client/pages/data-sample/data-sample-list-page.js +24 -12
  91. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
  92. package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
  93. package/dist-client/pages/data-sample/data-sample-search-page.d.ts +1 -12
  94. package/dist-client/pages/data-sample/data-sample-search-page.js +21 -15
  95. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
  96. package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -0
  97. package/dist-client/pages/data-sample/data-sample-view.js +10 -8
  98. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  99. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
  100. package/dist-client/pages/data-sensor/data-sensor-list-page.d.ts +16 -2
  101. package/dist-client/pages/data-sensor/data-sensor-list-page.js +19 -17
  102. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  103. package/dist-client/pages/data-set/data-item-list.d.ts +1 -1
  104. package/dist-client/pages/data-set/data-item-list.js +14 -17
  105. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  106. package/dist-client/pages/data-set/data-set-importer.d.ts +1 -0
  107. package/dist-client/pages/data-set/data-set-importer.js +5 -12
  108. package/dist-client/pages/data-set/data-set-importer.js.map +1 -1
  109. package/dist-client/pages/data-set/data-set-list-page.d.ts +16 -2
  110. package/dist-client/pages/data-set/data-set-list-page.js +23 -10
  111. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  112. package/dist-client/pages/data-summary/data-summary-list-page.d.ts +1 -0
  113. package/dist-client/pages/data-summary/data-summary-list-page.js +11 -12
  114. package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
  115. package/dist-client/pages/data-summary/data-summary-period-page.d.ts +1 -0
  116. package/dist-client/pages/data-summary/data-summary-period-page.js +5 -23
  117. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
  118. package/dist-client/pages/data-summary/data-summary-search-page.d.ts +1 -0
  119. package/dist-client/pages/data-summary/data-summary-search-page.js +7 -19
  120. package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -1
  121. package/dist-client/pages/data-summary/data-summary-view.js +2 -2
  122. package/dist-client/pages/data-summary/data-summary-view.js.map +1 -1
  123. package/dist-client/route.js.map +1 -1
  124. package/dist-client/tsconfig.tsbuildinfo +1 -1
  125. package/dist-server/activities/activity-data-collect.d.ts +41 -0
  126. package/dist-server/activities/activity-data-collect.js.map +1 -1
  127. package/dist-server/activities/activity-data-review.d.ts +41 -0
  128. package/dist-server/activities/activity-data-review.js.map +1 -1
  129. package/dist-server/activities/activity-ooc-resolve.d.ts +41 -0
  130. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  131. package/dist-server/activities/activity-ooc-review.d.ts +41 -0
  132. package/dist-server/activities/activity-ooc-review.js +2 -1
  133. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  134. package/dist-server/activities/index.d.ts +1 -0
  135. package/dist-server/activities/index.js.map +1 -1
  136. package/dist-server/controllers/create-data-sample.d.ts +3 -0
  137. package/dist-server/controllers/create-data-sample.js +64 -51
  138. package/dist-server/controllers/create-data-sample.js.map +1 -1
  139. package/dist-server/controllers/data-use-case.d.ts +36 -0
  140. package/dist-server/controllers/data-use-case.js.map +1 -1
  141. package/dist-server/controllers/finalize-data-collection.d.ts +4 -0
  142. package/dist-server/controllers/finalize-data-collection.js +3 -4
  143. package/dist-server/controllers/finalize-data-collection.js.map +1 -1
  144. package/dist-server/controllers/index.d.ts +3 -0
  145. package/dist-server/controllers/issue-collect-data.d.ts +2 -0
  146. package/dist-server/controllers/issue-collect-data.js +2 -3
  147. package/dist-server/controllers/issue-collect-data.js.map +1 -1
  148. package/dist-server/controllers/jasper-report.d.ts +1 -0
  149. package/dist-server/controllers/jasper-report.js +1 -2
  150. package/dist-server/controllers/jasper-report.js.map +1 -1
  151. package/dist-server/controllers/query-data-summary-by-period.d.ts +3 -0
  152. package/dist-server/controllers/query-data-summary-by-period.js +1 -2
  153. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
  154. package/dist-server/controllers/shiny-report.d.ts +1 -0
  155. package/dist-server/controllers/shiny-report.js +1 -2
  156. package/dist-server/controllers/shiny-report.js.map +1 -1
  157. package/dist-server/engine/index.d.ts +1 -0
  158. package/dist-server/engine/task/create-data-sample.d.ts +1 -0
  159. package/dist-server/engine/task/create-data-sample.js +4 -3
  160. package/dist-server/engine/task/create-data-sample.js.map +1 -1
  161. package/dist-server/engine/task/index.d.ts +2 -0
  162. package/dist-server/engine/task/issue-collect-data.d.ts +1 -0
  163. package/dist-server/engine/task/issue-collect-data.js.map +1 -1
  164. package/dist-server/index.d.ts +6 -0
  165. package/dist-server/routes.d.ts +1 -0
  166. package/dist-server/routes.js +13 -10
  167. package/dist-server/routes.js.map +1 -1
  168. package/dist-server/service/data-archive/data-archive-mutation.d.ts +16 -0
  169. package/dist-server/service/data-archive/data-archive-mutation.js +2 -2
  170. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
  171. package/dist-server/service/data-archive/data-archive-query.d.ts +11 -0
  172. package/dist-server/service/data-archive/data-archive-query.js +3 -3
  173. package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
  174. package/dist-server/service/data-archive/data-archive-type.d.ts +23 -0
  175. package/dist-server/service/data-archive/data-archive-type.js +6 -6
  176. package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
  177. package/dist-server/service/data-archive/data-archive.d.ts +19 -0
  178. package/dist-server/service/data-archive/data-archive.js +5 -5
  179. package/dist-server/service/data-archive/data-archive.js.map +1 -1
  180. package/dist-server/service/data-archive/index.d.ts +5 -0
  181. package/dist-server/service/data-key-set/data-key-item-type.d.ts +12 -0
  182. package/dist-server/service/data-key-set/data-key-item-type.js +4 -4
  183. package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -1
  184. package/dist-server/service/data-key-set/data-key-set-mutation.d.ts +10 -0
  185. package/dist-server/service/data-key-set/data-key-set-mutation.js +2 -2
  186. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  187. package/dist-server/service/data-key-set/data-key-set-query.d.ts +12 -0
  188. package/dist-server/service/data-key-set/data-key-set-query.js +3 -3
  189. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  190. package/dist-server/service/data-key-set/data-key-set-type.d.ts +28 -0
  191. package/dist-server/service/data-key-set/data-key-set-type.js +6 -6
  192. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
  193. package/dist-server/service/data-key-set/data-key-set.d.ts +22 -0
  194. package/dist-server/service/data-key-set/data-key-set.js +5 -5
  195. package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
  196. package/dist-server/service/data-key-set/index.d.ts +5 -0
  197. package/dist-server/service/data-ooc/data-ooc-mutation.d.ts +6 -0
  198. package/dist-server/service/data-ooc/data-ooc-mutation.js +2 -2
  199. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  200. package/dist-server/service/data-ooc/data-ooc-query.d.ts +22 -0
  201. package/dist-server/service/data-ooc/data-ooc-query.js +7 -5
  202. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  203. package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +7 -0
  204. package/dist-server/service/data-ooc/data-ooc-subscription.js +2 -2
  205. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  206. package/dist-server/service/data-ooc/data-ooc-type.d.ts +27 -0
  207. package/dist-server/service/data-ooc/data-ooc-type.js +6 -6
  208. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  209. package/dist-server/service/data-ooc/data-ooc.d.ts +63 -0
  210. package/dist-server/service/data-ooc/data-ooc.js +23 -12
  211. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  212. package/dist-server/service/data-ooc/index.d.ts +6 -0
  213. package/dist-server/service/data-sample/data-sample-mutation.d.ts +5 -0
  214. package/dist-server/service/data-sample/data-sample-mutation.js +2 -2
  215. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  216. package/dist-server/service/data-sample/data-sample-query.d.ts +22 -0
  217. package/dist-server/service/data-sample/data-sample-query.js +8 -7
  218. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  219. package/dist-server/service/data-sample/data-sample-type.d.ts +18 -0
  220. package/dist-server/service/data-sample/data-sample-type.js +4 -4
  221. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  222. package/dist-server/service/data-sample/data-sample.d.ts +45 -0
  223. package/dist-server/service/data-sample/data-sample.js +18 -9
  224. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  225. package/dist-server/service/data-sample/index.d.ts +5 -0
  226. package/dist-server/service/data-sensor/data-sensor-mutation.d.ts +9 -0
  227. package/dist-server/service/data-sensor/data-sensor-mutation.js +2 -2
  228. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  229. package/dist-server/service/data-sensor/data-sensor-query.d.ts +16 -0
  230. package/dist-server/service/data-sensor/data-sensor-query.js +3 -3
  231. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  232. package/dist-server/service/data-sensor/data-sensor-type.d.ts +38 -0
  233. package/dist-server/service/data-sensor/data-sensor-type.js +6 -6
  234. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  235. package/dist-server/service/data-sensor/data-sensor.d.ts +31 -0
  236. package/dist-server/service/data-sensor/data-sensor.js +6 -7
  237. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  238. package/dist-server/service/data-sensor/index.d.ts +5 -0
  239. package/dist-server/service/data-set/data-item-type.d.ts +59 -0
  240. package/dist-server/service/data-set/data-item-type.js +6 -6
  241. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  242. package/dist-server/service/data-set/data-set-mutation.d.ts +19 -0
  243. package/dist-server/service/data-set/data-set-mutation.js +2 -2
  244. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  245. package/dist-server/service/data-set/data-set-query.d.ts +36 -0
  246. package/dist-server/service/data-set/data-set-query.js +6 -7
  247. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  248. package/dist-server/service/data-set/data-set-type.d.ts +74 -0
  249. package/dist-server/service/data-set/data-set-type.js +6 -6
  250. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  251. package/dist-server/service/data-set/data-set.d.ts +92 -0
  252. package/dist-server/service/data-set/data-set.js +10 -11
  253. package/dist-server/service/data-set/data-set.js.map +1 -1
  254. package/dist-server/service/data-set/index.d.ts +5 -0
  255. package/dist-server/service/data-set-history/data-set-history-query.d.ts +21 -0
  256. package/dist-server/service/data-set-history/data-set-history-query.js +3 -3
  257. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  258. package/dist-server/service/data-set-history/data-set-history-type.d.ts +5 -0
  259. package/dist-server/service/data-set-history/data-set-history-type.js +2 -2
  260. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
  261. package/dist-server/service/data-set-history/data-set-history.d.ts +53 -0
  262. package/dist-server/service/data-set-history/data-set-history.js +5 -5
  263. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  264. package/dist-server/service/data-set-history/event-subscriber.d.ts +7 -0
  265. package/dist-server/service/data-set-history/event-subscriber.js +2 -2
  266. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
  267. package/dist-server/service/data-set-history/index.d.ts +6 -0
  268. package/dist-server/service/data-spec/data-spec-manager.d.ts +10 -0
  269. package/dist-server/service/data-spec/data-spec-query.d.ts +5 -0
  270. package/dist-server/service/data-spec/data-spec-query.js +2 -2
  271. package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
  272. package/dist-server/service/data-spec/data-spec.d.ts +19 -0
  273. package/dist-server/service/data-spec/data-spec.js +6 -6
  274. package/dist-server/service/data-spec/data-spec.js.map +1 -1
  275. package/dist-server/service/data-spec/index.d.ts +4 -0
  276. package/dist-server/service/data-summary/data-summary-mutation.d.ts +6 -0
  277. package/dist-server/service/data-summary/data-summary-mutation.js +2 -2
  278. package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -1
  279. package/dist-server/service/data-summary/data-summary-query.d.ts +19 -0
  280. package/dist-server/service/data-summary/data-summary-query.js +7 -7
  281. package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
  282. package/dist-server/service/data-summary/data-summary-type.d.ts +33 -0
  283. package/dist-server/service/data-summary/data-summary-type.js +8 -8
  284. package/dist-server/service/data-summary/data-summary-type.js.map +1 -1
  285. package/dist-server/service/data-summary/data-summary.d.ts +38 -0
  286. package/dist-server/service/data-summary/data-summary.js +3 -3
  287. package/dist-server/service/data-summary/data-summary.js.map +1 -1
  288. package/dist-server/service/data-summary/index.d.ts +6 -0
  289. package/dist-server/service/index.d.ts +14 -0
  290. package/dist-server/tsconfig.tsbuildinfo +1 -1
  291. package/dist-server/utils/config-resolver.d.ts +1 -0
  292. package/dist-server/utils/config-resolver.js +1 -2
  293. package/dist-server/utils/config-resolver.js.map +1 -1
  294. package/dist-server/utils/index.d.ts +1 -0
  295. package/helps/dataset/data-sensor.md +3 -0
  296. package/package.json +27 -26
  297. package/server/activities/activity-ooc-review.ts +2 -1
  298. package/server/activities/index.ts +1 -1
  299. package/server/controllers/create-data-sample.ts +73 -53
  300. package/server/controllers/issue-collect-data.ts +9 -3
  301. package/server/engine/task/create-data-sample.ts +12 -4
  302. package/server/routes.ts +14 -10
  303. package/server/service/data-archive/data-archive-query.ts +4 -1
  304. package/server/service/data-archive/data-archive.ts +3 -3
  305. package/server/service/data-key-set/data-key-set-query.ts +4 -1
  306. package/server/service/data-key-set/data-key-set.ts +3 -3
  307. package/server/service/data-ooc/data-ooc-query.ts +9 -3
  308. package/server/service/data-ooc/data-ooc.ts +33 -7
  309. package/server/service/data-sample/data-sample-query.ts +26 -6
  310. package/server/service/data-sample/data-sample.ts +39 -9
  311. package/server/service/data-sensor/data-sensor-query.ts +4 -1
  312. package/server/service/data-sensor/data-sensor.ts +13 -4
  313. package/server/service/data-set/data-set-mutation.ts +30 -8
  314. package/server/service/data-set/data-set-query.ts +11 -5
  315. package/server/service/data-set-history/data-set-history-query.ts +4 -1
  316. package/server/service/data-set-history/data-set-history.ts +5 -5
  317. package/server/service/data-summary/data-summary-query.ts +8 -5
  318. package/server/service/data-summary/data-summary.ts +16 -3
@@ -0,0 +1,41 @@
1
+ import { ActivityInstance, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist';
2
+ declare function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext): Promise<void>;
3
+ export declare const ActivityDataCollect: {
4
+ name: string;
5
+ description: string;
6
+ release: string;
7
+ provider: string;
8
+ category: string;
9
+ activityType: string;
10
+ priority: number;
11
+ searchKeys: {
12
+ name: string;
13
+ description: string;
14
+ inputKey: string;
15
+ tKey: string;
16
+ }[];
17
+ startingType: string;
18
+ multiple: string;
19
+ model: {
20
+ name: string;
21
+ description: string;
22
+ tag: string;
23
+ hidden: boolean;
24
+ mandatory: boolean;
25
+ inout: string;
26
+ type: string;
27
+ options: {};
28
+ unit: any;
29
+ quantifier: number[];
30
+ spec: {};
31
+ }[];
32
+ uiType: string;
33
+ uiSource: string;
34
+ viewType: string;
35
+ viewSource: string;
36
+ reportType: string;
37
+ reportSource: string;
38
+ thumbnail: string;
39
+ callback: typeof callback;
40
+ };
41
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"activity-data-collect.js","sourceRoot":"","sources":["../../server/activities/activity-data-collect.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAG5B,uDAAkI;AAElI,0EAAoE;AAEpE,KAAK,UAAU,QAAQ,CAAC,gBAAkC,EAAE,QAA6C,EAAE,OAAwB;IACjI,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IACpC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAA;IAEjD,IAAI,KAAK,IAAI,iCAAsB,CAAC,KAAK,EAAE;QACzC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;YAChE,IAAI,EAAE,cAAc;SACrB,CAAC,CAAa,CAAA;QAEf,2HAA2H;QAC3H,MAAM,IAAI,GAAG,MAAM,CAAA;QAEnB,IAAI,QAAQ,EAAE;YACZ,MAAM,UAAU,GAAkB;gBAChC,OAAO,EAAE;oBACP,EAAE,EAAE,KAAK,CAAC,SAAS;iBACpB;gBACD,IAAI;aACL,CAAA;YAED,MAAM,IAAA,qCAAgB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;SAC5C;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACtD;KACF;AACH,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oCAAoC;IACjD,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE;QACV;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,eAAe;SACtB;KACF;IACD,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE;QACL;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,aAAa;YAC1B,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;KACF;IACD,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,gBAAgB;IAC1B,UAAU,EAAE,4BAA4B;IACxC,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,4BAA4B;IAC1C,SAAS,EAAE,iCAAiC;IAC5C,QAAQ,CAAC,mFAAmF;CAC7F,CAAA","sourcesContent":["import { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Activity, ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist'\nimport { NewDataSample } from 'service/data-sample/data-sample-type'\nimport { createDataSample } from '../controllers/create-data-sample'\n\nasync function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) {\n const { domain, tx } = context.state\n const { input, output, state } = activityInstance\n\n if (state == ActivityInstanceStatus.Ended) {\n const activity = (await tx.getRepository(Activity).findOneBy({\n domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },\n name: 'Collect Data'\n })) as Activity\n\n /* collect-data 액티비티는 한명의 assignee(thread)만 수행하는 multiple: false 액티비티이다. 따라서, output에는 assignee key가 없이, 순수한 data만 들어있다. */\n const data = output\n\n if (activity) {\n const dataSample: NewDataSample = {\n dataSet: {\n id: input.dataSetId\n },\n data\n }\n\n await createDataSample(dataSample, context)\n } else {\n console.error('Collect Data Activity not installed.')\n }\n }\n}\n\nexport const ActivityDataCollect = {\n name: 'Collect Data',\n description: 'Tasks assigned for data collection',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 1,\n searchKeys: [\n {\n name: 'dataSetName',\n description: 'DataSet name',\n inputKey: 'dataSetName',\n tKey: 'data-set-name'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataSetId',\n description: 'DataSet Id.',\n tag: 'dataSetId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'dataSetName',\n description: 'DataSet name',\n tag: 'dataSetName',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-data-collect-edit',\n viewType: 'custom-element',\n viewSource: 'activity-data-collect-view',\n reportType: 'custom-element',\n reportSource: 'activity-data-collect-view',\n thumbnail: '/assets/images/data-collect.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
1
+ {"version":3,"file":"activity-data-collect.js","sourceRoot":"","sources":["../../server/activities/activity-data-collect.ts"],"names":[],"mappings":";;;AAAA,qCAA4B;AAG5B,uDAAkI;AAElI,0EAAoE;AAEpE,KAAK,UAAU,QAAQ,CAAC,gBAAkC,EAAE,QAA6C,EAAE,OAAwB;IACjI,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IACpC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAA;IAEjD,IAAI,KAAK,IAAI,iCAAsB,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;YAChE,IAAI,EAAE,cAAc;SACrB,CAAC,CAAa,CAAA;QAEf,2HAA2H;QAC3H,MAAM,IAAI,GAAG,MAAM,CAAA;QAEnB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAkB;gBAChC,OAAO,EAAE;oBACP,EAAE,EAAE,KAAK,CAAC,SAAS;iBACpB;gBACD,IAAI;aACL,CAAA;YAED,MAAM,IAAA,qCAAgB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oCAAoC;IACjD,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE;QACV;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,eAAe;SACtB;KACF;IACD,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE;QACL;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,aAAa;YAC1B,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;KACF;IACD,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,gBAAgB;IAC1B,UAAU,EAAE,4BAA4B;IACxC,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,4BAA4B;IAC1C,SAAS,EAAE,iCAAiC;IAC5C,QAAQ,CAAC,mFAAmF;CAC7F,CAAA","sourcesContent":["import { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Activity, ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist'\nimport { NewDataSample } from 'service/data-sample/data-sample-type'\nimport { createDataSample } from '../controllers/create-data-sample'\n\nasync function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) {\n const { domain, tx } = context.state\n const { input, output, state } = activityInstance\n\n if (state == ActivityInstanceStatus.Ended) {\n const activity = (await tx.getRepository(Activity).findOneBy({\n domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },\n name: 'Collect Data'\n })) as Activity\n\n /* collect-data 액티비티는 한명의 assignee(thread)만 수행하는 multiple: false 액티비티이다. 따라서, output에는 assignee key가 없이, 순수한 data만 들어있다. */\n const data = output\n\n if (activity) {\n const dataSample: NewDataSample = {\n dataSet: {\n id: input.dataSetId\n },\n data\n }\n\n await createDataSample(dataSample, context)\n } else {\n console.error('Collect Data Activity not installed.')\n }\n }\n}\n\nexport const ActivityDataCollect = {\n name: 'Collect Data',\n description: 'Tasks assigned for data collection',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 1,\n searchKeys: [\n {\n name: 'dataSetName',\n description: 'DataSet name',\n inputKey: 'dataSetName',\n tKey: 'data-set-name'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataSetId',\n description: 'DataSet Id.',\n tag: 'dataSetId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'dataSetName',\n description: 'DataSet name',\n tag: 'dataSetName',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-data-collect-edit',\n viewType: 'custom-element',\n viewSource: 'activity-data-collect-view',\n reportType: 'custom-element',\n reportSource: 'activity-data-collect-view',\n thumbnail: '/assets/images/data-collect.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { ActivityInstance, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist';
2
+ declare function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext): Promise<void>;
3
+ export declare const ActivityDataReview: {
4
+ name: string;
5
+ description: string;
6
+ release: string;
7
+ provider: string;
8
+ category: string;
9
+ activityType: string;
10
+ priority: number;
11
+ searchKeys: {
12
+ name: string;
13
+ description: string;
14
+ inputKey: string;
15
+ tKey: string;
16
+ }[];
17
+ startingType: string;
18
+ multiple: string;
19
+ model: {
20
+ name: string;
21
+ description: string;
22
+ tag: string;
23
+ hidden: boolean;
24
+ mandatory: boolean;
25
+ inout: string;
26
+ type: string;
27
+ options: {};
28
+ unit: any;
29
+ quantifier: number[];
30
+ spec: {};
31
+ }[];
32
+ uiType: string;
33
+ uiSource: string;
34
+ viewType: string;
35
+ viewSource: string;
36
+ reportType: string;
37
+ reportSource: string;
38
+ thumbnail: string;
39
+ callback: typeof callback;
40
+ };
41
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"activity-data-review.js","sourceRoot":"","sources":["../../server/activities/activity-data-review.ts"],"names":[],"mappings":";;;AAAA,uDAAwH;AAExH,2DAA4D;AAC5D,oEAA+D;AAE/D,KAAK,UAAU,QAAQ,CAAC,gBAAkC,EAAE,QAA6C,EAAE,OAAwB;;IACjI,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAA;IAEjD,IAAI,KAAK,IAAI,iCAAsB,CAAC,KAAK,EAAE;QACzC,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAC,OAAO,CAAC;YAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,EAAE,EAAE;SAChE,CAAC,CAAA;QAEF,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAC,IAAI,iCAC/C,UAAU,KACb,MAAM,EACN,KAAK,EAAE,wBAAa,CAAC,QAAQ,IAC7B,CAAA;KACH;AACH,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uBAAuB;IACpC,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE;QACV;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,eAAe;SACtB;KACF;IACD,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE;QACL;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,aAAa;YAC1B,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;KACF;IACD,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,2BAA2B;IACrC,QAAQ,EAAE,gBAAgB;IAC1B,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,2BAA2B;IACzC,SAAS,EAAE,iCAAiC;IAC5C,QAAQ,CAAC,mFAAmF;CAC7F,CAAA","sourcesContent":["import { ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist'\n\nimport { DataOocStatus } from '../service/data-ooc/data-ooc'\nimport { DataSample } from '../service/data-sample/data-sample'\n\nasync function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) {\n const { domain, tx, user } = context.state\n const { input, output, state } = activityInstance\n\n if (state == ActivityInstanceStatus.Ended) {\n var dataSample = await tx.getRepository(DataSample).findOne({\n where: { domain: { id: domain.id }, id: input?.dataSample?.id }\n })\n\n dataSample = await tx.getRepository(DataSample).save({\n ...dataSample,\n output,\n state: DataOocStatus.REVIEWED\n })\n }\n}\n\nexport const ActivityDataReview = {\n name: 'Data Review',\n description: 'Tasks for data review',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 1,\n searchKeys: [\n {\n name: 'dataSetName',\n description: 'DataSet name',\n inputKey: 'dataSetName',\n tKey: 'data-set-name'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataSetId',\n description: 'DataSet Id.',\n tag: 'dataSetId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'dataSetName',\n description: 'DataSet name',\n tag: 'dataSetName',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-data-review-edit',\n viewType: 'custom-element',\n viewSource: 'activity-data-review-view',\n reportType: 'custom-element',\n reportSource: 'activity-data-review-view',\n thumbnail: '/assets/images/data-collect.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
1
+ {"version":3,"file":"activity-data-review.js","sourceRoot":"","sources":["../../server/activities/activity-data-review.ts"],"names":[],"mappings":";;;AAAA,uDAAwH;AAExH,2DAA4D;AAC5D,oEAA+D;AAE/D,KAAK,UAAU,QAAQ,CAAC,gBAAkC,EAAE,QAA6C,EAAE,OAAwB;;IACjI,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAA;IAEjD,IAAI,KAAK,IAAI,iCAAsB,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAC,OAAO,CAAC;YAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,EAAE,EAAE;SAChE,CAAC,CAAA;QAEF,UAAU,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAU,CAAC,CAAC,IAAI,iCAC/C,UAAU,KACb,MAAM,EACN,KAAK,EAAE,wBAAa,CAAC,QAAQ,IAC7B,CAAA;IACJ,CAAC;AACH,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uBAAuB;IACpC,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE;QACV;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,eAAe;SACtB;KACF;IACD,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE;QACL;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,aAAa;YAC1B,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,EAAE;SACT;KACF;IACD,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,2BAA2B;IACrC,QAAQ,EAAE,gBAAgB;IAC1B,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,2BAA2B;IACzC,SAAS,EAAE,iCAAiC;IAC5C,QAAQ,CAAC,mFAAmF;CAC7F,CAAA","sourcesContent":["import { ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist'\n\nimport { DataOocStatus } from '../service/data-ooc/data-ooc'\nimport { DataSample } from '../service/data-sample/data-sample'\n\nasync function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) {\n const { domain, tx, user } = context.state\n const { input, output, state } = activityInstance\n\n if (state == ActivityInstanceStatus.Ended) {\n var dataSample = await tx.getRepository(DataSample).findOne({\n where: { domain: { id: domain.id }, id: input?.dataSample?.id }\n })\n\n dataSample = await tx.getRepository(DataSample).save({\n ...dataSample,\n output,\n state: DataOocStatus.REVIEWED\n })\n }\n}\n\nexport const ActivityDataReview = {\n name: 'Data Review',\n description: 'Tasks for data review',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 1,\n searchKeys: [\n {\n name: 'dataSetName',\n description: 'DataSet name',\n inputKey: 'dataSetName',\n tKey: 'data-set-name'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataSetId',\n description: 'DataSet Id.',\n tag: 'dataSetId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'dataSetName',\n description: 'DataSet name',\n tag: 'dataSetName',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-data-review-edit',\n viewType: 'custom-element',\n viewSource: 'activity-data-review-view',\n reportType: 'custom-element',\n reportSource: 'activity-data-review-view',\n thumbnail: '/assets/images/data-collect.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { ActivityInstance, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist';
2
+ declare function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext): Promise<void>;
3
+ export declare const ActivityOocResolve: {
4
+ name: string;
5
+ description: string;
6
+ release: string;
7
+ provider: string;
8
+ category: string;
9
+ activityType: string;
10
+ priority: number;
11
+ searchKeys: {
12
+ name: string;
13
+ description: string;
14
+ inputKey: string;
15
+ tKey: string;
16
+ }[];
17
+ startingType: string;
18
+ multiple: string;
19
+ model: {
20
+ name: string;
21
+ description: string;
22
+ tag: string;
23
+ hidden: boolean;
24
+ mandatory: boolean;
25
+ inout: string;
26
+ type: string;
27
+ options: {};
28
+ unit: any;
29
+ quantifier: number[];
30
+ spec: {};
31
+ }[];
32
+ uiType: string;
33
+ uiSource: string;
34
+ viewType: string;
35
+ viewSource: string;
36
+ reportType: string;
37
+ reportSource: string;
38
+ thumbnail: string;
39
+ callback: typeof callback;
40
+ };
41
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"activity-ooc-resolve.js","sourceRoot":"","sources":["../../server/activities/activity-ooc-resolve.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ActivityInstance,\n ActivityInstanceStatus,\n ActivityThread,\n ActivityThreadStatus,\n UpdateActivityInstanceStateAddendum\n} from '@things-factory/worklist'\nimport { DataOoc, DataOocStatus } from '../service/data-ooc/data-ooc'\n\nasync function callback(\n activityInstance: ActivityInstance,\n addendum: UpdateActivityInstanceStateAddendum,\n context: ResolverContext\n) {\n const { tx, user, domain } = context.state\n const { id, input, output, state, terminatedAt } = activityInstance\n const { causedBy } = addendum || {}\n\n /* Resolve Activity가 완료되면, 해당 data-ooc 엔티티의 correctiveAction, correctorId, correctedAt 을 update한다. */\n if (state == ActivityInstanceStatus.Ended) {\n const activityThreads = await tx.getRepository(ActivityThread).find({\n where: {\n domain: { id: domain.id },\n activityInstance: { id },\n state: ActivityThreadStatus.Ended\n },\n relations: ['assignee']\n })\n\n const corrector = activityThreads[0]?.assignee\n\n const { dataOocId } = input\n const correctiveAction = output.action\n\n var dataOoc = await tx.getRepository(DataOoc).findOne({\n where: {\n domain: { id: domain.id },\n id: dataOocId\n },\n relations: ['dataSet']\n })\n\n /* dataOoc Review 결과를 dataOoc 엔티티에 반영한다. */\n dataOoc = await tx.getRepository(DataOoc).save({\n ...dataOoc,\n correctedAt: terminatedAt,\n corrector: corrector,\n correctiveAction,\n updater: user,\n state: DataOocStatus.CORRECTED\n })\n }\n}\n\nexport const ActivityOocResolve = {\n name: 'OOC Resolve',\n description: 'Task to take remedial action based on Out Of Control data',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 3,\n searchKeys: [\n {\n name: 'dataOocId',\n description: 'OOC Id.',\n inputKey: 'dataOocId',\n tKey: 'data-ooc-id'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataOocId',\n description: 'OOC id',\n tag: 'dataOocId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'instruction',\n description: 'Instructions for resolving OOC',\n tag: 'instruction',\n hidden: false,\n mandatory: true,\n inout: 'in',\n type: 'textarea',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'action',\n description: 'Action Description',\n tag: 'action',\n hidden: false,\n mandatory: true,\n inout: 'out',\n type: 'textarea',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-ooc-resolve-edit',\n viewType: 'custom-element',\n viewSource: 'activity-ooc-resolve-view',\n reportType: 'custom-element',\n reportSource: 'data-ooc-report-page',\n thumbnail: '/assets/images/ooc.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
1
+ {"version":3,"file":"activity-ooc-resolve.js","sourceRoot":"","sources":["../../server/activities/activity-ooc-resolve.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ActivityInstance,\n ActivityInstanceStatus,\n ActivityThread,\n ActivityThreadStatus,\n UpdateActivityInstanceStateAddendum\n} from '@things-factory/worklist'\nimport { DataOoc, DataOocStatus } from '../service/data-ooc/data-ooc'\n\nasync function callback(\n activityInstance: ActivityInstance,\n addendum: UpdateActivityInstanceStateAddendum,\n context: ResolverContext\n) {\n const { tx, user, domain } = context.state\n const { id, input, output, state, terminatedAt } = activityInstance\n const { causedBy } = addendum || {}\n\n /* Resolve Activity가 완료되면, 해당 data-ooc 엔티티의 correctiveAction, correctorId, correctedAt 을 update한다. */\n if (state == ActivityInstanceStatus.Ended) {\n const activityThreads = await tx.getRepository(ActivityThread).find({\n where: {\n domain: { id: domain.id },\n activityInstance: { id },\n state: ActivityThreadStatus.Ended\n },\n relations: ['assignee']\n })\n\n const corrector = activityThreads[0]?.assignee\n\n const { dataOocId } = input\n const correctiveAction = output.action\n\n var dataOoc = await tx.getRepository(DataOoc).findOne({\n where: {\n domain: { id: domain.id },\n id: dataOocId\n },\n relations: ['dataSet']\n })\n\n /* dataOoc Review 결과를 dataOoc 엔티티에 반영한다. */\n dataOoc = await tx.getRepository(DataOoc).save({\n ...dataOoc,\n correctedAt: terminatedAt,\n corrector: corrector,\n correctiveAction,\n updater: user,\n state: DataOocStatus.CORRECTED\n })\n }\n}\n\nexport const ActivityOocResolve = {\n name: 'OOC Resolve',\n description: 'Task to take remedial action based on Out Of Control data',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 3,\n searchKeys: [\n {\n name: 'dataOocId',\n description: 'OOC Id.',\n inputKey: 'dataOocId',\n tKey: 'data-ooc-id'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataOocId',\n description: 'OOC id',\n tag: 'dataOocId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'instruction',\n description: 'Instructions for resolving OOC',\n tag: 'instruction',\n hidden: false,\n mandatory: true,\n inout: 'in',\n type: 'textarea',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'action',\n description: 'Action Description',\n tag: 'action',\n hidden: false,\n mandatory: true,\n inout: 'out',\n type: 'textarea',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-ooc-resolve-edit',\n viewType: 'custom-element',\n viewSource: 'activity-ooc-resolve-view',\n reportType: 'custom-element',\n reportSource: 'data-ooc-report-page',\n thumbnail: '/assets/images/ooc.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { ActivityInstance, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist';
2
+ declare function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext): Promise<void>;
3
+ export declare const ActivityOocReview: {
4
+ name: string;
5
+ description: string;
6
+ release: string;
7
+ provider: string;
8
+ category: string;
9
+ activityType: string;
10
+ priority: number;
11
+ searchKeys: {
12
+ name: string;
13
+ description: string;
14
+ inputKey: string;
15
+ tKey: string;
16
+ }[];
17
+ startingType: string;
18
+ multiple: string;
19
+ model: {
20
+ name: string;
21
+ description: string;
22
+ tag: string;
23
+ hidden: boolean;
24
+ mandatory: boolean;
25
+ inout: string;
26
+ type: string;
27
+ options: {};
28
+ unit: any;
29
+ quantifier: number[];
30
+ spec: {};
31
+ }[];
32
+ uiType: string;
33
+ uiSource: string;
34
+ viewType: string;
35
+ viewSource: string;
36
+ reportType: string;
37
+ reportSource: string;
38
+ thumbnail: string;
39
+ callback: typeof callback;
40
+ };
41
+ export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ActivityOocReview = void 0;
4
+ const typeorm_1 = require("typeorm");
4
5
  const worklist_1 = require("@things-factory/worklist");
5
6
  const issue_1 = require("@things-factory/worklist/dist-server/controllers/activity-instance/issue");
6
7
  const data_ooc_1 = require("../service/data-ooc/data-ooc");
@@ -10,7 +11,7 @@ async function callback(activityInstance, addendum, context) {
10
11
  const { causedBy } = addendum || {};
11
12
  if (state == worklist_1.ActivityInstanceStatus.Ended) {
12
13
  const activity = (await tx.getRepository(worklist_1.Activity).findOneBy({
13
- domain: { id: domain.id },
14
+ domain: domain.parentId ? (0, typeorm_1.In)([domain.id, domain.parentId]) : { id: domain.id },
14
15
  name: 'OOC Resolve'
15
16
  }));
16
17
  if (activity) {
@@ -1 +1 @@
1
- {"version":3,"file":"activity-ooc-review.js","sourceRoot":"","sources":["../../server/activities/activity-ooc-review.ts"],"names":[],"mappings":"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","sourcesContent":["import { Activity, ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist'\nimport { issue } from '@things-factory/worklist/dist-server/controllers/activity-instance/issue'\n\nimport { DataOoc, DataOocStatus } from '../service/data-ooc/data-ooc'\n\nasync function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) {\n const { domain, user, tx } = context.state\n const { input, output, state, terminatedAt } = activityInstance\n const { causedBy } = addendum || {}\n\n if (state == ActivityInstanceStatus.Ended) {\n const activity = (await tx.getRepository(Activity).findOneBy({\n domain: { id: domain.id },\n name: 'OOC Resolve'\n })) as Activity\n\n if (activity) {\n const { dataOocId } = input\n const correctiveInstruction = output?.instruction\n\n var dataOoc = await tx.getRepository(DataOoc).findOne({\n where: {\n domain: { id: domain.id },\n id: dataOocId\n },\n relations: ['dataSet']\n })\n\n const dataSet = dataOoc.dataSet\n const { assignees, outlierApprovalLine } = dataSet\n\n /* dataOoc Review 결과를 dataOoc 엔티티에 반영한다. */\n dataOoc = await tx.getRepository(DataOoc).save({\n ...dataOoc,\n reviewedAt: terminatedAt,\n reviewer: user,\n correctiveInstruction,\n state: DataOocStatus.REVIEWED\n })\n\n /* 해당 dataset의 작업 담당자(assignees)에게 OOC 해결을 위한 태스크를 지시한다. */\n if (assignees && assignees instanceof Array && assignees.length > 0) {\n const activityInstance = {\n name: `[OOC 조치] ${dataSet.name}`,\n description: dataSet.description,\n activityId: activity.id,\n dueAt: new Date(terminatedAt.getTime() + 24 * 60 * 60 * 1000),\n input: {\n dataOocId,\n instruction: correctiveInstruction\n },\n assignees,\n approvalLine: outlierApprovalLine\n }\n\n dataOoc.resolveActivityInstance = await issue(activityInstance, context)\n await tx.getRepository(DataOoc).save(dataOoc)\n } else {\n console.error(`Assignees are not set. So, Data OOC Resolve task for ${dataOoc.name}(${dataOoc.id}) could not be issued.`)\n }\n } else {\n console.error('OOC Resolve Activity not installed.')\n }\n }\n}\n\nexport const ActivityOocReview = {\n name: 'OOC Review',\n description: 'Task to take remedial action based on Out Of Control data',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 2,\n searchKeys: [\n {\n name: 'dataOocId',\n description: 'OOC Id.',\n inputKey: 'dataOocId',\n tKey: 'data-ooc-id'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataOocId',\n description: 'OOC id',\n tag: 'dataOocId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'Instruction',\n description: 'Instructions for preventing OOC',\n tag: 'instruction',\n hidden: false,\n mandatory: true,\n inout: 'out',\n type: 'textarea',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-ooc-review-edit',\n viewType: 'custom-element',\n viewSource: 'activity-ooc-review-view',\n reportType: 'custom-element',\n reportSource: 'data-ooc-report-page',\n thumbnail: '/assets/images/ooc.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
1
+ {"version":3,"file":"activity-ooc-review.js","sourceRoot":"","sources":["../../server/activities/activity-ooc-review.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Activity, ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist'\nimport { issue } from '@things-factory/worklist/dist-server/controllers/activity-instance/issue'\n\nimport { DataOoc, DataOocStatus } from '../service/data-ooc/data-ooc'\n\nasync function callback(activityInstance: ActivityInstance, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) {\n const { domain, user, tx } = context.state\n const { input, output, state, terminatedAt } = activityInstance\n const { causedBy } = addendum || {}\n\n if (state == ActivityInstanceStatus.Ended) {\n const activity = (await tx.getRepository(Activity).findOneBy({\n domain: domain.parentId ? In([domain.id, domain.parentId]) : { id: domain.id },\n name: 'OOC Resolve'\n })) as Activity\n\n if (activity) {\n const { dataOocId } = input\n const correctiveInstruction = output?.instruction\n\n var dataOoc = await tx.getRepository(DataOoc).findOne({\n where: {\n domain: { id: domain.id },\n id: dataOocId\n },\n relations: ['dataSet']\n })\n\n const dataSet = dataOoc.dataSet\n const { assignees, outlierApprovalLine } = dataSet\n\n /* dataOoc Review 결과를 dataOoc 엔티티에 반영한다. */\n dataOoc = await tx.getRepository(DataOoc).save({\n ...dataOoc,\n reviewedAt: terminatedAt,\n reviewer: user,\n correctiveInstruction,\n state: DataOocStatus.REVIEWED\n })\n\n /* 해당 dataset의 작업 담당자(assignees)에게 OOC 해결을 위한 태스크를 지시한다. */\n if (assignees && assignees instanceof Array && assignees.length > 0) {\n const activityInstance = {\n name: `[OOC 조치] ${dataSet.name}`,\n description: dataSet.description,\n activityId: activity.id,\n dueAt: new Date(terminatedAt.getTime() + 24 * 60 * 60 * 1000),\n input: {\n dataOocId,\n instruction: correctiveInstruction\n },\n assignees,\n approvalLine: outlierApprovalLine\n }\n\n dataOoc.resolveActivityInstance = await issue(activityInstance, context)\n await tx.getRepository(DataOoc).save(dataOoc)\n } else {\n console.error(`Assignees are not set. So, Data OOC Resolve task for ${dataOoc.name}(${dataOoc.id}) could not be issued.`)\n }\n } else {\n console.error('OOC Resolve Activity not installed.')\n }\n }\n}\n\nexport const ActivityOocReview = {\n name: 'OOC Review',\n description: 'Task to take remedial action based on Out Of Control data',\n release: '1.0.0',\n provider: 'hatiolab.com',\n category: 'quality',\n activityType: 'user',\n priority: 2,\n searchKeys: [\n {\n name: 'dataOocId',\n description: 'OOC Id.',\n inputKey: 'dataOocId',\n tKey: 'data-ooc-id'\n }\n ],\n startingType: '',\n multiple: 'single',\n model: [\n {\n name: 'dataOocId',\n description: 'OOC id',\n tag: 'dataOocId',\n hidden: true,\n mandatory: true,\n inout: 'in',\n type: 'string',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n },\n {\n name: 'Instruction',\n description: 'Instructions for preventing OOC',\n tag: 'instruction',\n hidden: false,\n mandatory: true,\n inout: 'out',\n type: 'textarea',\n options: {},\n unit: null,\n quantifier: [1],\n spec: {}\n }\n ],\n uiType: 'custom-element',\n uiSource: 'activity-ooc-review-edit',\n viewType: 'custom-element',\n viewSource: 'activity-ooc-review-view',\n reportType: 'custom-element',\n reportSource: 'data-ooc-report-page',\n thumbnail: '/assets/images/ooc.png',\n callback /* Called when there is a change in the lifecycle of a task (activity-instance). */\n}\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/activities/index.ts"],"names":[],"mappings":";;AAAA,uDAAgE;AAEhE,mEAA6D;AAC7D,iEAA2D;AAC3D,iEAA2D;AAC3D,+DAGC;AAAA,CAAC,uCAAiB,EAAE,yCAAkB,EAAE,2CAAmB,EAAE,yCAAkB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnG,gCAAqB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA","sourcesContent":["import { ActivityInstallations } from '@things-factory/worklist'\n\nimport { ActivityDataCollect } from './activity-data-collect'\nimport { ActivityDataReview } from './activity-data-review'\nimport { ActivityOocResolve } from './activity-ooc-resolve'\nimport { ActivityOocReview } from './activity-ooc-review'\n\n/* activity templates installation */\n;[ActivityOocReview, ActivityOocResolve, ActivityDataCollect, ActivityDataReview].forEach(template => {\n ActivityInstallations.installActivityTemplate(template)\n})\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/activities/index.ts"],"names":[],"mappings":";;AAAA,uDAAgE;AAEhE,mEAA6D;AAC7D,iEAA2D;AAC3D,iEAA2D;AAC3D,+DAGC;AAAA,CAAC,uCAAiB,EAAE,yCAAkB,EAAE,2CAAmB,EAAE,yCAAkB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnG,gCAAqB,CAAC,uBAAuB,CAAC,QAAe,CAAC,CAAA;AAChE,CAAC,CAAC,CAAA","sourcesContent":["import { ActivityInstallations } from '@things-factory/worklist'\n\nimport { ActivityDataCollect } from './activity-data-collect'\nimport { ActivityDataReview } from './activity-data-review'\nimport { ActivityOocResolve } from './activity-ooc-resolve'\nimport { ActivityOocReview } from './activity-ooc-review'\n\n/* activity templates installation */\n;[ActivityOocReview, ActivityOocResolve, ActivityDataCollect, ActivityDataReview].forEach(template => {\n ActivityInstallations.installActivityTemplate(template as any)\n})\n"]}
@@ -0,0 +1,3 @@
1
+ import { DataSample } from '../service/data-sample/data-sample';
2
+ import { NewDataSample } from '../service/data-sample/data-sample-type';
3
+ export declare function createDataSample(newDataSample: NewDataSample, context: ResolverContext): Promise<DataSample>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDataSample = void 0;
3
+ exports.createDataSample = createDataSample;
4
4
  const tslib_1 = require("tslib");
5
5
  const moment_timezone_1 = tslib_1.__importDefault(require("moment-timezone"));
6
6
  const typeorm_1 = require("typeorm");
@@ -18,7 +18,7 @@ const data_set_1 = require("../service/data-set/data-set");
18
18
  const data_use_case_1 = require("./data-use-case");
19
19
  // See README.md at ## Data Samples
20
20
  process.env.TZ = 'UTC';
21
- const fillDataKeys = (dataKeySet, data) => {
21
+ const fillDataKeys = (dataKeySet, data = {}) => {
22
22
  const keys = (dataKeySet === null || dataKeySet === void 0 ? void 0 : dataKeySet.dataKeyItems) || [];
23
23
  return keys.reduce((sum, key, index) => {
24
24
  const value = data[key.dataKey];
@@ -57,7 +57,7 @@ async function createDataSample(newDataSample, context) {
57
57
  where: { domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, id: newDataSample.dataSet.id },
58
58
  relations: ['dataKeySet']
59
59
  });
60
- const { dataItems, tag: publishTag, normalScenarioId, outlierScenarioId } = dataSet;
60
+ const { dataItems = [], tag: publishTag, normalScenarioId, outlierScenarioId } = dataSet;
61
61
  const collectedAt = newDataSample.collectedAt || new Date();
62
62
  const timezone = dataSet.timezone || domain.timezone || 'UTC';
63
63
  const format = 'YYYY-MM-DD';
@@ -165,32 +165,37 @@ async function createDataSample(newDataSample, context) {
165
165
  if (outlierScenarioId) {
166
166
  const scenario = await tx.getRepository(integration_base_1.Scenario).findOne({
167
167
  where: {
168
- domain: { id: domain.id },
168
+ domain: domain.parentId ? { id: (0, typeorm_1.In)([domain.id, domain.parentId]) } : { id: domain.id },
169
169
  id: outlierScenarioId
170
170
  },
171
171
  relations: ['domain', 'steps', 'updater']
172
172
  });
173
173
  if (scenario) {
174
- scenario.start(scenario.name + ':' + dataSet.name + ':' + dataSample.id, {
175
- dataOocId: dataOoc.id,
176
- dataSampleId: dataSample.id,
177
- dataSet: dataSet.id,
178
- data,
179
- ooc,
180
- oos,
181
- judgment,
182
- collectedAt,
183
- workDate,
184
- workShift,
185
- domain: {
186
- id: domain.id,
187
- subdomain: domain.subdomain,
188
- name: domain.name
189
- },
190
- updator: {
191
- id: user.id,
192
- email: user.email,
193
- name: user.name
174
+ scenario.start({
175
+ instanceName: scenario.name + ':' + dataSet.name + ':' + dataSample.id,
176
+ domain,
177
+ user,
178
+ variables: {
179
+ dataOocId: dataOoc.id,
180
+ dataSampleId: dataSample.id,
181
+ dataSet: dataSet.id,
182
+ data,
183
+ ooc,
184
+ oos,
185
+ judgment,
186
+ collectedAt,
187
+ workDate,
188
+ workShift,
189
+ domain: {
190
+ id: domain.id,
191
+ subdomain: domain.subdomain,
192
+ name: domain.name
193
+ },
194
+ updator: {
195
+ id: user.id,
196
+ email: user.email,
197
+ name: user.name
198
+ }
194
199
  }
195
200
  });
196
201
  }
@@ -199,11 +204,12 @@ async function createDataSample(newDataSample, context) {
199
204
  }
200
205
  }
201
206
  const activity = (await tx.getRepository(worklist_1.Activity).findOneBy({
202
- domain: { id: domain.id },
207
+ domain: domain.parentId ? { id: (0, typeorm_1.In)([domain.id, domain.parentId]) } : { id: domain.id },
203
208
  name: 'OOC Review'
204
209
  }));
205
210
  if (activity) {
206
- const assignee = dataSet.supervisoryRoleId && (await tx.getRepository(auth_base_1.Role).findOneBy({ domain: { id: domain.id }, id: dataSet.supervisoryRoleId }));
211
+ const assignee = dataSet.supervisoryRoleId &&
212
+ (await tx.getRepository(auth_base_1.Role).findOneBy({ domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, id: dataSet.supervisoryRoleId }));
207
213
  const assignees = dataSet.supervisoryRoleId ? [{ type: 'Role', value: dataSet.supervisoryRoleId, assignee }] : [];
208
214
  /* 해당 dataset의 supervisor로 하여금, OOC를 리뷰하고 instruction을 작성해서, OOC 해결을 위한 태스크를 dataset assignees에게 지시하도록 한다. */
209
215
  if (assignees && assignees instanceof Array && assignees.length > 0) {
@@ -226,7 +232,7 @@ async function createDataSample(newDataSample, context) {
226
232
  }
227
233
  }
228
234
  else {
229
- console.error('OOC Review Activity not installed.');
235
+ console.warn('OOC Review Activity not installed.');
230
236
  }
231
237
  try {
232
238
  // pubsub.publish('data-ooc', {
@@ -252,31 +258,36 @@ async function createDataSample(newDataSample, context) {
252
258
  if (normalScenarioId) {
253
259
  const scenario = await tx.getRepository(integration_base_1.Scenario).findOne({
254
260
  where: {
255
- domain: { id: domain.id },
261
+ domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) },
256
262
  id: normalScenarioId
257
263
  },
258
264
  relations: ['domain', 'steps', 'updater']
259
265
  });
260
266
  if (scenario) {
261
- scenario.start(scenario.name + ':' + dataSet.name + ':' + dataSample.id, {
262
- dataSampleId: dataSample.id,
263
- dataSet: dataSet.id,
264
- data,
265
- ooc,
266
- oos,
267
- judgment,
268
- collectedAt,
269
- workDate,
270
- workShift,
271
- domain: {
272
- id: domain.id,
273
- subdomain: domain.subdomain,
274
- name: domain.name
275
- },
276
- updator: {
277
- id: user.id,
278
- email: user.email,
279
- name: user.name
267
+ scenario.start({
268
+ instanceName: scenario.name + ':' + dataSet.name + ':' + dataSample.id,
269
+ domain,
270
+ user,
271
+ variables: {
272
+ dataSampleId: dataSample.id,
273
+ dataSet: dataSet.id,
274
+ data,
275
+ ooc,
276
+ oos,
277
+ judgment,
278
+ collectedAt,
279
+ workDate,
280
+ workShift,
281
+ domain: {
282
+ id: domain.id,
283
+ subdomain: domain.subdomain,
284
+ name: domain.name
285
+ },
286
+ updator: {
287
+ id: user.id,
288
+ email: user.email,
289
+ name: user.name
290
+ }
280
291
  }
281
292
  });
282
293
  }
@@ -286,12 +297,15 @@ async function createDataSample(newDataSample, context) {
286
297
  }
287
298
  if (dataSet.requiresReview) {
288
299
  const activity = (await tx.getRepository(worklist_1.Activity).findOneBy({
289
- domain: { id: domain.id },
300
+ domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) },
290
301
  name: 'Data Review'
291
302
  }));
292
303
  if (activity) {
293
- const assignee = dataSet.supervisoryRoleId && (await tx.getRepository(auth_base_1.Role).findOneBy({ domain: { id: domain.id }, id: dataSet.supervisoryRoleId }));
294
- const assignees = dataSet.supervisoryRoleId ? [{ type: 'Role', value: dataSet.supervisoryRoleId, assignee }] : [];
304
+ const assignee = dataSet.supervisoryRoleId &&
305
+ (await tx.getRepository(auth_base_1.Role).findOneBy({ domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }, id: dataSet.supervisoryRoleId }));
306
+ const assignees = dataSet.supervisoryRoleId
307
+ ? [{ type: 'Role', value: dataSet.supervisoryRoleId, assignee }]
308
+ : [];
295
309
  /* 해당 dataset의 supervisor로 하여금, data를 리뷰하고 instruction을 작성해서, approvalLine을 이용해서 승인을 한다. */
296
310
  if (assignees && assignees instanceof Array && assignees.length > 0) {
297
311
  dataSample.dataItems = dataItems;
@@ -335,5 +349,4 @@ async function createDataSample(newDataSample, context) {
335
349
  }
336
350
  return dataSample;
337
351
  }
338
- exports.createDataSample = createDataSample;
339
352
  //# sourceMappingURL=create-data-sample.js.map