@things-factory/dataset 9.0.0-beta.5 → 9.0.0-beta.52

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 (250) hide show
  1. package/dist-client/activities/activity-data-collect-edit.d.ts +8 -1
  2. package/dist-client/activities/activity-data-collect-edit.js +62 -9
  3. package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
  4. package/dist-client/activities/activity-data-review-edit.d.ts +2 -0
  5. package/dist-client/activities/activity-data-review-edit.js +43 -14
  6. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  7. package/dist-client/activities/activity-data-review-view.d.ts +2 -0
  8. package/dist-client/activities/activity-data-review-view.js +106 -4
  9. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  10. package/dist-client/activities/activity-ooc-resolve-edit.js +7 -0
  11. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  12. package/dist-client/activities/activity-ooc-resolve-view.js +7 -0
  13. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  14. package/dist-client/activities/activity-ooc-review-edit.d.ts +1 -0
  15. package/dist-client/activities/activity-ooc-review-edit.js +28 -4
  16. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  17. package/dist-client/activities/activity-ooc-review-view.js +7 -0
  18. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  19. package/dist-client/bootstrap.d.ts +8 -8
  20. package/dist-client/bootstrap.js +8 -8
  21. package/dist-client/bootstrap.js.map +1 -1
  22. package/dist-client/components/checklist-entry-form.d.ts +21 -0
  23. package/dist-client/components/checklist-entry-form.js +108 -0
  24. package/dist-client/components/checklist-entry-form.js.map +1 -0
  25. package/dist-client/components/data-entry-form.d.ts +3 -2
  26. package/dist-client/components/data-entry-form.js +2 -2
  27. package/dist-client/components/data-entry-form.js.map +1 -1
  28. package/dist-client/pages/data-archive/data-archive-list-page.d.ts +1 -1
  29. package/dist-client/pages/data-archive/data-archive-list-page.js +1 -1
  30. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
  31. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
  32. package/dist-client/pages/data-entry/data-entry-list-page.js +12 -2
  33. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  34. package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +1 -1
  35. package/dist-client/pages/data-key-set/data-key-set-list-page.js +1 -1
  36. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
  37. package/dist-client/pages/data-ooc/data-ooc-list-page.js +2 -2
  38. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  39. package/dist-client/pages/data-ooc/data-ooc-page.js +3 -0
  40. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  41. package/dist-client/pages/data-ooc/data-ooc-view.js +3 -0
  42. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  43. package/dist-client/pages/data-report/data-report-list-page.js +1 -1
  44. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
  45. package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -0
  46. package/dist-client/pages/data-sample/data-sample-view.js +27 -1
  47. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  48. package/dist-client/pages/data-sensor/data-sensor-list-page.js +24 -0
  49. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  50. package/dist-client/pages/data-set/data-item-list.js +9 -0
  51. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  52. package/dist-client/pages/data-set/data-set-list-page.d.ts +2 -0
  53. package/dist-client/pages/data-set/data-set-list-page.js +59 -10
  54. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  55. package/dist-client/pages/data-summary/data-summary-period-page.js +53 -37
  56. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
  57. package/dist-client/tsconfig.tsbuildinfo +1 -1
  58. package/dist-server/activities/activity-data-review.js +9 -9
  59. package/dist-server/activities/activity-data-review.js.map +1 -1
  60. package/dist-server/activities/activity-ooc-resolve.js +3 -3
  61. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  62. package/dist-server/activities/activity-ooc-review.js +5 -5
  63. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  64. package/dist-server/activities/index.js +5 -5
  65. package/dist-server/activities/index.js.map +1 -1
  66. package/dist-server/controllers/create-data-ooc.d.ts +3 -3
  67. package/dist-server/controllers/create-data-ooc.js +4 -4
  68. package/dist-server/controllers/create-data-ooc.js.map +1 -1
  69. package/dist-server/controllers/create-data-sample.d.ts +2 -2
  70. package/dist-server/controllers/create-data-sample.js +20 -20
  71. package/dist-server/controllers/create-data-sample.js.map +1 -1
  72. package/dist-server/controllers/data-use-case.d.ts +2 -2
  73. package/dist-server/controllers/data-use-case.js.map +1 -1
  74. package/dist-server/controllers/finalize-data-collection.d.ts +1 -1
  75. package/dist-server/controllers/finalize-data-collection.js +21 -21
  76. package/dist-server/controllers/finalize-data-collection.js.map +1 -1
  77. package/dist-server/controllers/index.d.ts +6 -6
  78. package/dist-server/controllers/index.js +6 -6
  79. package/dist-server/controllers/index.js.map +1 -1
  80. package/dist-server/controllers/issue-data-collection-task.js +3 -3
  81. package/dist-server/controllers/issue-data-collection-task.js.map +1 -1
  82. package/dist-server/controllers/issue-ooc-review.d.ts +2 -2
  83. package/dist-server/controllers/issue-ooc-review.js +2 -2
  84. package/dist-server/controllers/issue-ooc-review.js.map +1 -1
  85. package/dist-server/controllers/jasper-report.js +2 -2
  86. package/dist-server/controllers/jasper-report.js.map +1 -1
  87. package/dist-server/controllers/query-data-summary-by-period.d.ts +2 -2
  88. package/dist-server/controllers/query-data-summary-by-period.js +23 -17
  89. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
  90. package/dist-server/controllers/shiny-report.js +2 -2
  91. package/dist-server/controllers/shiny-report.js.map +1 -1
  92. package/dist-server/engine/index.d.ts +1 -1
  93. package/dist-server/engine/index.js +1 -1
  94. package/dist-server/engine/index.js.map +1 -1
  95. package/dist-server/engine/task/create-data-sample.js +4 -4
  96. package/dist-server/engine/task/create-data-sample.js.map +1 -1
  97. package/dist-server/engine/task/index.d.ts +2 -2
  98. package/dist-server/engine/task/index.js +2 -2
  99. package/dist-server/engine/task/index.js.map +1 -1
  100. package/dist-server/engine/task/issue-collect-data.js +2 -2
  101. package/dist-server/engine/task/issue-collect-data.js.map +1 -1
  102. package/dist-server/index.d.ts +6 -6
  103. package/dist-server/index.js +6 -6
  104. package/dist-server/index.js.map +1 -1
  105. package/dist-server/routes.js +12 -12
  106. package/dist-server/routes.js.map +1 -1
  107. package/dist-server/service/data-archive/data-archive-mutation.d.ts +2 -2
  108. package/dist-server/service/data-archive/data-archive-mutation.js +22 -22
  109. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
  110. package/dist-server/service/data-archive/data-archive-query.d.ts +2 -2
  111. package/dist-server/service/data-archive/data-archive-query.js +10 -10
  112. package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
  113. package/dist-server/service/data-archive/data-archive-type.d.ts +1 -1
  114. package/dist-server/service/data-archive/data-archive-type.js +2 -2
  115. package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
  116. package/dist-server/service/data-archive/index.d.ts +3 -3
  117. package/dist-server/service/data-archive/index.js +5 -5
  118. package/dist-server/service/data-archive/index.js.map +1 -1
  119. package/dist-server/service/data-key-set/data-key-set-mutation.d.ts +2 -2
  120. package/dist-server/service/data-key-set/data-key-set-mutation.js +20 -20
  121. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  122. package/dist-server/service/data-key-set/data-key-set-query.d.ts +2 -2
  123. package/dist-server/service/data-key-set/data-key-set-query.js +12 -12
  124. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  125. package/dist-server/service/data-key-set/data-key-set-type.d.ts +3 -3
  126. package/dist-server/service/data-key-set/data-key-set-type.js +6 -6
  127. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
  128. package/dist-server/service/data-key-set/data-key-set.d.ts +2 -2
  129. package/dist-server/service/data-key-set/data-key-set.js +3 -3
  130. package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
  131. package/dist-server/service/data-key-set/index.d.ts +3 -3
  132. package/dist-server/service/data-key-set/index.js +5 -5
  133. package/dist-server/service/data-key-set/index.js.map +1 -1
  134. package/dist-server/service/data-ooc/data-ooc-mutation.d.ts +2 -2
  135. package/dist-server/service/data-ooc/data-ooc-mutation.js +11 -11
  136. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  137. package/dist-server/service/data-ooc/data-ooc-query.d.ts +5 -5
  138. package/dist-server/service/data-ooc/data-ooc-query.js +27 -27
  139. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  140. package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +1 -1
  141. package/dist-server/service/data-ooc/data-ooc-subscription.js +3 -3
  142. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  143. package/dist-server/service/data-ooc/data-ooc-type.d.ts +1 -1
  144. package/dist-server/service/data-ooc/data-ooc-type.js +4 -4
  145. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  146. package/dist-server/service/data-ooc/data-ooc.d.ts +3 -3
  147. package/dist-server/service/data-ooc/data-ooc.js +10 -10
  148. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  149. package/dist-server/service/data-ooc/index.d.ts +4 -4
  150. package/dist-server/service/data-ooc/index.js +6 -6
  151. package/dist-server/service/data-ooc/index.js.map +1 -1
  152. package/dist-server/service/data-sample/data-sample-mutation.d.ts +2 -2
  153. package/dist-server/service/data-sample/data-sample-mutation.js +7 -7
  154. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  155. package/dist-server/service/data-sample/data-sample-query.d.ts +6 -6
  156. package/dist-server/service/data-sample/data-sample-query.js +42 -35
  157. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  158. package/dist-server/service/data-sample/data-sample-type.d.ts +1 -1
  159. package/dist-server/service/data-sample/data-sample-type.js +2 -2
  160. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  161. package/dist-server/service/data-sample/data-sample.d.ts +3 -3
  162. package/dist-server/service/data-sample/data-sample.js +10 -10
  163. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  164. package/dist-server/service/data-sample/index.d.ts +3 -3
  165. package/dist-server/service/data-sample/index.js +5 -5
  166. package/dist-server/service/data-sample/index.js.map +1 -1
  167. package/dist-server/service/data-sensor/data-sensor-mutation.d.ts +2 -2
  168. package/dist-server/service/data-sensor/data-sensor-mutation.js +14 -14
  169. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  170. package/dist-server/service/data-sensor/data-sensor-query.d.ts +3 -3
  171. package/dist-server/service/data-sensor/data-sensor-query.js +16 -16
  172. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  173. package/dist-server/service/data-sensor/data-sensor-type.d.ts +5 -1
  174. package/dist-server/service/data-sensor/data-sensor-type.js +18 -2
  175. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  176. package/dist-server/service/data-sensor/data-sensor.d.ts +3 -1
  177. package/dist-server/service/data-sensor/data-sensor.js +13 -3
  178. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  179. package/dist-server/service/data-sensor/index.d.ts +3 -3
  180. package/dist-server/service/data-sensor/index.js +5 -5
  181. package/dist-server/service/data-sensor/index.js.map +1 -1
  182. package/dist-server/service/data-set/data-item-type.d.ts +2 -0
  183. package/dist-server/service/data-set/data-item-type.js +14 -0
  184. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  185. package/dist-server/service/data-set/data-set-mutation.d.ts +2 -2
  186. package/dist-server/service/data-set/data-set-mutation.js +32 -32
  187. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  188. package/dist-server/service/data-set/data-set-query.d.ts +4 -4
  189. package/dist-server/service/data-set/data-set-query.js +44 -44
  190. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  191. package/dist-server/service/data-set/data-set-type.d.ts +2 -2
  192. package/dist-server/service/data-set/data-set-type.js +5 -5
  193. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  194. package/dist-server/service/data-set/data-set.d.ts +3 -2
  195. package/dist-server/service/data-set/data-set.js +11 -6
  196. package/dist-server/service/data-set/data-set.js.map +1 -1
  197. package/dist-server/service/data-set/index.d.ts +3 -3
  198. package/dist-server/service/data-set/index.js +5 -5
  199. package/dist-server/service/data-set/index.js.map +1 -1
  200. package/dist-server/service/data-set-history/data-set-history-query.d.ts +4 -4
  201. package/dist-server/service/data-set-history/data-set-history-query.js +22 -22
  202. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  203. package/dist-server/service/data-set-history/data-set-history-type.d.ts +1 -1
  204. package/dist-server/service/data-set-history/data-set-history-type.js +2 -2
  205. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
  206. package/dist-server/service/data-set-history/data-set-history.d.ts +2 -2
  207. package/dist-server/service/data-set-history/data-set-history.js +3 -3
  208. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  209. package/dist-server/service/data-set-history/event-subscriber.d.ts +2 -2
  210. package/dist-server/service/data-set-history/event-subscriber.js +4 -4
  211. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
  212. package/dist-server/service/data-set-history/index.d.ts +3 -3
  213. package/dist-server/service/data-set-history/index.js +6 -6
  214. package/dist-server/service/data-set-history/index.js.map +1 -1
  215. package/dist-server/service/data-spec/data-spec-manager.d.ts +1 -1
  216. package/dist-server/service/data-spec/data-spec-manager.js.map +1 -1
  217. package/dist-server/service/data-spec/data-spec-query.d.ts +1 -1
  218. package/dist-server/service/data-spec/data-spec-query.js +9 -9
  219. package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
  220. package/dist-server/service/data-spec/index.d.ts +2 -2
  221. package/dist-server/service/data-spec/index.js +4 -4
  222. package/dist-server/service/data-spec/index.js.map +1 -1
  223. package/dist-server/service/data-summary/data-summary-mutation.js +11 -8
  224. package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -1
  225. package/dist-server/service/data-summary/data-summary-query.d.ts +5 -5
  226. package/dist-server/service/data-summary/data-summary-query.js +31 -31
  227. package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
  228. package/dist-server/service/data-summary/data-summary-type.d.ts +1 -1
  229. package/dist-server/service/data-summary/data-summary-type.js +2 -2
  230. package/dist-server/service/data-summary/data-summary-type.js.map +1 -1
  231. package/dist-server/service/data-summary/data-summary.d.ts +2 -2
  232. package/dist-server/service/data-summary/data-summary.js +6 -6
  233. package/dist-server/service/data-summary/data-summary.js.map +1 -1
  234. package/dist-server/service/data-summary/index.d.ts +3 -3
  235. package/dist-server/service/data-summary/index.js +5 -5
  236. package/dist-server/service/data-summary/index.js.map +1 -1
  237. package/dist-server/service/index.d.ts +12 -12
  238. package/dist-server/service/index.js +37 -37
  239. package/dist-server/service/index.js.map +1 -1
  240. package/dist-server/tsconfig.tsbuildinfo +1 -1
  241. package/dist-server/utils/index.d.ts +1 -1
  242. package/dist-server/utils/index.js +1 -1
  243. package/dist-server/utils/index.js.map +1 -1
  244. package/package.json +13 -13
  245. package/things-factory.config.js +4 -0
  246. package/translations/en.json +3 -0
  247. package/translations/ja.json +3 -0
  248. package/translations/ko.json +3 -0
  249. package/translations/ms.json +3 -0
  250. package/translations/zh.json +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"data-sensor.js","sourceRoot":"","sources":["../../../server/service/data-sensor/data-sensor.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\nimport { Appliance, User } from '@things-factory/auth-base'\nimport { Scenario } from '@things-factory/integration-base'\n\nimport { DataSet } from '../data-set/data-set'\n\n@Entity()\n@Index('ix_data_sensor_0', (dataSensor: DataSensor) => [dataSensor.domain, dataSensor.name], { unique: true })\n@Index('ix_data_sensor_1', (dataSensor: DataSensor) => [dataSensor.deviceId], { unique: true })\n@Index('ix_data_sensor_2', (dataSensor: DataSensor) => [dataSensor.domain, dataSensor.refBy], {\n unique: false\n})\n@Index('ix_data_sensor_3', (dataSensor: DataSensor) => [dataSensor.domain, dataSensor.serialNo], {\n unique: false\n})\n@ObjectType({ description: 'Entity for DataSensor' })\nexport class DataSensor {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((dataSensor: DataSensor) => dataSensor.domain)\n domainId?: string\n\n @Column()\n @Field()\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n active?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deviceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n serialNo?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brand?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n model?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n netmask?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n tag?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refBy?: string\n\n @ManyToOne(type => Appliance, { nullable: true })\n @Field({ nullable: true })\n appliance?: Appliance\n\n @RelationId((dataSensor: DataSensor) => dataSensor.appliance)\n applianceId?: string\n\n @ManyToOne(type => DataSet, { nullable: true })\n @Field({ nullable: true })\n dataSet?: DataSet\n\n @RelationId((dataSensor: DataSensor) => dataSensor.dataSet)\n dataSetId?: string\n\n @ManyToOne(type => Scenario, { nullable: true })\n @Field(type => Scenario, {\n nullable: true,\n description: 'The decoder scenario that automatically executes based on the trigger of raw data collection'\n })\n decoder?: Scenario\n\n @RelationId((dataSensor: DataSensor) => dataSensor.decoder)\n decoderId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((dataSensor: DataSensor) => dataSensor.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((dataSensor: DataSensor) => dataSensor.updater)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"data-sensor.js","sourceRoot":"","sources":["../../../server/service/data-sensor/data-sensor.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { Domain, roundTransformer } from '@things-factory/shell'\nimport { Appliance, User } from '@things-factory/auth-base'\nimport { Scenario } from '@things-factory/integration-base'\n\nimport { DataSet } from '../data-set/data-set.js'\n\n@Entity()\n@Index('ix_data_sensor_0', (dataSensor: DataSensor) => [dataSensor.domain, dataSensor.name], { unique: true })\n@Index('ix_data_sensor_1', (dataSensor: DataSensor) => [dataSensor.deviceId], { unique: true })\n@Index('ix_data_sensor_2', (dataSensor: DataSensor) => [dataSensor.domain, dataSensor.refBy], {\n unique: false\n})\n@Index('ix_data_sensor_3', (dataSensor: DataSensor) => [dataSensor.domain, dataSensor.serialNo], {\n unique: false\n})\n@ObjectType({ description: 'Entity for DataSensor' })\nexport class DataSensor {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((dataSensor: DataSensor) => dataSensor.domain)\n domainId?: string\n\n @Column()\n @Field()\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n active?: boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n deviceId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n serialNo?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n brand?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n model?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n netmask?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n tag?: string\n\n @Column({ type: 'float', nullable: true, comment: '용량', transformer: roundTransformer })\n @Field({ nullable: true })\n capacity?: number\n\n @Column({ nullable: true, comment: '용량 단위' })\n @Field({ nullable: true })\n unit?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refBy?: string\n\n @ManyToOne(type => Appliance, { nullable: true })\n @Field({ nullable: true })\n appliance?: Appliance\n\n @RelationId((dataSensor: DataSensor) => dataSensor.appliance)\n applianceId?: string\n\n @ManyToOne(type => DataSet, { nullable: true })\n @Field({ nullable: true })\n dataSet?: DataSet\n\n @RelationId((dataSensor: DataSensor) => dataSensor.dataSet)\n dataSetId?: string\n\n @ManyToOne(type => Scenario, { nullable: true })\n @Field(type => Scenario, {\n nullable: true,\n description: 'The decoder scenario that automatically executes based on the trigger of raw data collection'\n })\n decoder?: Scenario\n\n @RelationId((dataSensor: DataSensor) => dataSensor.decoder)\n decoderId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((dataSensor: DataSensor) => dataSensor.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((dataSensor: DataSensor) => dataSensor.updater)\n updaterId?: string\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { DataSensor } from './data-sensor';
2
- import { DataSensorQuery } from './data-sensor-query';
3
- import { DataSensorMutation } from './data-sensor-mutation';
1
+ import { DataSensor } from './data-sensor.js';
2
+ import { DataSensorQuery } from './data-sensor-query.js';
3
+ import { DataSensorMutation } from './data-sensor-mutation.js';
4
4
  export declare const entities: (typeof DataSensor)[];
5
5
  export declare const resolvers: (typeof DataSensorQuery | typeof DataSensorMutation)[];
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolvers = exports.entities = void 0;
4
- const data_sensor_1 = require("./data-sensor");
5
- const data_sensor_query_1 = require("./data-sensor-query");
6
- const data_sensor_mutation_1 = require("./data-sensor-mutation");
7
- exports.entities = [data_sensor_1.DataSensor];
8
- exports.resolvers = [data_sensor_query_1.DataSensorQuery, data_sensor_mutation_1.DataSensorMutation];
4
+ const data_sensor_js_1 = require("./data-sensor.js");
5
+ const data_sensor_query_js_1 = require("./data-sensor-query.js");
6
+ const data_sensor_mutation_js_1 = require("./data-sensor-mutation.js");
7
+ exports.entities = [data_sensor_js_1.DataSensor];
8
+ exports.resolvers = [data_sensor_query_js_1.DataSensorQuery, data_sensor_mutation_js_1.DataSensorMutation];
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/data-sensor/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAC1C,2DAAqD;AACrD,iEAA2D;AAE9C,QAAA,QAAQ,GAAG,CAAC,wBAAU,CAAC,CAAA;AACvB,QAAA,SAAS,GAAG,CAAC,mCAAe,EAAE,yCAAkB,CAAC,CAAA","sourcesContent":["import { DataSensor } from './data-sensor'\nimport { DataSensorQuery } from './data-sensor-query'\nimport { DataSensorMutation } from './data-sensor-mutation'\n\nexport const entities = [DataSensor]\nexport const resolvers = [DataSensorQuery, DataSensorMutation]\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/data-sensor/index.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAC7C,iEAAwD;AACxD,uEAA8D;AAEjD,QAAA,QAAQ,GAAG,CAAC,2BAAU,CAAC,CAAA;AACvB,QAAA,SAAS,GAAG,CAAC,sCAAe,EAAE,4CAAkB,CAAC,CAAA","sourcesContent":["import { DataSensor } from './data-sensor.js'\nimport { DataSensorQuery } from './data-sensor-query.js'\nimport { DataSensorMutation } from './data-sensor-mutation.js'\n\nexport const entities = [DataSensor]\nexport const resolvers = [DataSensorQuery, DataSensorMutation]\n"]}
@@ -25,6 +25,7 @@ export declare class DataItem {
25
25
  description?: string;
26
26
  tag?: string;
27
27
  group?: string;
28
+ subgroup?: string;
28
29
  active?: boolean;
29
30
  hidden?: boolean;
30
31
  type?: DataItemType;
@@ -44,6 +45,7 @@ export declare class DataItemPatch {
44
45
  description?: string;
45
46
  tag?: string;
46
47
  group?: string;
48
+ subgroup?: string;
47
49
  type?: DataItemType;
48
50
  options?: {
49
51
  [option: string]: any;
@@ -61,6 +61,13 @@ tslib_1.__decorate([
61
61
  }),
62
62
  tslib_1.__metadata("design:type", String)
63
63
  ], DataItem.prototype, "group", void 0);
64
+ tslib_1.__decorate([
65
+ (0, type_graphql_1.Field)({
66
+ nullable: true,
67
+ description: 'Specifies a secondary grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'
68
+ }),
69
+ tslib_1.__metadata("design:type", String)
70
+ ], DataItem.prototype, "subgroup", void 0);
64
71
  tslib_1.__decorate([
65
72
  (0, type_graphql_1.Field)({ nullable: true, description: 'Indicates if the data item is active' }),
66
73
  tslib_1.__metadata("design:type", Boolean)
@@ -134,6 +141,13 @@ tslib_1.__decorate([
134
141
  }),
135
142
  tslib_1.__metadata("design:type", String)
136
143
  ], DataItemPatch.prototype, "group", void 0);
144
+ tslib_1.__decorate([
145
+ (0, type_graphql_1.Field)({
146
+ nullable: true,
147
+ description: 'Specifies a secondary grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'
148
+ }),
149
+ tslib_1.__metadata("design:type", String)
150
+ ], DataItemPatch.prototype, "subgroup", void 0);
137
151
  tslib_1.__decorate([
138
152
  (0, type_graphql_1.Field)(type => DataItemType, { nullable: true, description: 'The type of the data item' }),
139
153
  tslib_1.__metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"data-item-type.js","sourceRoot":"","sources":["../../../server/service/data-set/data-item-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType, registerEnumType } from 'type-graphql'\n\nimport { ScalarObject } from '@things-factory/shell'\n\nexport enum DataItemType {\n number = 'number',\n text = 'text',\n boolean = 'boolean',\n select = 'select',\n radio = 'radio',\n date = 'date',\n datetime = 'datetime',\n file = 'file',\n signature = 'signature'\n}\n\nregisterEnumType(DataItemType, {\n name: 'DataItemType',\n description: 'type enumeration of a data-item'\n})\n\nexport enum DataItemStatType {\n sum = 'sum',\n mean = 'mean',\n stddev = 'stddev',\n variance = 'variance',\n min = 'min',\n max = 'max',\n range = 'range',\n median = 'median',\n mode = 'mode'\n}\n\nregisterEnumType(DataItemStatType, {\n name: 'DataItemStatType',\n description: 'stat/agg type enumeration of a data-item'\n})\n\n@ObjectType({ description: 'Entity for DataItem' })\nexport class DataItem {\n @Field({ description: 'The name of the data item' })\n name: string\n\n @Field({ nullable: true, description: 'A description of the data item' })\n description?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'\n })\n tag?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'\n })\n group?: string\n\n @Field({ nullable: true, description: 'Indicates if the data item is active' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Indicates if the data item is hidden' })\n hidden?: boolean\n\n @Field({ nullable: true, description: 'The type of the data item' })\n type?: DataItemType\n\n @Field(type => ScalarObject, { nullable: true, description: 'Options associated with the data item type' })\n options?: { [option: string]: any }\n\n @Field({\n nullable: true,\n description: 'The grouping logic for data finalize in the given field during periodic task deadlines.'\n })\n stat?: DataItemStatType\n\n @Field({\n nullable: true,\n description: 'Aggregation functions to be used in data summarizing logic for a given period.'\n })\n agg?: DataItemStatType\n\n @Field({ nullable: true, description: 'The unit of measurement for the data item' })\n unit?: string\n\n @Field(type => Int, { nullable: true, description: 'The maximum number of data values allowed for this field' })\n quota?: number\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Specifies the valid ranges and parameters for this data item.'\n })\n spec?: { [key: string]: any }\n}\n\n@InputType()\nexport class DataItemPatch {\n @Field({ nullable: true, description: 'The name of the data item' })\n name?: string\n\n @Field({ nullable: true, description: 'A description of the data item' })\n description?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'\n })\n tag?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'\n })\n group?: string\n\n @Field(type => DataItemType, { nullable: true, description: 'The type of the data item' })\n type?: DataItemType\n\n @Field(type => ScalarObject, { nullable: true, description: 'Options associated with the data item type' })\n options?: { [option: string]: any }\n\n @Field({\n nullable: true,\n description: 'The grouping logic for data summarization in the given field during periodic task deadlines.'\n })\n stat?: DataItemStatType\n\n @Field({\n nullable: true,\n description: 'Aggregation functions to be used in data summarizing logic for a given period.'\n })\n agg?: DataItemStatType\n\n @Field({ nullable: true, description: 'The unit of measurement for the data item' })\n unit?: string\n\n @Field(type => Int, { nullable: true, description: 'The maximum number of data values allowed for this field' })\n quota?: number\n\n @Field({ nullable: true, description: 'Indicates if the data item is active' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Indicates if the data item is hidden' })\n hidden?: boolean\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Specifies the valid ranges and parameters for this data item.'\n })\n spec?: { [key: string]: any }\n}\n"]}
1
+ {"version":3,"file":"data-item-type.js","sourceRoot":"","sources":["../../../server/service/data-set/data-item-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType, registerEnumType } from 'type-graphql'\n\nimport { ScalarObject } from '@things-factory/shell'\n\nexport enum DataItemType {\n number = 'number',\n text = 'text',\n boolean = 'boolean',\n select = 'select',\n radio = 'radio',\n date = 'date',\n datetime = 'datetime',\n file = 'file',\n signature = 'signature'\n}\n\nregisterEnumType(DataItemType, {\n name: 'DataItemType',\n description: 'type enumeration of a data-item'\n})\n\nexport enum DataItemStatType {\n sum = 'sum',\n mean = 'mean',\n stddev = 'stddev',\n variance = 'variance',\n min = 'min',\n max = 'max',\n range = 'range',\n median = 'median',\n mode = 'mode'\n}\n\nregisterEnumType(DataItemStatType, {\n name: 'DataItemStatType',\n description: 'stat/agg type enumeration of a data-item'\n})\n\n@ObjectType({ description: 'Entity for DataItem' })\nexport class DataItem {\n @Field({ description: 'The name of the data item' })\n name: string\n\n @Field({ nullable: true, description: 'A description of the data item' })\n description?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'\n })\n tag?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'\n })\n group?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a secondary grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'\n })\n subgroup?: string\n\n @Field({ nullable: true, description: 'Indicates if the data item is active' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Indicates if the data item is hidden' })\n hidden?: boolean\n\n @Field({ nullable: true, description: 'The type of the data item' })\n type?: DataItemType\n\n @Field(type => ScalarObject, { nullable: true, description: 'Options associated with the data item type' })\n options?: { [option: string]: any }\n\n @Field({\n nullable: true,\n description: 'The grouping logic for data finalize in the given field during periodic task deadlines.'\n })\n stat?: DataItemStatType\n\n @Field({\n nullable: true,\n description: 'Aggregation functions to be used in data summarizing logic for a given period.'\n })\n agg?: DataItemStatType\n\n @Field({ nullable: true, description: 'The unit of measurement for the data item' })\n unit?: string\n\n @Field(type => Int, { nullable: true, description: 'The maximum number of data values allowed for this field' })\n quota?: number\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Specifies the valid ranges and parameters for this data item.'\n })\n spec?: { [key: string]: any }\n}\n\n@InputType()\nexport class DataItemPatch {\n @Field({ nullable: true, description: 'The name of the data item' })\n name?: string\n\n @Field({ nullable: true, description: 'A description of the data item' })\n description?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'\n })\n tag?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'\n })\n group?: string\n\n @Field({\n nullable: true,\n description:\n 'Specifies a secondary grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'\n })\n subgroup?: string\n\n @Field(type => DataItemType, { nullable: true, description: 'The type of the data item' })\n type?: DataItemType\n\n @Field(type => ScalarObject, { nullable: true, description: 'Options associated with the data item type' })\n options?: { [option: string]: any }\n\n @Field({\n nullable: true,\n description: 'The grouping logic for data summarization in the given field during periodic task deadlines.'\n })\n stat?: DataItemStatType\n\n @Field({\n nullable: true,\n description: 'Aggregation functions to be used in data summarizing logic for a given period.'\n })\n agg?: DataItemStatType\n\n @Field({ nullable: true, description: 'The unit of measurement for the data item' })\n unit?: string\n\n @Field(type => Int, { nullable: true, description: 'The maximum number of data values allowed for this field' })\n quota?: number\n\n @Field({ nullable: true, description: 'Indicates if the data item is active' })\n active?: boolean\n\n @Field({ nullable: true, description: 'Indicates if the data item is hidden' })\n hidden?: boolean\n\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Specifies the valid ranges and parameters for this data item.'\n })\n spec?: { [key: string]: any }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { DataSet } from './data-set';
2
- import { DataSetPatch, NewDataSet } from './data-set-type';
1
+ import { DataSet } from './data-set.js';
2
+ import { DataSetPatch, NewDataSet } from './data-set-type.js';
3
3
  export declare class DataSetMutation {
4
4
  createDataSet(dataSet: NewDataSet, context: ResolverContext): Promise<DataSet>;
5
5
  updateDataSet(id: string, patch: DataSetPatch, context: ResolverContext): Promise<DataSet>;
@@ -9,10 +9,10 @@ const auth_base_1 = require("@things-factory/auth-base");
9
9
  const attachment_base_1 = require("@things-factory/attachment-base");
10
10
  const organization_1 = require("@things-factory/organization");
11
11
  const scheduler_client_1 = require("@things-factory/scheduler-client");
12
- const finalize_data_collection_1 = require("../../controllers/finalize-data-collection");
13
- const data_set_1 = require("./data-set");
14
- const data_set_type_1 = require("./data-set-type");
15
- const issue_data_collection_task_1 = require("../../controllers/issue-data-collection-task");
12
+ const finalize_data_collection_js_1 = require("../../controllers/finalize-data-collection.js");
13
+ const data_set_js_1 = require("./data-set.js");
14
+ const data_set_type_js_1 = require("./data-set-type.js");
15
+ const issue_data_collection_task_js_1 = require("../../controllers/issue-data-collection-task.js");
16
16
  const crypto = require('crypto');
17
17
  function getApprovalLineValue(patch) {
18
18
  const { reviewApprovalLine } = patch;
@@ -77,14 +77,14 @@ function getOutlierApprovalLineValue(patch) {
77
77
  let DataSetMutation = class DataSetMutation {
78
78
  async createDataSet(dataSet, context) {
79
79
  const { domain, user, tx } = context.state;
80
- const dataSetRepo = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
80
+ const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
81
81
  const result = await dataSetRepo.save(Object.assign(Object.assign({}, dataSet), { approvalLine: getApprovalLineValue(dataSet), outlierApprovalLineValue: getOutlierApprovalLineValue(dataSet), version: 1, domain, creator: user, updater: user }));
82
82
  await this._createAttachment(context, dataSet.reportTemplate, { ref: result, cuFlag: '+' });
83
83
  return result;
84
84
  }
85
85
  async updateDataSet(id, patch, context) {
86
86
  const { domain, user, tx } = context.state;
87
- const dataSetRepo = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
87
+ const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
88
88
  const dataSet = await dataSetRepo.findOne({
89
89
  where: { domain: { id: domain.id }, id },
90
90
  relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']
@@ -96,7 +96,7 @@ let DataSetMutation = class DataSetMutation {
96
96
  }
97
97
  async updateMultipleDataSet(patches, context) {
98
98
  const { domain, user, tx } = context.state;
99
- const dataSetRepo = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
99
+ const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
100
100
  let results = [];
101
101
  const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
102
102
  const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
@@ -127,13 +127,13 @@ let DataSetMutation = class DataSetMutation {
127
127
  }
128
128
  async deleteDataSet(id, context) {
129
129
  const { domain, tx } = context.state;
130
- await (0, shell_1.getRepository)(data_set_1.DataSet, tx).delete({ domain: { id: domain.id }, id });
130
+ await (0, shell_1.getRepository)(data_set_js_1.DataSet, tx).softDelete({ domain: { id: domain.id }, id });
131
131
  await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: [`report-${id}`] }, context);
132
132
  return true;
133
133
  }
134
134
  async deleteDataSets(ids, context) {
135
135
  const { domain, tx } = context.state;
136
- await (0, shell_1.getRepository)(data_set_1.DataSet, tx).delete({
136
+ await (0, shell_1.getRepository)(data_set_js_1.DataSet, tx).softDelete({
137
137
  domain: { id: domain.id },
138
138
  id: (0, typeorm_1.In)(ids)
139
139
  });
@@ -142,7 +142,7 @@ let DataSetMutation = class DataSetMutation {
142
142
  }
143
143
  async issueDataCollection(dataSetId, context) {
144
144
  const { domain, tx, user } = context.state;
145
- const dataSet = await (0, shell_1.getRepository)(data_set_1.DataSet, tx).findOne({
145
+ const dataSet = await (0, shell_1.getRepository)(data_set_js_1.DataSet, tx).findOne({
146
146
  where: {
147
147
  domain: {
148
148
  id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean))
@@ -159,12 +159,12 @@ let DataSetMutation = class DataSetMutation {
159
159
  if (!me.roles.find(role => allowedRoles.includes(role.id))) {
160
160
  throw new Error(`You don't have permission to issue data collection task for this dataset.`);
161
161
  }
162
- const activityInstance = await (0, issue_data_collection_task_1.issueDataCollectionTask)(domain.id, dataSet.id, context);
162
+ const activityInstance = await (0, issue_data_collection_task_js_1.issueDataCollectionTask)(domain.id, dataSet.id, context);
163
163
  return !!activityInstance;
164
164
  }
165
165
  async startDataCollectionSchedule(dataSetId, context) {
166
166
  const { domain, tx } = context.state;
167
- var repository = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
167
+ var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
168
168
  var dataSet = await repository.findOne({
169
169
  where: { domain: { id: domain.id }, id: dataSetId }
170
170
  });
@@ -213,7 +213,7 @@ let DataSetMutation = class DataSetMutation {
213
213
  }
214
214
  async stopDataCollectionSchedule(dataSetId, context) {
215
215
  const { domain, tx } = context.state;
216
- var repository = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
216
+ var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
217
217
  var dataSet = await repository.findOne({
218
218
  where: { domain: { id: domain.id }, id: dataSetId }
219
219
  });
@@ -232,7 +232,7 @@ let DataSetMutation = class DataSetMutation {
232
232
  }
233
233
  async startDataSummarySchedule(dataSetId, context) {
234
234
  const { domain, tx } = context.state;
235
- var repository = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
235
+ var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
236
236
  var dataSet = await repository.findOne({
237
237
  where: { domain: { id: domain.id }, id: dataSetId }
238
238
  });
@@ -246,7 +246,7 @@ let DataSetMutation = class DataSetMutation {
246
246
  dataSet: dataSetId
247
247
  }));
248
248
  }
249
- const schedule = await (0, finalize_data_collection_1.getDataFinalizeCrontabSchedule)(dataSet, context);
249
+ const schedule = await (0, finalize_data_collection_js_1.getDataFinalizeCrontabSchedule)(dataSet, context);
250
250
  try {
251
251
  var handle = await (0, scheduler_client_1.registerSchedule)({
252
252
  name: dataSet.name,
@@ -287,7 +287,7 @@ let DataSetMutation = class DataSetMutation {
287
287
  }
288
288
  async stopDataSummarySchedule(dataSetId, context) {
289
289
  const { domain, tx } = context.state;
290
- var repository = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
290
+ var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
291
291
  var dataSet = await repository.findOne({
292
292
  where: { domain: { id: domain.id }, id: dataSetId }
293
293
  });
@@ -306,7 +306,7 @@ let DataSetMutation = class DataSetMutation {
306
306
  }
307
307
  async importDataSets(dataSets, context) {
308
308
  const { domain, tx } = context.state;
309
- const dataSetRepo = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
309
+ const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
310
310
  await Promise.all(dataSets.map(async (dataSet) => {
311
311
  const createdDataSet = await dataSetRepo.save(Object.assign({ domain }, dataSet));
312
312
  }));
@@ -314,7 +314,7 @@ let DataSetMutation = class DataSetMutation {
314
314
  }
315
315
  async copyDataSets(ids, context) {
316
316
  const { domain, user, tx } = context.state;
317
- const dataSetRepo = (0, shell_1.getRepository)(data_set_1.DataSet, tx);
317
+ const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
318
318
  const originals = await dataSetRepo.find({
319
319
  where: {
320
320
  id: (0, typeorm_1.In)(ids),
@@ -338,7 +338,7 @@ let DataSetMutation = class DataSetMutation {
338
338
  await (0, attachment_base_1.createAttachment)(null, {
339
339
  attachment: {
340
340
  file: attachment,
341
- refType: `${data_set_1.DataSet.name}-report-template`,
341
+ refType: `${data_set_js_1.DataSet.name}-report-template`,
342
342
  refBy: ref.id
343
343
  }
344
344
  }, context);
@@ -349,29 +349,29 @@ exports.DataSetMutation = DataSetMutation;
349
349
  tslib_1.__decorate([
350
350
  (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
351
351
  (0, type_graphql_1.Directive)('@transaction'),
352
- (0, type_graphql_1.Mutation)(returns => data_set_1.DataSet, { description: 'To create new DataSet' }),
352
+ (0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To create new DataSet' }),
353
353
  tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSet')),
354
354
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
355
355
  tslib_1.__metadata("design:type", Function),
356
- tslib_1.__metadata("design:paramtypes", [data_set_type_1.NewDataSet, Object]),
356
+ tslib_1.__metadata("design:paramtypes", [data_set_type_js_1.NewDataSet, Object]),
357
357
  tslib_1.__metadata("design:returntype", Promise)
358
358
  ], DataSetMutation.prototype, "createDataSet", null);
359
359
  tslib_1.__decorate([
360
360
  (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
361
361
  (0, type_graphql_1.Directive)('@transaction'),
362
- (0, type_graphql_1.Mutation)(returns => data_set_1.DataSet, { description: 'To modify DataSet information' }),
362
+ (0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To modify DataSet information' }),
363
363
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
364
364
  tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
365
365
  tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
366
366
  tslib_1.__metadata("design:type", Function),
367
- tslib_1.__metadata("design:paramtypes", [String, data_set_type_1.DataSetPatch, Object]),
367
+ tslib_1.__metadata("design:paramtypes", [String, data_set_type_js_1.DataSetPatch, Object]),
368
368
  tslib_1.__metadata("design:returntype", Promise)
369
369
  ], DataSetMutation.prototype, "updateDataSet", null);
370
370
  tslib_1.__decorate([
371
371
  (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
372
372
  (0, type_graphql_1.Directive)('@transaction'),
373
- (0, type_graphql_1.Mutation)(returns => [data_set_1.DataSet], { description: "To modify multiple DataSets' information" }),
374
- tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [data_set_type_1.DataSetPatch])),
373
+ (0, type_graphql_1.Mutation)(returns => [data_set_js_1.DataSet], { description: "To modify multiple DataSets' information" }),
374
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [data_set_type_js_1.DataSetPatch])),
375
375
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
376
376
  tslib_1.__metadata("design:type", Function),
377
377
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
@@ -408,7 +408,7 @@ tslib_1.__decorate([
408
408
  ], DataSetMutation.prototype, "issueDataCollection", null);
409
409
  tslib_1.__decorate([
410
410
  (0, type_graphql_1.Directive)('@transaction'),
411
- (0, type_graphql_1.Mutation)(returns => data_set_1.DataSet, { description: 'To start data collection schedule for the given dataset' }),
411
+ (0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To start data collection schedule for the given dataset' }),
412
412
  tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
413
413
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
414
414
  tslib_1.__metadata("design:type", Function),
@@ -417,7 +417,7 @@ tslib_1.__decorate([
417
417
  ], DataSetMutation.prototype, "startDataCollectionSchedule", null);
418
418
  tslib_1.__decorate([
419
419
  (0, type_graphql_1.Directive)('@transaction'),
420
- (0, type_graphql_1.Mutation)(returns => data_set_1.DataSet, {
420
+ (0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, {
421
421
  nullable: true,
422
422
  description: 'To stop data collection schedule for the given dataset'
423
423
  }),
@@ -429,7 +429,7 @@ tslib_1.__decorate([
429
429
  ], DataSetMutation.prototype, "stopDataCollectionSchedule", null);
430
430
  tslib_1.__decorate([
431
431
  (0, type_graphql_1.Directive)('@transaction'),
432
- (0, type_graphql_1.Mutation)(returns => data_set_1.DataSet, { description: 'To start data summary schedule for the given dataset' }),
432
+ (0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To start data summary schedule for the given dataset' }),
433
433
  tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
434
434
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
435
435
  tslib_1.__metadata("design:type", Function),
@@ -438,7 +438,7 @@ tslib_1.__decorate([
438
438
  ], DataSetMutation.prototype, "startDataSummarySchedule", null);
439
439
  tslib_1.__decorate([
440
440
  (0, type_graphql_1.Directive)('@transaction'),
441
- (0, type_graphql_1.Mutation)(returns => data_set_1.DataSet, {
441
+ (0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, {
442
442
  nullable: true,
443
443
  description: 'To stop data summary schedule for the given dataset'
444
444
  }),
@@ -452,7 +452,7 @@ tslib_1.__decorate([
452
452
  (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
453
453
  (0, type_graphql_1.Directive)('@transaction'),
454
454
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To import multiple data-sets' }),
455
- tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSets', type => [data_set_type_1.DataSetPatch])),
455
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSets', type => [data_set_type_js_1.DataSetPatch])),
456
456
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
457
457
  tslib_1.__metadata("design:type", Function),
458
458
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
@@ -461,7 +461,7 @@ tslib_1.__decorate([
461
461
  tslib_1.__decorate([
462
462
  (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
463
463
  (0, type_graphql_1.Directive)('@transaction'),
464
- (0, type_graphql_1.Mutation)(returns => [data_set_1.DataSet], { description: 'To copy multiple data-sets' }),
464
+ (0, type_graphql_1.Mutation)(returns => [data_set_js_1.DataSet], { description: 'To copy multiple data-sets' }),
465
465
  tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
466
466
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
467
467
  tslib_1.__metadata("design:type", Function),
@@ -469,6 +469,6 @@ tslib_1.__decorate([
469
469
  tslib_1.__metadata("design:returntype", Promise)
470
470
  ], DataSetMutation.prototype, "copyDataSets", null);
471
471
  exports.DataSetMutation = DataSetMutation = tslib_1.__decorate([
472
- (0, type_graphql_1.Resolver)(data_set_1.DataSet)
472
+ (0, type_graphql_1.Resolver)(data_set_js_1.DataSet)
473
473
  ], DataSetMutation);
474
474
  //# sourceMappingURL=data-set-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-set-mutation.js","sourceRoot":"","sources":["../../../server/service/data-set/data-set-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organization'\nimport { Application, CallbackBase, registerSchedule, unregisterSchedule } from '@things-factory/scheduler-client'\n\nimport { getDataFinalizeCrontabSchedule } from '../../controllers/finalize-data-collection'\nimport { DataSet } from './data-set'\nimport { DataSetPatch, NewDataSet } from './data-set-type'\nimport { issueDataCollectionTask } from '../../controllers/issue-data-collection-task'\n\nconst crypto = require('crypto')\n\nfunction getApprovalLineValue(patch: NewDataSet | DataSetPatch): ApprovalLineItem[] {\n const { reviewApprovalLine } = patch\n\n if (!('reviewApprovalLine' in patch)) {\n /* reviewApprovalLine 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n if (!reviewApprovalLine || !(reviewApprovalLine instanceof Array)) {\n /* approvalLine의 값이 없거나 배열이 아니라면, 클리어시킨다. */\n return null\n }\n\n return reviewApprovalLine\n .map(m => {\n return {\n type: m.type,\n approver: m.approver\n } as ApprovalLineItem\n })\n .filter(m => m.type)\n .filter(m => {\n switch (m.type) {\n case OrgMemberTargetType.Employee:\n case OrgMemberTargetType.Department:\n case OrgMemberTargetType.Role:\n return !!m.approver?.id\n default:\n return true\n }\n })\n}\n\nfunction getOutlierApprovalLineValue(patch: NewDataSet | DataSetPatch): ApprovalLineItem[] {\n const { outlierApprovalLine } = patch\n\n if (!('outlierApprovalLine' in patch)) {\n /* approvalLine이 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n if (!outlierApprovalLine || !(outlierApprovalLine instanceof Array)) {\n /* approvalLine의 값이 없거나 배열이 아니라면, 클리어시킨다. */\n return null\n }\n\n return outlierApprovalLine\n .map(m => {\n return {\n type: m.type,\n approver: m.approver\n } as ApprovalLineItem\n })\n .filter(m => m.type)\n .filter(m => {\n switch (m.type) {\n case OrgMemberTargetType.Employee:\n case OrgMemberTargetType.Department:\n case OrgMemberTargetType.Role:\n return !!m.approver?.id\n default:\n return true\n }\n })\n}\n\n@Resolver(DataSet)\nexport class DataSetMutation {\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To create new DataSet' })\n async createDataSet(@Arg('dataSet') dataSet: NewDataSet, @Ctx() context: ResolverContext): Promise<DataSet> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n const result = await dataSetRepo.save({\n ...dataSet,\n approvalLine: getApprovalLineValue(dataSet),\n outlierApprovalLineValue: getOutlierApprovalLineValue(dataSet),\n version: 1,\n domain,\n creator: user,\n updater: user\n })\n\n await this._createAttachment(context, dataSet.reportTemplate, { ref: result, cuFlag: '+' })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To modify DataSet information' })\n async updateDataSet(\n @Arg('id') id: string,\n @Arg('patch') patch: DataSetPatch,\n @Ctx() context: ResolverContext\n ): Promise<DataSet> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n const dataSet = await dataSetRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']\n /* history에 항상 반영될 수 있도록 relations가 있어야 함. */\n })\n\n const result = await dataSetRepo.save({\n ...dataSet,\n ...patch,\n approvalLine: getApprovalLineValue(patch),\n outlierApprovalLineValue: getOutlierApprovalLineValue(patch),\n updater: user\n })\n\n await this._createAttachment(context, dataSet.reportTemplate, { ref: result, cuFlag: 'M' })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataSet], { description: \"To modify multiple DataSets' information\" })\n async updateMultipleDataSet(\n @Arg('patches', type => [DataSetPatch]) patches: DataSetPatch[],\n @Ctx() context: ResolverContext\n ): Promise<DataSet[]> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n const cuFlag = '+'\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await dataSetRepo.save({\n ...newRecord,\n approvalLine: getApprovalLineValue(newRecord),\n outlierApprovalLineValue: getOutlierApprovalLineValue(newRecord),\n domain,\n creator: user,\n updater: user\n })\n\n await this._createAttachment(context, newRecord.reportTemplate, { ref: result, cuFlag })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n if (_updateRecords.length > 0) {\n const cuFlag = 'M'\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const dataSet = await dataSetRepo.findOne({\n where: { id: updateRecord.id },\n /* history에 항상 반영될 수 있도록 relations가 있어야 함. */\n relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']\n })\n\n const result = await dataSetRepo.save({\n ...dataSet,\n ...updateRecord,\n approvalLine: getApprovalLineValue(updateRecord),\n outlierApprovalLineValue: getOutlierApprovalLineValue(updateRecord),\n updater: user\n })\n\n await this._createAttachment(context, updateRecord.reportTemplate, { ref: result, cuFlag })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n return results\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DataSet' })\n async deleteDataSet(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await getRepository(DataSet, tx).delete({ domain: { id: domain.id }, id })\n await deleteAttachmentsByRef(null, { refBys: [`report-${id}`] }, context)\n\n return true\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple dataSets' })\n async deleteDataSets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await getRepository(DataSet, tx).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids.map(id => `report-${id}`) }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To issue data-collection task for the given dataset' })\n async issueDataCollection(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx, user } = context.state\n\n const dataSet = await getRepository(DataSet, tx).findOne({\n where: {\n domain: {\n id: In([domain.id, domain.parentId].filter(Boolean))\n },\n id: dataSetId\n }\n })\n\n const { supervisoryRoleId, entryRoleId } = dataSet\n const allowedRoles = [supervisoryRoleId, entryRoleId].filter(Boolean)\n\n const me = await getRepository(User, tx).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n\n if (!me.roles.find(role => allowedRoles.includes(role.id))) {\n throw new Error(`You don't have permission to issue data collection task for this dataset.`)\n }\n\n const activityInstance = await issueDataCollectionTask(domain.id, dataSet.id, context)\n\n return !!activityInstance\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To start data collection schedule for the given dataset' })\n async startDataCollectionSchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n try {\n var handle = await registerSchedule({\n name: dataSet.name,\n client: {\n application: Application,\n group: `${domain.id}`,\n type: 'data-set',\n key: dataSet.id,\n operation: 'schedule'\n },\n type: 'cron',\n schedule: dataSet.schedule,\n timezone: dataSet.timezone,\n task: {\n type: 'rest',\n connection: {\n host: `${CallbackBase}/callback-schedule-for-dataset`,\n headers: {\n 'Content-Type': 'application/json',\n accept: '*/*'\n }\n },\n data: {\n domainId: domain.id,\n dataSetId\n },\n history_check: true,\n failed_policy: 'retry_dlq',\n max_retry_count: 3,\n retry_period: 60\n }\n })\n\n return await repository.save({\n ...dataSet,\n scheduleId: handle\n })\n } catch (err) {\n console.error('startDataCollectionSchedule', err)\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, {\n nullable: true,\n description: 'To stop data collection schedule for the given dataset'\n })\n async stopDataCollectionSchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet | undefined> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n try {\n await unregisterSchedule(dataSet.scheduleId)\n\n return await repository.save({\n ...dataSet,\n scheduleId: null\n })\n } catch (err) {\n console.error('stopDataCollectionSchedule', err)\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To start data summary schedule for the given dataset' })\n async startDataSummarySchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n if (!dataSet.summaryPeriod) {\n throw new Error(\n context.t('error.data-set summary-period not set', {\n dataSet: dataSetId\n })\n )\n }\n\n const schedule = await getDataFinalizeCrontabSchedule(dataSet, context)\n\n try {\n var handle = await registerSchedule({\n name: dataSet.name,\n client: {\n application: Application,\n group: `${domain.id}`,\n type: 'data-set',\n key: dataSet.id,\n operation: 'summary'\n },\n type: 'cron',\n schedule,\n timezone: dataSet.timezone,\n task: {\n type: 'rest',\n connection: {\n host: `${CallbackBase}/callback-schedule-for-dataset-summary`,\n headers: {\n 'Content-Type': 'application/json',\n accept: '*/*'\n }\n },\n data: {\n domainId: domain.id,\n dataSetId\n },\n history_check: true,\n failed_policy: 'retry_dlq',\n max_retry_count: 3,\n retry_period: 60\n }\n })\n\n return await repository.save({\n ...dataSet,\n summarySchedule: schedule,\n summaryScheduleId: handle\n })\n } catch (err) {\n console.error('startDataSummarySchedule', err)\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, {\n nullable: true,\n description: 'To stop data summary schedule for the given dataset'\n })\n async stopDataSummarySchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet | undefined> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n try {\n await unregisterSchedule(dataSet.summaryScheduleId)\n\n return await repository.save({\n ...dataSet,\n summarySchedule: null,\n summaryScheduleId: null\n })\n } catch (err) {\n console.error('stopDataSummarySchedule', err)\n }\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple data-sets' })\n async importDataSets(\n @Arg('dataSets', type => [DataSetPatch]) dataSets: DataSet[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n await Promise.all(\n dataSets.map(async (dataSet: DataSet) => {\n const createdDataSet: DataSet = await dataSetRepo.save({\n domain,\n ...dataSet\n })\n })\n )\n\n return true\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataSet], { description: 'To copy multiple data-sets' })\n async copyDataSets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<DataSet[]> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n const originals = await dataSetRepo.find({\n where: {\n id: In(ids),\n domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }\n },\n relations: ['domain', 'supervisoryRole', 'entryRole', 'dataKeySet']\n })\n\n if (originals.length == 0) {\n return []\n }\n\n var newCopys = originals.map(dataSet => {\n let dataSetId = crypto.randomUUID()\n\n return {\n ...dataSet,\n id: dataSetId,\n name: dataSet.name + ' (' + dataSetId + ')',\n active: false,\n version: 1,\n domain,\n creator: user,\n updater: user,\n updatedAt: undefined,\n createdAt: undefined\n }\n })\n\n var copiedDataSets = await dataSetRepo.save(newCopys)\n\n return copiedDataSets\n }\n\n async _createAttachment(context, attachment, { ref, cuFlag }) {\n if (attachment) {\n cuFlag == 'M' && (await deleteAttachmentsByRef(null, { refBys: [ref.id] }, context))\n await createAttachment(\n null,\n {\n attachment: {\n file: attachment,\n refType: `${DataSet.name}-report-template`,\n refBy: ref.id\n }\n },\n context\n )\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-set-mutation.js","sourceRoot":"","sources":["../../../server/service/data-set/data-set-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAE5B,iDAAqD;AACrD,yDAAgD;AAChD,qEAA0F;AAC1F,+DAAoF;AACpF,uEAAkH;AAElH,+FAA8F;AAC9F,+CAAuC;AACvC,yDAA6D;AAC7D,mGAAyF;AAEzF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEhC,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;IAEpC,IAAI,CAAC,CAAC,oBAAoB,IAAI,KAAK,CAAC,EAAE,CAAC;QACrC,+CAA+C;QAC/C,OAAM;IACR,CAAC;IAED,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,kBAAkB,YAAY,KAAK,CAAC,EAAE,CAAC;QAClE,4CAA4C;QAC5C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,kBAAkB;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACD,CAAA;IACvB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE;;QACV,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,kCAAmB,CAAC,QAAQ,CAAC;YAClC,KAAK,kCAAmB,CAAC,UAAU,CAAC;YACpC,KAAK,kCAAmB,CAAC,IAAI;gBAC3B,OAAO,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,EAAE,CAAA,CAAA;YACzB;gBACE,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAgC;IACnE,MAAM,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAA;IAErC,IAAI,CAAC,CAAC,qBAAqB,IAAI,KAAK,CAAC,EAAE,CAAC;QACtC,0CAA0C;QAC1C,OAAM;IACR,CAAC;IAED,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,mBAAmB,YAAY,KAAK,CAAC,EAAE,CAAC;QACpE,4CAA4C;QAC5C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,mBAAmB;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACD,CAAA;IACvB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE;;QACV,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,kCAAmB,CAAC,QAAQ,CAAC;YAClC,KAAK,kCAAmB,CAAC,UAAU,CAAC;YACpC,KAAK,kCAAmB,CAAC,IAAI;gBAC3B,OAAO,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,EAAE,CAAA,CAAA;YACzB;gBACE,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC,CAAC,CAAA;AACN,CAAC;AAGM,IAAM,eAAe,GAArB,MAAM,eAAe;IAIpB,AAAN,KAAK,CAAC,aAAa,CAAiB,OAAmB,EAAS,OAAwB;QACtF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAE9C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,iCAChC,OAAO,KACV,YAAY,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAC3C,wBAAwB,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAC9D,OAAO,EAAE,CAAC,EACV,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;QAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE3F,OAAO,MAAM,CAAA;IACf,CAAC;IAKK,AAAN,KAAK,CAAC,aAAa,CACN,EAAU,EACP,KAAmB,EAC1B,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAE9C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;YACxC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC;YACzF,6CAA6C;SAC9C,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,+CAChC,OAAO,GACP,KAAK,KACR,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACzC,wBAAwB,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAC5D,OAAO,EAAE,IAAI,IACb,CAAA;QAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE3F,OAAO,MAAM,CAAA;IACf,CAAC;IAKK,AAAN,KAAK,CAAC,qBAAqB,CACe,OAAuB,EACxD,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAE9C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QAEzF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAA;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEnC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,iCAChC,SAAS,KACZ,YAAY,EAAE,oBAAoB,CAAC,SAAS,CAAC,EAC7C,wBAAwB,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAChE,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAExF,OAAO,CAAC,IAAI,iCACP,MAAM,KACT,MAAM,IACN,CAAA;YACJ,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAA;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;oBACxC,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;oBAC9B,6CAA6C;oBAC7C,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC;iBAC1F,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,+CAChC,OAAO,GACP,YAAY,KACf,YAAY,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAChD,wBAAwB,EAAE,2BAA2B,CAAC,YAAY,CAAC,EACnE,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAE3F,OAAO,CAAC,IAAI,iCACP,MAAM,KACT,MAAM,IACN,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAKK,AAAN,KAAK,CAAC,aAAa,CAAY,EAAU,EAAS,OAAwB;QACxE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9E,MAAM,IAAA,wCAAsB,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAEzE,OAAO,IAAI,CAAA;IACb,CAAC;IAKK,AAAN,KAAK,CAAC,cAAc,CAA+B,GAAa,EAAS,OAAwB;QAC/F,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,MAAM,IAAA,wCAAsB,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAEtF,OAAO,IAAI,CAAA;IACb,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB,CAAmB,SAAiB,EAAS,OAAwB;QAC5F,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC;YACvD,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACrD;gBACD,EAAE,EAAE,SAAS;aACd;SACF,CAAC,CAAA;QAEF,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;QAClD,MAAM,YAAY,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAErE,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAC,gBAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,SAAS,EAAE,CAAC,OAAO,CAAC;SACrB,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;QAC9F,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,uDAAuB,EAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAEtF,OAAO,CAAC,CAAC,gBAAgB,CAAA;IAC3B,CAAC;IAIK,AAAN,KAAK,CAAC,2BAA2B,CACb,SAAiB,EAC5B,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAC3C,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACrC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SACpD,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,OAAO,EAAE,SAAS;aACnB,CAAC,CACH,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,MAAM,IAAA,mCAAgB,EAAC;gBAClC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE;oBACN,WAAW,EAAE,8BAAW;oBACxB,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE;oBACrB,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,OAAO,CAAC,EAAE;oBACf,SAAS,EAAE,UAAU;iBACtB;gBACD,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE;wBACV,IAAI,EAAE,GAAG,+BAAY,gCAAgC;wBACrD,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,MAAM,EAAE,KAAK;yBACd;qBACF;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,SAAS;qBACV;oBACD,aAAa,EAAE,IAAI;oBACnB,aAAa,EAAE,WAAW;oBAC1B,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,EAAE;iBACjB;aACF,CAAC,CAAA;YAEF,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,OAAO,KACV,UAAU,EAAE,MAAM,IAClB,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,0BAA0B,CACZ,SAAiB,EAC5B,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAC3C,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACrC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SACpD,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,OAAO,EAAE,SAAS;aACnB,CAAC,CACH,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAA,qCAAkB,EAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAE5C,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,OAAO,KACV,UAAU,EAAE,IAAI,IAChB,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,wBAAwB,CACV,SAAiB,EAC5B,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAC3C,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACrC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SACpD,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,OAAO,EAAE,SAAS;aACnB,CAAC,CACH,CAAA;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,uCAAuC,EAAE;gBACjD,OAAO,EAAE,SAAS;aACnB,CAAC,CACH,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,4DAA8B,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEvE,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,MAAM,IAAA,mCAAgB,EAAC;gBAClC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE;oBACN,WAAW,EAAE,8BAAW;oBACxB,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE;oBACrB,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,OAAO,CAAC,EAAE;oBACf,SAAS,EAAE,SAAS;iBACrB;gBACD,IAAI,EAAE,MAAM;gBACZ,QAAQ;gBACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE;wBACV,IAAI,EAAE,GAAG,+BAAY,wCAAwC;wBAC7D,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,MAAM,EAAE,KAAK;yBACd;qBACF;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,SAAS;qBACV;oBACD,aAAa,EAAE,IAAI;oBACnB,aAAa,EAAE,WAAW;oBAC1B,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,EAAE;iBACjB;aACF,CAAC,CAAA;YAEF,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,OAAO,KACV,eAAe,EAAE,QAAQ,EACzB,iBAAiB,EAAE,MAAM,IACzB,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,uBAAuB,CACT,SAAiB,EAC5B,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAC3C,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACrC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SACpD,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE;gBACpC,OAAO,EAAE,SAAS;aACnB,CAAC,CACH,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAA,qCAAkB,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;YAEnD,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,OAAO,KACV,eAAe,EAAE,IAAI,EACrB,iBAAiB,EAAE,IAAI,IACvB,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAKK,AAAN,KAAK,CAAC,cAAc,CACuB,QAAmB,EACrD,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACpC,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAE9C,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;YACtC,MAAM,cAAc,GAAY,MAAM,WAAW,CAAC,IAAI,iBACpD,MAAM,IACH,OAAO,EACV,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAKK,AAAN,KAAK,CAAC,YAAY,CAA+B,GAAa,EAAS,OAAwB;QAC7F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAC,qBAAO,EAAE,EAAE,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE;gBACL,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;gBACX,MAAM,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;aACjE;YACD,SAAS,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,CAAC;SACpE,CAAC,CAAA;QAEF,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACrC,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YAEnC,uCACK,OAAO,KACV,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,EAC3C,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,CAAC,EACV,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,IACrB;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,cAAc,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAErD,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAA,wCAAsB,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;YACpF,MAAM,IAAA,kCAAgB,EACpB,IAAI,EACJ;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,GAAG,qBAAO,CAAC,IAAI,kBAAkB;oBAC1C,KAAK,EAAE,GAAG,CAAC,EAAE;iBACd;aACF,EACD,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAA;AApdY,0CAAe;AAIpB;IAHL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAO,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;IAClD,mBAAA,IAAA,kBAAG,EAAC,SAAS,CAAC,CAAA;IAAuB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAlB,6BAAU;;oDAiBtD;AAKK;IAHL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAO,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAE5E,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IACT,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDADe,+BAAY;;oDAuBlC;AAKK;IAHL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,qBAAO,CAAC,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;IAEzF,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,+BAAY,CAAC,CAAC,CAAA;IACtC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;4DA4DP;AAKK;IAHL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAC9C,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;oDAOhD;AAKK;IAHL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACvD,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qDAWvE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;IAC1E,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0DA2BpE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAO,EAAE,EAAE,WAAW,EAAE,yDAAyD,EAAE,CAAC;IAEtG,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;kEAyDP;AAOK;IALL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAO,EAAE;QAC5B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wDAAwD;KACtE,CAAC;IAEC,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEA2BP;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAO,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;IAEnG,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;+DAoEP;AAOK;IALL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAO,EAAE;QAC5B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,qDAAqD;KACnE,CAAC;IAEC,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;8DA4BP;AAKK;IAHL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAE3E,mBAAA,IAAA,kBAAG,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,+BAAY,CAAC,CAAC,CAAA;IACvC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qDAeP;AAKK;IAHL,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,qBAAO,CAAC,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC1D,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mDAoCrE;0BAlcU,eAAe;IAD3B,IAAA,uBAAQ,EAAC,qBAAO,CAAC;GACL,eAAe,CAod3B","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organization'\nimport { Application, CallbackBase, registerSchedule, unregisterSchedule } from '@things-factory/scheduler-client'\n\nimport { getDataFinalizeCrontabSchedule } from '../../controllers/finalize-data-collection.js'\nimport { DataSet } from './data-set.js'\nimport { DataSetPatch, NewDataSet } from './data-set-type.js'\nimport { issueDataCollectionTask } from '../../controllers/issue-data-collection-task.js'\n\nconst crypto = require('crypto')\n\nfunction getApprovalLineValue(patch: NewDataSet | DataSetPatch): ApprovalLineItem[] {\n const { reviewApprovalLine } = patch\n\n if (!('reviewApprovalLine' in patch)) {\n /* reviewApprovalLine 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n if (!reviewApprovalLine || !(reviewApprovalLine instanceof Array)) {\n /* approvalLine의 값이 없거나 배열이 아니라면, 클리어시킨다. */\n return null\n }\n\n return reviewApprovalLine\n .map(m => {\n return {\n type: m.type,\n approver: m.approver\n } as ApprovalLineItem\n })\n .filter(m => m.type)\n .filter(m => {\n switch (m.type) {\n case OrgMemberTargetType.Employee:\n case OrgMemberTargetType.Department:\n case OrgMemberTargetType.Role:\n return !!m.approver?.id\n default:\n return true\n }\n })\n}\n\nfunction getOutlierApprovalLineValue(patch: NewDataSet | DataSetPatch): ApprovalLineItem[] {\n const { outlierApprovalLine } = patch\n\n if (!('outlierApprovalLine' in patch)) {\n /* approvalLine이 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n if (!outlierApprovalLine || !(outlierApprovalLine instanceof Array)) {\n /* approvalLine의 값이 없거나 배열이 아니라면, 클리어시킨다. */\n return null\n }\n\n return outlierApprovalLine\n .map(m => {\n return {\n type: m.type,\n approver: m.approver\n } as ApprovalLineItem\n })\n .filter(m => m.type)\n .filter(m => {\n switch (m.type) {\n case OrgMemberTargetType.Employee:\n case OrgMemberTargetType.Department:\n case OrgMemberTargetType.Role:\n return !!m.approver?.id\n default:\n return true\n }\n })\n}\n\n@Resolver(DataSet)\nexport class DataSetMutation {\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To create new DataSet' })\n async createDataSet(@Arg('dataSet') dataSet: NewDataSet, @Ctx() context: ResolverContext): Promise<DataSet> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n const result = await dataSetRepo.save({\n ...dataSet,\n approvalLine: getApprovalLineValue(dataSet),\n outlierApprovalLineValue: getOutlierApprovalLineValue(dataSet),\n version: 1,\n domain,\n creator: user,\n updater: user\n })\n\n await this._createAttachment(context, dataSet.reportTemplate, { ref: result, cuFlag: '+' })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To modify DataSet information' })\n async updateDataSet(\n @Arg('id') id: string,\n @Arg('patch') patch: DataSetPatch,\n @Ctx() context: ResolverContext\n ): Promise<DataSet> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n const dataSet = await dataSetRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']\n /* history에 항상 반영될 수 있도록 relations가 있어야 함. */\n })\n\n const result = await dataSetRepo.save({\n ...dataSet,\n ...patch,\n approvalLine: getApprovalLineValue(patch),\n outlierApprovalLineValue: getOutlierApprovalLineValue(patch),\n updater: user\n })\n\n await this._createAttachment(context, dataSet.reportTemplate, { ref: result, cuFlag: 'M' })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataSet], { description: \"To modify multiple DataSets' information\" })\n async updateMultipleDataSet(\n @Arg('patches', type => [DataSetPatch]) patches: DataSetPatch[],\n @Ctx() context: ResolverContext\n ): Promise<DataSet[]> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n const cuFlag = '+'\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await dataSetRepo.save({\n ...newRecord,\n approvalLine: getApprovalLineValue(newRecord),\n outlierApprovalLineValue: getOutlierApprovalLineValue(newRecord),\n domain,\n creator: user,\n updater: user\n })\n\n await this._createAttachment(context, newRecord.reportTemplate, { ref: result, cuFlag })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n if (_updateRecords.length > 0) {\n const cuFlag = 'M'\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const dataSet = await dataSetRepo.findOne({\n where: { id: updateRecord.id },\n /* history에 항상 반영될 수 있도록 relations가 있어야 함. */\n relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']\n })\n\n const result = await dataSetRepo.save({\n ...dataSet,\n ...updateRecord,\n approvalLine: getApprovalLineValue(updateRecord),\n outlierApprovalLineValue: getOutlierApprovalLineValue(updateRecord),\n updater: user\n })\n\n await this._createAttachment(context, updateRecord.reportTemplate, { ref: result, cuFlag })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n return results\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DataSet' })\n async deleteDataSet(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await getRepository(DataSet, tx).softDelete({ domain: { id: domain.id }, id })\n await deleteAttachmentsByRef(null, { refBys: [`report-${id}`] }, context)\n\n return true\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple dataSets' })\n async deleteDataSets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await getRepository(DataSet, tx).softDelete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids.map(id => `report-${id}`) }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To issue data-collection task for the given dataset' })\n async issueDataCollection(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx, user } = context.state\n\n const dataSet = await getRepository(DataSet, tx).findOne({\n where: {\n domain: {\n id: In([domain.id, domain.parentId].filter(Boolean))\n },\n id: dataSetId\n }\n })\n\n const { supervisoryRoleId, entryRoleId } = dataSet\n const allowedRoles = [supervisoryRoleId, entryRoleId].filter(Boolean)\n\n const me = await getRepository(User, tx).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n\n if (!me.roles.find(role => allowedRoles.includes(role.id))) {\n throw new Error(`You don't have permission to issue data collection task for this dataset.`)\n }\n\n const activityInstance = await issueDataCollectionTask(domain.id, dataSet.id, context)\n\n return !!activityInstance\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To start data collection schedule for the given dataset' })\n async startDataCollectionSchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n try {\n var handle = await registerSchedule({\n name: dataSet.name,\n client: {\n application: Application,\n group: `${domain.id}`,\n type: 'data-set',\n key: dataSet.id,\n operation: 'schedule'\n },\n type: 'cron',\n schedule: dataSet.schedule,\n timezone: dataSet.timezone,\n task: {\n type: 'rest',\n connection: {\n host: `${CallbackBase}/callback-schedule-for-dataset`,\n headers: {\n 'Content-Type': 'application/json',\n accept: '*/*'\n }\n },\n data: {\n domainId: domain.id,\n dataSetId\n },\n history_check: true,\n failed_policy: 'retry_dlq',\n max_retry_count: 3,\n retry_period: 60\n }\n })\n\n return await repository.save({\n ...dataSet,\n scheduleId: handle\n })\n } catch (err) {\n console.error('startDataCollectionSchedule', err)\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, {\n nullable: true,\n description: 'To stop data collection schedule for the given dataset'\n })\n async stopDataCollectionSchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet | undefined> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n try {\n await unregisterSchedule(dataSet.scheduleId)\n\n return await repository.save({\n ...dataSet,\n scheduleId: null\n })\n } catch (err) {\n console.error('stopDataCollectionSchedule', err)\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, { description: 'To start data summary schedule for the given dataset' })\n async startDataSummarySchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n if (!dataSet.summaryPeriod) {\n throw new Error(\n context.t('error.data-set summary-period not set', {\n dataSet: dataSetId\n })\n )\n }\n\n const schedule = await getDataFinalizeCrontabSchedule(dataSet, context)\n\n try {\n var handle = await registerSchedule({\n name: dataSet.name,\n client: {\n application: Application,\n group: `${domain.id}`,\n type: 'data-set',\n key: dataSet.id,\n operation: 'summary'\n },\n type: 'cron',\n schedule,\n timezone: dataSet.timezone,\n task: {\n type: 'rest',\n connection: {\n host: `${CallbackBase}/callback-schedule-for-dataset-summary`,\n headers: {\n 'Content-Type': 'application/json',\n accept: '*/*'\n }\n },\n data: {\n domainId: domain.id,\n dataSetId\n },\n history_check: true,\n failed_policy: 'retry_dlq',\n max_retry_count: 3,\n retry_period: 60\n }\n })\n\n return await repository.save({\n ...dataSet,\n summarySchedule: schedule,\n summaryScheduleId: handle\n })\n } catch (err) {\n console.error('startDataSummarySchedule', err)\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataSet, {\n nullable: true,\n description: 'To stop data summary schedule for the given dataset'\n })\n async stopDataSummarySchedule(\n @Arg('dataSetId') dataSetId: string,\n @Ctx() context: ResolverContext\n ): Promise<DataSet | undefined> {\n const { domain, tx } = context.state\n\n var repository = getRepository(DataSet, tx)\n var dataSet = await repository.findOne({\n where: { domain: { id: domain.id }, id: dataSetId }\n })\n\n if (!dataSet) {\n throw new Error(\n context.t('error.data-set not found', {\n dataSet: dataSetId\n })\n )\n }\n\n try {\n await unregisterSchedule(dataSet.summaryScheduleId)\n\n return await repository.save({\n ...dataSet,\n summarySchedule: null,\n summaryScheduleId: null\n })\n } catch (err) {\n console.error('stopDataSummarySchedule', err)\n }\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple data-sets' })\n async importDataSets(\n @Arg('dataSets', type => [DataSetPatch]) dataSets: DataSet[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n await Promise.all(\n dataSets.map(async (dataSet: DataSet) => {\n const createdDataSet: DataSet = await dataSetRepo.save({\n domain,\n ...dataSet\n })\n })\n )\n\n return true\n }\n\n @Directive('@privilege(category: \"data-set\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataSet], { description: 'To copy multiple data-sets' })\n async copyDataSets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<DataSet[]> {\n const { domain, user, tx } = context.state\n const dataSetRepo = getRepository(DataSet, tx)\n\n const originals = await dataSetRepo.find({\n where: {\n id: In(ids),\n domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }\n },\n relations: ['domain', 'supervisoryRole', 'entryRole', 'dataKeySet']\n })\n\n if (originals.length == 0) {\n return []\n }\n\n var newCopys = originals.map(dataSet => {\n let dataSetId = crypto.randomUUID()\n\n return {\n ...dataSet,\n id: dataSetId,\n name: dataSet.name + ' (' + dataSetId + ')',\n active: false,\n version: 1,\n domain,\n creator: user,\n updater: user,\n updatedAt: undefined,\n createdAt: undefined\n }\n })\n\n var copiedDataSets = await dataSetRepo.save(newCopys)\n\n return copiedDataSets\n }\n\n async _createAttachment(context, attachment, { ref, cuFlag }) {\n if (attachment) {\n cuFlag == 'M' && (await deleteAttachmentsByRef(null, { refBys: [ref.id] }, context))\n await createAttachment(\n null,\n {\n attachment: {\n file: attachment,\n refType: `${DataSet.name}-report-template`,\n refBy: ref.id\n }\n },\n context\n )\n }\n }\n}\n"]}
@@ -4,10 +4,10 @@ import { ApprovalLineItem } from '@things-factory/organization';
4
4
  import { Domain, ListParam } from '@things-factory/shell';
5
5
  import { AssigneeItem } from '@things-factory/worklist';
6
6
  import { Scenario } from '@things-factory/integration-base';
7
- import { DataKeySet } from '../data-key-set/data-key-set';
8
- import { DataItem } from './data-item-type';
9
- import { DataSet, DataSetState } from './data-set';
10
- import { DataSetList } from './data-set-type';
7
+ import { DataKeySet } from '../data-key-set/data-key-set.js';
8
+ import { DataItem } from './data-item-type.js';
9
+ import { DataSet, DataSetState } from './data-set.js';
10
+ import { DataSetList } from './data-set-type.js';
11
11
  export declare class DataSetQuery {
12
12
  dataSet(id: string, context: ResolverContext): Promise<DataSet>;
13
13
  dataSetByName(name: string, context: ResolverContext): Promise<DataSet>;