@things-factory/dataset 7.0.0-alpha.8 → 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 @@
1
+ export declare function getEndpointUrl(endpoint: any, subpath?: string): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEndpointUrl = void 0;
3
+ exports.getEndpointUrl = getEndpointUrl;
4
4
  function getEndpointUrl(endpoint, subpath = '') {
5
5
  const { url = '', protocol = 'http', host = '', port = 80 } = endpoint;
6
6
  let _url = '';
@@ -29,5 +29,4 @@ function getEndpointUrl(endpoint, subpath = '') {
29
29
  }
30
30
  return _protocol + '://' + _url.split('/').concat(subpath.split('/')).filter(x => x).join('/');
31
31
  }
32
- exports.getEndpointUrl = getEndpointUrl;
33
32
  //# sourceMappingURL=config-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-resolver.js","sourceRoot":"","sources":["../../server/utils/config-resolver.ts"],"names":[],"mappings":";;;AACA,SAAgB,cAAc,CAAC,QAAY,EAAE,UAAe,EAAE;IAC1D,MAAM,EAAE,GAAG,GAAC,EAAE,EAAE,QAAQ,GAAC,MAAM,EAAE,IAAI,GAAC,EAAE,EAAE,IAAI,GAAC,EAAE,EAAE,GAAG,QAAQ,CAAA;IAE9D,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,SAAS,GAAG,QAAQ,CAAA;IAExB,IAAI,GAAG,EAAE;QACL,IAAI,GAAG,GAAG,CAAA;KACb;SAAM;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,yBAAyB;QACzB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YACnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,qBAAqB;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;aACrC;iBAAM;gBACH,IAAI,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAA;aAC5B;SACJ;aAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAC1B,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;SAC3B;KACJ;IAED,OAAO,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChG,CAAC;AA3BD,wCA2BC","sourcesContent":["\nexport function getEndpointUrl(endpoint:any, subpath:string=''):string {\n const { url='', protocol='http', host='', port=80 } = endpoint\n \n let _url = ''\n let _protocol = protocol\n\n if (url) {\n _url = url\n } else {\n const hosts = host.split('://')\n // host에 protocol을 포함한 경우\n if (hosts.length == 2) {\n const _host = hosts[1]\n _protocol = hosts[0]\n // host에 port를 포함한 경우\n const _hosts = _host.split(':')\n if (_hosts.length > 1) {\n _url = `${_hosts[0]}:${_hosts[1]}`\n } else {\n _url = `${_host}:${port}`\n }\n } else if (hosts.length == 1) { \n _url = `${host}:${port}`\n }\n }\n\n return _protocol + '://' + _url.split('/').concat(subpath.split('/')).filter(x=>x).join('/')\n}\n"]}
1
+ {"version":3,"file":"config-resolver.js","sourceRoot":"","sources":["../../server/utils/config-resolver.ts"],"names":[],"mappings":";;AACA,wCA2BC;AA3BD,SAAgB,cAAc,CAAC,QAAY,EAAE,UAAe,EAAE;IAC1D,MAAM,EAAE,GAAG,GAAC,EAAE,EAAE,QAAQ,GAAC,MAAM,EAAE,IAAI,GAAC,EAAE,EAAE,IAAI,GAAC,EAAE,EAAE,GAAG,QAAQ,CAAA;IAE9D,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,SAAS,GAAG,QAAQ,CAAA;IAExB,IAAI,GAAG,EAAE,CAAC;QACN,IAAI,GAAG,GAAG,CAAA;IACd,CAAC;SAAM,CAAC;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,yBAAyB;QACzB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,qBAAqB;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACJ,IAAI,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAA;YAC7B,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;QAC5B,CAAC;IACL,CAAC;IAED,OAAO,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChG,CAAC","sourcesContent":["\nexport function getEndpointUrl(endpoint:any, subpath:string=''):string {\n const { url='', protocol='http', host='', port=80 } = endpoint\n \n let _url = ''\n let _protocol = protocol\n\n if (url) {\n _url = url\n } else {\n const hosts = host.split('://')\n // host에 protocol을 포함한 경우\n if (hosts.length == 2) {\n const _host = hosts[1]\n _protocol = hosts[0]\n // host에 port를 포함한 경우\n const _hosts = _host.split(':')\n if (_hosts.length > 1) {\n _url = `${_hosts[0]}:${_hosts[1]}`\n } else {\n _url = `${_host}:${port}`\n }\n } else if (hosts.length == 1) { \n _url = `${host}:${port}`\n }\n }\n\n return _protocol + '://' + _url.split('/').concat(subpath.split('/')).filter(x=>x).join('/')\n}\n"]}
@@ -0,0 +1 @@
1
+ export * from './config-resolver';
@@ -1,11 +1,14 @@
1
1
  # DataSensor
2
+
2
3
  데이타 센서를 등록하고 조회합니다.<br>
4
+
3
5
  - 이름: 데이타 센서 이름을 설정합니다.<br>
4
6
  - 설명: 데이타 센서에 대한 설명을 설정합니다.<br>
5
7
  - 활성화: 사용 여부를 설정합니다. 비활성화된 센서 데이타는 데이타 샘플로 저장하지 않습니다.<br>
6
8
  - 디바이스 아이디: 유일한 센서의 아이디를 설정합니다 <br>
7
9
  - 태그이름: (deprecated 검토 중)<br>
8
10
  - 어플라이언스: 데이타 등록 권한을 가진 어플라이언스를 설정합니다.<br>
11
+ - 디코더 시나리오: 외부에서 받은 데이터를 시나리오를 지정하여 parsing후, 시나리오의 마지막 결과 Key를 'data'로 지정하여 data 필드에 데이터를 쌓습니다.</br>
9
12
  - 데이터셋: 해당 센서 데이터에 반영할 데이터셋을 설정합니다. <br>
10
13
  - 모델: 센서 모델 정보를 설정합니다.<br>
11
14
  - 브랜드: 센서 브랜드를 설정합니다.<br>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "7.0.0-alpha.8",
3
+ "version": "7.0.0",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -27,33 +27,34 @@
27
27
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
28
28
  },
29
29
  "dependencies": {
30
- "@material/mwc-fab": "^0.27.0",
31
- "@material/mwc-icon": "^0.27.0",
32
- "@operato/app": "^2.0.0-alpha.0",
33
- "@operato/data-grist": "^2.0.0-alpha.0",
34
- "@operato/dataset": "^2.0.0-alpha.0",
35
- "@operato/ghost-print": "^2.0.0-alpha.0",
36
- "@operato/graphql": "^2.0.0-alpha.0",
37
- "@operato/grist-editor": "^2.0.0-alpha.0",
38
- "@operato/i18n": "^2.0.0-alpha.0",
39
- "@operato/layout": "^2.0.0-alpha.0",
40
- "@operato/shell": "^2.0.0-alpha.0",
41
- "@operato/styles": "^2.0.0-alpha.0",
42
- "@operato/utils": "^2.0.0-alpha.0",
43
- "@things-factory/auth-base": "^7.0.0-alpha.8",
44
- "@things-factory/aws-base": "^7.0.0-alpha.8",
45
- "@things-factory/board-service": "^7.0.0-alpha.8",
46
- "@things-factory/env": "^7.0.0-alpha.0",
47
- "@things-factory/integration-base": "^7.0.0-alpha.8",
48
- "@things-factory/organization": "^7.0.0-alpha.8",
49
- "@things-factory/scheduler-client": "^7.0.0-alpha.8",
50
- "@things-factory/shell": "^7.0.0-alpha.8",
51
- "@things-factory/work-shift": "^7.0.0-alpha.8",
52
- "@things-factory/worklist": "^7.0.0-alpha.8",
30
+ "@operato/app": "^7.0.0",
31
+ "@operato/data-grist": "^7.0.0",
32
+ "@operato/dataset": "^7.0.0",
33
+ "@operato/ghost-print": "^7.0.0",
34
+ "@operato/graphql": "^7.0.0",
35
+ "@operato/grist-editor": "^7.0.0",
36
+ "@operato/i18n": "^7.0.0",
37
+ "@operato/layout": "^7.0.0",
38
+ "@operato/moment-timezone-es": "^7.0.0",
39
+ "@operato/p13n": "^7.0.0",
40
+ "@operato/shell": "^7.0.0",
41
+ "@operato/styles": "^7.0.0",
42
+ "@operato/utils": "^7.0.0",
43
+ "@things-factory/auth-base": "^7.0.0",
44
+ "@things-factory/aws-base": "^7.0.0",
45
+ "@things-factory/board-service": "^7.0.0",
46
+ "@things-factory/env": "^7.0.0",
47
+ "@things-factory/integration-base": "^7.0.0",
48
+ "@things-factory/organization": "^7.0.0",
49
+ "@things-factory/personalization": "^7.0.0",
50
+ "@things-factory/scheduler-client": "^7.0.0",
51
+ "@things-factory/shell": "^7.0.0",
52
+ "@things-factory/work-shift": "^7.0.0",
53
+ "@things-factory/worklist": "^7.0.0",
53
54
  "cron-parser": "^4.3.0",
54
- "moment-timezone": "^0.5.40",
55
+ "moment-timezone": "^0.5.45",
55
56
  "simple-statistics": "^7.8.3",
56
57
  "statistics": "^3.3.0"
57
58
  },
58
- "gitHead": "b4981ea2721e7eaf4dbd618b6c77316ebc000ee5"
59
+ "gitHead": "00f3917ca132679e3571f3f4fd16f4caf84f488e"
59
60
  }
@@ -1,3 +1,4 @@
1
+ import { In } from 'typeorm'
1
2
  import { Activity, ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAddendum } from '@things-factory/worklist'
2
3
  import { issue } from '@things-factory/worklist/dist-server/controllers/activity-instance/issue'
3
4
 
@@ -10,7 +11,7 @@ async function callback(activityInstance: ActivityInstance, addendum: UpdateActi
10
11
 
11
12
  if (state == ActivityInstanceStatus.Ended) {
12
13
  const activity = (await tx.getRepository(Activity).findOneBy({
13
- domain: { id: domain.id },
14
+ domain: domain.parentId ? In([domain.id, domain.parentId]) : { id: domain.id },
14
15
  name: 'OOC Resolve'
15
16
  })) as Activity
16
17
 
@@ -7,5 +7,5 @@ import { ActivityOocReview } from './activity-ooc-review'
7
7
 
8
8
  /* activity templates installation */
9
9
  ;[ActivityOocReview, ActivityOocResolve, ActivityDataCollect, ActivityDataReview].forEach(template => {
10
- ActivityInstallations.installActivityTemplate(template)
10
+ ActivityInstallations.installActivityTemplate(template as any)
11
11
  })
@@ -19,7 +19,7 @@ import { DataUseCase } from './data-use-case'
19
19
  // See README.md at ## Data Samples
20
20
  process.env.TZ = 'UTC'
21
21
 
22
- const fillDataKeys = (dataKeySet, data) => {
22
+ const fillDataKeys = (dataKeySet, data = {}) => {
23
23
  const keys = dataKeySet?.dataKeyItems || []
24
24
  return keys.reduce((sum, key, index) => {
25
25
  const value = data[key.dataKey]
@@ -63,7 +63,7 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
63
63
  relations: ['dataKeySet']
64
64
  })
65
65
 
66
- const { dataItems, tag: publishTag, normalScenarioId, outlierScenarioId } = dataSet
66
+ const { dataItems = [], tag: publishTag, normalScenarioId, outlierScenarioId } = dataSet
67
67
  const collectedAt = newDataSample.collectedAt || new Date()
68
68
 
69
69
  const timezone = dataSet.timezone || domain.timezone || 'UTC'
@@ -221,33 +221,38 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
221
221
  if (outlierScenarioId) {
222
222
  const scenario = await tx.getRepository(Scenario).findOne({
223
223
  where: {
224
- domain: { id: domain.id },
224
+ domain: domain.parentId ? { id: In([domain.id, domain.parentId]) } : { id: domain.id },
225
225
  id: outlierScenarioId
226
226
  },
227
227
  relations: ['domain', 'steps', 'updater']
228
228
  })
229
229
 
230
230
  if (scenario) {
231
- scenario.start(scenario.name + ':' + dataSet.name + ':' + dataSample.id, {
232
- dataOocId: dataOoc.id,
233
- dataSampleId: dataSample.id,
234
- dataSet: dataSet.id,
235
- data,
236
- ooc,
237
- oos,
238
- judgment,
239
- collectedAt,
240
- workDate,
241
- workShift,
242
- domain: {
243
- id: domain.id,
244
- subdomain: domain.subdomain,
245
- name: domain.name
246
- },
247
- updator: {
248
- id: user.id,
249
- email: user.email,
250
- name: user.name
231
+ scenario.start({
232
+ instanceName: scenario.name + ':' + dataSet.name + ':' + dataSample.id,
233
+ domain,
234
+ user,
235
+ variables: {
236
+ dataOocId: dataOoc.id,
237
+ dataSampleId: dataSample.id,
238
+ dataSet: dataSet.id,
239
+ data,
240
+ ooc,
241
+ oos,
242
+ judgment,
243
+ collectedAt,
244
+ workDate,
245
+ workShift,
246
+ domain: {
247
+ id: domain.id,
248
+ subdomain: domain.subdomain,
249
+ name: domain.name
250
+ },
251
+ updator: {
252
+ id: user.id,
253
+ email: user.email,
254
+ name: user.name
255
+ }
251
256
  }
252
257
  })
253
258
  } else {
@@ -256,12 +261,14 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
256
261
  }
257
262
 
258
263
  const activity = (await tx.getRepository(Activity).findOneBy({
259
- domain: { id: domain.id },
264
+ domain: domain.parentId ? { id: In([domain.id, domain.parentId]) } : { id: domain.id },
260
265
  name: 'OOC Review'
261
266
  })) as Activity
262
267
 
263
268
  if (activity) {
264
- const assignee = dataSet.supervisoryRoleId && (await tx.getRepository(Role).findOneBy({ domain: { id: domain.id }, id: dataSet.supervisoryRoleId }))
269
+ const assignee =
270
+ dataSet.supervisoryRoleId &&
271
+ (await tx.getRepository(Role).findOneBy({ domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSet.supervisoryRoleId }))
265
272
 
266
273
  const assignees = dataSet.supervisoryRoleId ? [{ type: 'Role', value: dataSet.supervisoryRoleId, assignee }] : []
267
274
 
@@ -279,13 +286,15 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
279
286
  approvalLine: []
280
287
  }
281
288
 
282
- dataOoc.reviewActivityInstance = await issue(activityInstance, context)
289
+ dataOoc.reviewActivityInstance = await issue(activityInstance as any, context)
283
290
  await tx.getRepository(DataOoc).save(dataOoc)
284
291
  } else {
285
- console.error(`Assignees are not set. So Data OOC Review task for ${dataOoc.name}(${dataOoc.id}) could not be issued.`)
292
+ console.error(
293
+ `Assignees are not set. So Data OOC Review task for ${dataOoc.name}(${dataOoc.id}) could not be issued.`
294
+ )
286
295
  }
287
296
  } else {
288
- console.error('OOC Review Activity not installed.')
297
+ console.warn('OOC Review Activity not installed.')
289
298
  }
290
299
 
291
300
  try {
@@ -311,32 +320,37 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
311
320
  if (normalScenarioId) {
312
321
  const scenario = await tx.getRepository(Scenario).findOne({
313
322
  where: {
314
- domain: { id: domain.id },
323
+ domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },
315
324
  id: normalScenarioId
316
325
  },
317
326
  relations: ['domain', 'steps', 'updater']
318
327
  })
319
328
 
320
329
  if (scenario) {
321
- scenario.start(scenario.name + ':' + dataSet.name + ':' + dataSample.id, {
322
- dataSampleId: dataSample.id,
323
- dataSet: dataSet.id,
324
- data,
325
- ooc,
326
- oos,
327
- judgment,
328
- collectedAt,
329
- workDate,
330
- workShift,
331
- domain: {
332
- id: domain.id,
333
- subdomain: domain.subdomain,
334
- name: domain.name
335
- },
336
- updator: {
337
- id: user.id,
338
- email: user.email,
339
- name: user.name
330
+ scenario.start({
331
+ instanceName: scenario.name + ':' + dataSet.name + ':' + dataSample.id,
332
+ domain,
333
+ user,
334
+ variables: {
335
+ dataSampleId: dataSample.id,
336
+ dataSet: dataSet.id,
337
+ data,
338
+ ooc,
339
+ oos,
340
+ judgment,
341
+ collectedAt,
342
+ workDate,
343
+ workShift,
344
+ domain: {
345
+ id: domain.id,
346
+ subdomain: domain.subdomain,
347
+ name: domain.name
348
+ },
349
+ updator: {
350
+ id: user.id,
351
+ email: user.email,
352
+ name: user.name
353
+ }
340
354
  }
341
355
  })
342
356
  } else {
@@ -346,14 +360,18 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
346
360
 
347
361
  if (dataSet.requiresReview) {
348
362
  const activity = (await tx.getRepository(Activity).findOneBy({
349
- domain: { id: domain.id },
363
+ domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },
350
364
  name: 'Data Review'
351
365
  })) as Activity
352
366
 
353
367
  if (activity) {
354
- const assignee = dataSet.supervisoryRoleId && (await tx.getRepository(Role).findOneBy({ domain: { id: domain.id }, id: dataSet.supervisoryRoleId }))
368
+ const assignee =
369
+ dataSet.supervisoryRoleId &&
370
+ (await tx.getRepository(Role).findOneBy({ domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSet.supervisoryRoleId }))
355
371
 
356
- const assignees = dataSet.supervisoryRoleId ? [{ type: 'Role', value: dataSet.supervisoryRoleId, assignee }] : []
372
+ const assignees = dataSet.supervisoryRoleId
373
+ ? [{ type: 'Role', value: dataSet.supervisoryRoleId, assignee }]
374
+ : []
357
375
 
358
376
  /* 해당 dataset의 supervisor로 하여금, data를 리뷰하고 instruction을 작성해서, approvalLine을 이용해서 승인을 한다. */
359
377
  if (assignees && assignees instanceof Array && assignees.length > 0) {
@@ -370,7 +388,7 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
370
388
  approvalLine: dataSet.reviewApprovalLine
371
389
  }
372
390
 
373
- dataSample.reviewActivityInstance = await issue(activityInstance, context)
391
+ dataSample.reviewActivityInstance = await issue(activityInstance as any, context)
374
392
  await tx.getRepository(DataSample).save(dataSample)
375
393
 
376
394
  try {
@@ -388,7 +406,9 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
388
406
  logger.error('Notification', err)
389
407
  }
390
408
  } else {
391
- console.error(`Assignees are not set. So Data Review task for ${dataSet.name}(${dataSet.id}) could not be issued.`)
409
+ console.error(
410
+ `Assignees are not set. So Data Review task for ${dataSet.name}(${dataSet.id}) could not be issued.`
411
+ )
392
412
  }
393
413
  } else {
394
414
  console.error('Data Review Activity not installed.')
@@ -5,7 +5,11 @@ import { Activity, ActivityInstance, issue } from '@things-factory/worklist'
5
5
 
6
6
  import { DataSet } from '../service/data-set/data-set'
7
7
 
8
- export async function issueCollectData(domainId: string, dataSetId: string, context: ResolverContext): Promise<ActivityInstance> {
8
+ export async function issueCollectData(
9
+ domainId: string,
10
+ dataSetId: string,
11
+ context: ResolverContext
12
+ ): Promise<ActivityInstance | void> {
9
13
  await getDataSource().transaction(async tx => {
10
14
  const domain = await tx.getRepository(Domain).findOneBy({ id: domainId })
11
15
 
@@ -23,7 +27,7 @@ export async function issueCollectData(domainId: string, dataSetId: string, cont
23
27
  })
24
28
 
25
29
  const activity = (await tx.getRepository(Activity).findOneBy({
26
- domain: { id: domain.id },
30
+ domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },
27
31
  name: 'Collect Data'
28
32
  })) as Activity
29
33
 
@@ -52,7 +56,9 @@ export async function issueCollectData(domainId: string, dataSetId: string, cont
52
56
 
53
57
  return await issue(activityInstance, context)
54
58
  } else {
55
- throw new Error(`Assignees not set. So Data Collect Activity for ${dataSet.name}($dataSet.id) could not be issued.`)
59
+ throw new Error(
60
+ `Assignees not set. So Data Collect Activity for ${dataSet.name}($dataSet.id) could not be issued.`
61
+ )
56
62
  }
57
63
  } else {
58
64
  throw new Error(`Data Collect Activity is not installed.`)
@@ -6,11 +6,18 @@ import i18next from 'i18next'
6
6
  import { DataSet } from '../../service/data-set/data-set'
7
7
 
8
8
  import { createDataSample } from '../../controllers/create-data-sample'
9
+ import { TaskHandler } from '@things-factory/integration-base/dist-server/engine/types'
9
10
 
10
11
  async function CreateDataSample(step: InputStep, context: Context) {
11
- const { logger, data, domain, user, lng } = context
12
+ const { data, domain, user, lng } = context
12
13
  var {
13
- params: { dataset: dataSetId, source: sourceAccessor, rawData: rawDataAccessor, data: dataAccessor, timestamp }
14
+ params: {
15
+ dataset: dataSetId,
16
+ source: sourceAccessor,
17
+ rawData: rawDataAccessor,
18
+ data: dataAccessor,
19
+ timestamp: timestampAccessor
20
+ }
14
21
  } = step
15
22
 
16
23
  if (!dataSetId) {
@@ -18,7 +25,7 @@ async function CreateDataSample(step: InputStep, context: Context) {
18
25
  }
19
26
 
20
27
  // make new data-sample
21
- await getDataSource().transaction(async tx => {
28
+ return await getDataSource().transaction(async tx => {
22
29
  const dataSet = await tx.getRepository(DataSet).findOne({
23
30
  where: {
24
31
  id: dataSetId
@@ -28,6 +35,7 @@ async function CreateDataSample(step: InputStep, context: Context) {
28
35
  var source = await access(sourceAccessor, data)
29
36
  var extractedData = await access(dataAccessor, data)
30
37
  var extractedRawData = rawDataAccessor && (await access(rawDataAccessor, data))
38
+ var timestamp = timestampAccessor && (await access(timestampAccessor, data))
31
39
 
32
40
  const dataSample = await createDataSample(
33
41
  {
@@ -89,4 +97,4 @@ CreateDataSample.parameterSpec = [
89
97
  CreateDataSample.connectorFree = true
90
98
  CreateDataSample.help = 'dataset/task/create-data-sample'
91
99
 
92
- TaskRegistry.registerTaskHandler('create-data-sample', CreateDataSample)
100
+ TaskRegistry.registerTaskHandler('create-data-sample', CreateDataSample as TaskHandler)
package/server/routes.ts CHANGED
@@ -47,20 +47,24 @@ process.on('bootstrap-module-global-public-route' as any, (app, globalPublicRout
47
47
  throw new Error(`Appliance of the sensor given deviceId(${deviceId}) is not set up`)
48
48
  }
49
49
 
50
- // if (!sensor.dataSet) {
51
- // throw new Error(`DataSet of the sensor given deviceId(${deviceId}) is not set up`)
52
- // }
53
-
54
50
  const domain = sensor.domain
55
51
  const dataSet = sensor.dataSet
56
- // const user: User = await tx.getRepository(User).findOne({
57
- // where: {
58
- // reference: sensor.appliance.id,
59
- // userType: 'appliance'
60
- // }
61
- // })
52
+
53
+ /*
54
+ 원칙적으로 user 인증정보를 가지고 요청해야 하지만, 인증정보를 보낼 수 없는 상황이라고 전제하여 처리한다.
55
+ 앞으로, 보완되어야 한다.
56
+ */
57
+ const user: User =
58
+ context.user ||
59
+ (await tx.getRepository(User).findOne({
60
+ where: {
61
+ reference: sensor.appliance.id,
62
+ userType: 'appliance'
63
+ }
64
+ }))
62
65
 
63
66
  context.state = {
67
+ user,
64
68
  ...context.state,
65
69
  domain,
66
70
  tx
@@ -22,7 +22,10 @@ export class DataArchiveQuery {
22
22
 
23
23
  @Directive('@privilege(category: "data-archive", privilege: "query", domainOwnerGranted: true)')
24
24
  @Query(returns => DataArchiveList, { description: 'To fetch multiple DataArchives' })
25
- async dataArchives(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataArchiveList> {
25
+ async dataArchives(
26
+ @Args(type => ListParam) params: ListParam,
27
+ @Ctx() context: ResolverContext
28
+ ): Promise<DataArchiveList> {
26
29
  const { domain } = context.state
27
30
 
28
31
  const queryBuilder = getQueryBuilderFromListParams({
@@ -23,7 +23,7 @@ export class DataArchive {
23
23
  readonly id: string
24
24
 
25
25
  @ManyToOne(type => Domain)
26
- @Field({ nullable: true })
26
+ @Field(type => Domain)
27
27
  domain?: Domain
28
28
 
29
29
  @RelationId((dataArchive: DataArchive) => dataArchive.domain)
@@ -54,14 +54,14 @@ export class DataArchive {
54
54
  updatedAt?: Date
55
55
 
56
56
  @ManyToOne(type => User, { nullable: true })
57
- @Field({ nullable: true })
57
+ @Field(type => User, { nullable: true })
58
58
  creator?: User
59
59
 
60
60
  @RelationId((dataArchive: DataArchive) => dataArchive.creator)
61
61
  creatorId?: string
62
62
 
63
63
  @ManyToOne(type => User, { nullable: true })
64
- @Field({ nullable: true })
64
+ @Field(type => User, { nullable: true })
65
65
  updater?: User
66
66
 
67
67
  @RelationId((dataArchive: DataArchive) => dataArchive.updater)
@@ -20,7 +20,10 @@ export class DataKeySetQuery {
20
20
  }
21
21
 
22
22
  @Query(returns => DataKeySetList, { description: 'To fetch multiple DataKeySets' })
23
- async dataKeySets(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataKeySetList> {
23
+ async dataKeySets(
24
+ @Args(type => ListParam) params: ListParam,
25
+ @Ctx() context: ResolverContext
26
+ ): Promise<DataKeySetList> {
24
27
  const { domain } = context.state
25
28
 
26
29
  const queryBuilder = getQueryBuilderFromListParams({
@@ -25,7 +25,7 @@ export class DataKeySet {
25
25
  readonly id: string
26
26
 
27
27
  @ManyToOne(type => Domain)
28
- @Field({ nullable: true })
28
+ @Field(type => Domain)
29
29
  domain?: Domain
30
30
 
31
31
  @RelationId((dataKeySet: DataKeySet) => dataKeySet.domain)
@@ -68,14 +68,14 @@ export class DataKeySet {
68
68
  updatedAt?: Date
69
69
 
70
70
  @ManyToOne(type => User, { nullable: true })
71
- @Field({ nullable: true })
71
+ @Field(type => User, { nullable: true })
72
72
  creator?: User
73
73
 
74
74
  @RelationId((dataKeySet: DataKeySet) => dataKeySet.creator)
75
75
  creatorId?: string
76
76
 
77
77
  @ManyToOne(type => User, { nullable: true })
78
- @Field({ nullable: true })
78
+ @Field(type => User, { nullable: true })
79
79
  updater?: User
80
80
 
81
81
  @RelationId((dataKeySet: DataKeySet) => dataKeySet.updater)
@@ -25,7 +25,7 @@ export class DataOocQuery {
25
25
 
26
26
  @Directive('@privilege(category: "data-ooc", privilege: "query", domainOwnerGranted: true)')
27
27
  @Query(returns => DataOocList, { description: 'To fetch multiple DataOoc' })
28
- async dataOocs(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataOocList> {
28
+ async dataOocs(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<DataOocList> {
29
29
  const { domain } = context.state
30
30
 
31
31
  const queryBuilder = getQueryBuilderFromListParams({
@@ -65,12 +65,18 @@ export class DataOocQuery {
65
65
 
66
66
  @FieldResolver(type => ActivityInstance)
67
67
  async reviewActivityInstance(@Root() dataOoc: DataOoc): Promise<ActivityInstance> {
68
- return dataOoc.reviewActivityInstanceId && (await getRepository(ActivityInstance).findOneBy({ id: dataOoc.reviewActivityInstanceId }))
68
+ return (
69
+ dataOoc.reviewActivityInstanceId &&
70
+ (await getRepository(ActivityInstance).findOneBy({ id: dataOoc.reviewActivityInstanceId }))
71
+ )
69
72
  }
70
73
 
71
74
  @FieldResolver(type => ActivityInstance)
72
75
  async resolveActivityInstance(@Root() dataOoc: DataOoc): Promise<ActivityInstance> {
73
- return dataOoc.resolveActivityInstanceId && (await getRepository(ActivityInstance).findOneBy({ id: dataOoc.resolveActivityInstanceId }))
76
+ return (
77
+ dataOoc.resolveActivityInstanceId &&
78
+ (await getRepository(ActivityInstance).findOneBy({ id: dataOoc.resolveActivityInstanceId }))
79
+ )
74
80
  }
75
81
 
76
82
  @FieldResolver(type => User)