@things-factory/dataset 9.0.0-beta.4 → 9.0.0-beta.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. package/dist-client/activities/activity-data-review-edit.js +19 -10
  2. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  3. package/dist-client/activities/activity-data-review-view.js +80 -0
  4. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  5. package/dist-client/bootstrap.d.ts +8 -8
  6. package/dist-client/bootstrap.js +8 -8
  7. package/dist-client/bootstrap.js.map +1 -1
  8. package/dist-client/pages/data-archive/data-archive-list-page.d.ts +1 -1
  9. package/dist-client/pages/data-archive/data-archive-list-page.js +1 -1
  10. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
  11. package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +1 -1
  12. package/dist-client/pages/data-key-set/data-key-set-list-page.js +1 -1
  13. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
  14. package/dist-client/tsconfig.tsbuildinfo +1 -1
  15. package/dist-server/activities/activity-data-collect.js +2 -2
  16. package/dist-server/activities/activity-data-collect.js.map +1 -1
  17. package/dist-server/activities/activity-data-review.js +9 -9
  18. package/dist-server/activities/activity-data-review.js.map +1 -1
  19. package/dist-server/activities/activity-ooc-resolve.js +3 -3
  20. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  21. package/dist-server/activities/activity-ooc-review.js +5 -5
  22. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  23. package/dist-server/activities/index.js +5 -5
  24. package/dist-server/activities/index.js.map +1 -1
  25. package/dist-server/controllers/create-data-ooc.d.ts +3 -3
  26. package/dist-server/controllers/create-data-ooc.js +4 -4
  27. package/dist-server/controllers/create-data-ooc.js.map +1 -1
  28. package/dist-server/controllers/create-data-sample.d.ts +2 -2
  29. package/dist-server/controllers/create-data-sample.js +13 -13
  30. package/dist-server/controllers/create-data-sample.js.map +1 -1
  31. package/dist-server/controllers/data-use-case.d.ts +2 -2
  32. package/dist-server/controllers/data-use-case.js.map +1 -1
  33. package/dist-server/controllers/finalize-data-collection.d.ts +1 -1
  34. package/dist-server/controllers/finalize-data-collection.js +41 -21
  35. package/dist-server/controllers/finalize-data-collection.js.map +1 -1
  36. package/dist-server/controllers/index.d.ts +6 -6
  37. package/dist-server/controllers/index.js +6 -6
  38. package/dist-server/controllers/index.js.map +1 -1
  39. package/dist-server/controllers/issue-data-collection-task.js +2 -2
  40. package/dist-server/controllers/issue-data-collection-task.js.map +1 -1
  41. package/dist-server/controllers/issue-ooc-resolve.d.ts +2 -2
  42. package/dist-server/controllers/issue-ooc-resolve.js +2 -2
  43. package/dist-server/controllers/issue-ooc-resolve.js.map +1 -1
  44. package/dist-server/controllers/issue-ooc-review.d.ts +2 -2
  45. package/dist-server/controllers/issue-ooc-review.js +2 -2
  46. package/dist-server/controllers/issue-ooc-review.js.map +1 -1
  47. package/dist-server/controllers/jasper-report.js +2 -2
  48. package/dist-server/controllers/jasper-report.js.map +1 -1
  49. package/dist-server/controllers/query-data-summary-by-period.d.ts +1 -1
  50. package/dist-server/controllers/query-data-summary-by-period.js +11 -6
  51. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
  52. package/dist-server/controllers/shiny-report.js +2 -2
  53. package/dist-server/controllers/shiny-report.js.map +1 -1
  54. package/dist-server/engine/index.d.ts +1 -1
  55. package/dist-server/engine/index.js +1 -1
  56. package/dist-server/engine/index.js.map +1 -1
  57. package/dist-server/engine/task/create-data-sample.js +4 -4
  58. package/dist-server/engine/task/create-data-sample.js.map +1 -1
  59. package/dist-server/engine/task/index.d.ts +2 -2
  60. package/dist-server/engine/task/index.js +2 -2
  61. package/dist-server/engine/task/index.js.map +1 -1
  62. package/dist-server/engine/task/issue-collect-data.js +2 -2
  63. package/dist-server/engine/task/issue-collect-data.js.map +1 -1
  64. package/dist-server/index.d.ts +6 -6
  65. package/dist-server/index.js +6 -6
  66. package/dist-server/index.js.map +1 -1
  67. package/dist-server/routes.js +12 -12
  68. package/dist-server/routes.js.map +1 -1
  69. package/dist-server/service/data-archive/data-archive-mutation.d.ts +2 -2
  70. package/dist-server/service/data-archive/data-archive-mutation.js +22 -22
  71. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
  72. package/dist-server/service/data-archive/data-archive-query.d.ts +2 -2
  73. package/dist-server/service/data-archive/data-archive-query.js +10 -10
  74. package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
  75. package/dist-server/service/data-archive/data-archive-type.d.ts +1 -1
  76. package/dist-server/service/data-archive/data-archive-type.js +2 -2
  77. package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
  78. package/dist-server/service/data-archive/index.d.ts +3 -3
  79. package/dist-server/service/data-archive/index.js +5 -5
  80. package/dist-server/service/data-archive/index.js.map +1 -1
  81. package/dist-server/service/data-key-set/data-key-set-mutation.d.ts +2 -2
  82. package/dist-server/service/data-key-set/data-key-set-mutation.js +20 -20
  83. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  84. package/dist-server/service/data-key-set/data-key-set-query.d.ts +2 -2
  85. package/dist-server/service/data-key-set/data-key-set-query.js +12 -12
  86. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  87. package/dist-server/service/data-key-set/data-key-set-type.d.ts +3 -3
  88. package/dist-server/service/data-key-set/data-key-set-type.js +6 -6
  89. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
  90. package/dist-server/service/data-key-set/data-key-set.d.ts +2 -2
  91. package/dist-server/service/data-key-set/data-key-set.js +3 -3
  92. package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
  93. package/dist-server/service/data-key-set/index.d.ts +3 -3
  94. package/dist-server/service/data-key-set/index.js +5 -5
  95. package/dist-server/service/data-key-set/index.js.map +1 -1
  96. package/dist-server/service/data-ooc/data-ooc-mutation.d.ts +2 -2
  97. package/dist-server/service/data-ooc/data-ooc-mutation.js +11 -11
  98. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  99. package/dist-server/service/data-ooc/data-ooc-query.d.ts +5 -5
  100. package/dist-server/service/data-ooc/data-ooc-query.js +27 -27
  101. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  102. package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +1 -1
  103. package/dist-server/service/data-ooc/data-ooc-subscription.js +3 -3
  104. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  105. package/dist-server/service/data-ooc/data-ooc-type.d.ts +1 -1
  106. package/dist-server/service/data-ooc/data-ooc-type.js +4 -4
  107. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  108. package/dist-server/service/data-ooc/data-ooc.d.ts +3 -3
  109. package/dist-server/service/data-ooc/data-ooc.js +10 -10
  110. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  111. package/dist-server/service/data-ooc/index.d.ts +4 -4
  112. package/dist-server/service/data-ooc/index.js +6 -6
  113. package/dist-server/service/data-ooc/index.js.map +1 -1
  114. package/dist-server/service/data-sample/data-sample-mutation.d.ts +2 -2
  115. package/dist-server/service/data-sample/data-sample-mutation.js +7 -7
  116. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  117. package/dist-server/service/data-sample/data-sample-query.d.ts +5 -5
  118. package/dist-server/service/data-sample/data-sample-query.js +34 -34
  119. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  120. package/dist-server/service/data-sample/data-sample-type.d.ts +1 -1
  121. package/dist-server/service/data-sample/data-sample-type.js +2 -2
  122. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  123. package/dist-server/service/data-sample/data-sample.d.ts +3 -3
  124. package/dist-server/service/data-sample/data-sample.js +10 -10
  125. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  126. package/dist-server/service/data-sample/index.d.ts +3 -3
  127. package/dist-server/service/data-sample/index.js +5 -5
  128. package/dist-server/service/data-sample/index.js.map +1 -1
  129. package/dist-server/service/data-sensor/data-sensor-mutation.d.ts +2 -2
  130. package/dist-server/service/data-sensor/data-sensor-mutation.js +14 -14
  131. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  132. package/dist-server/service/data-sensor/data-sensor-query.d.ts +3 -3
  133. package/dist-server/service/data-sensor/data-sensor-query.js +16 -16
  134. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  135. package/dist-server/service/data-sensor/data-sensor-type.d.ts +1 -1
  136. package/dist-server/service/data-sensor/data-sensor-type.js +2 -2
  137. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  138. package/dist-server/service/data-sensor/data-sensor.d.ts +1 -1
  139. package/dist-server/service/data-sensor/data-sensor.js +3 -3
  140. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  141. package/dist-server/service/data-sensor/index.d.ts +3 -3
  142. package/dist-server/service/data-sensor/index.js +5 -5
  143. package/dist-server/service/data-sensor/index.js.map +1 -1
  144. package/dist-server/service/data-set/data-set-mutation.d.ts +2 -2
  145. package/dist-server/service/data-set/data-set-mutation.js +32 -32
  146. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  147. package/dist-server/service/data-set/data-set-query.d.ts +4 -4
  148. package/dist-server/service/data-set/data-set-query.js +44 -44
  149. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  150. package/dist-server/service/data-set/data-set-type.d.ts +2 -2
  151. package/dist-server/service/data-set/data-set-type.js +5 -5
  152. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  153. package/dist-server/service/data-set/data-set.d.ts +2 -2
  154. package/dist-server/service/data-set/data-set.js +6 -6
  155. package/dist-server/service/data-set/data-set.js.map +1 -1
  156. package/dist-server/service/data-set/index.d.ts +3 -3
  157. package/dist-server/service/data-set/index.js +5 -5
  158. package/dist-server/service/data-set/index.js.map +1 -1
  159. package/dist-server/service/data-set-history/data-set-history-query.d.ts +4 -4
  160. package/dist-server/service/data-set-history/data-set-history-query.js +22 -22
  161. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  162. package/dist-server/service/data-set-history/data-set-history-type.d.ts +1 -1
  163. package/dist-server/service/data-set-history/data-set-history-type.js +2 -2
  164. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
  165. package/dist-server/service/data-set-history/data-set-history.d.ts +2 -2
  166. package/dist-server/service/data-set-history/data-set-history.js +3 -3
  167. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  168. package/dist-server/service/data-set-history/event-subscriber.d.ts +2 -2
  169. package/dist-server/service/data-set-history/event-subscriber.js +4 -4
  170. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
  171. package/dist-server/service/data-set-history/index.d.ts +3 -3
  172. package/dist-server/service/data-set-history/index.js +6 -6
  173. package/dist-server/service/data-set-history/index.js.map +1 -1
  174. package/dist-server/service/data-spec/data-spec-manager.d.ts +1 -1
  175. package/dist-server/service/data-spec/data-spec-manager.js.map +1 -1
  176. package/dist-server/service/data-spec/data-spec-query.d.ts +1 -1
  177. package/dist-server/service/data-spec/data-spec-query.js +9 -9
  178. package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
  179. package/dist-server/service/data-spec/index.d.ts +2 -2
  180. package/dist-server/service/data-spec/index.js +4 -4
  181. package/dist-server/service/data-spec/index.js.map +1 -1
  182. package/dist-server/service/data-summary/data-summary-mutation.js +11 -8
  183. package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -1
  184. package/dist-server/service/data-summary/data-summary-query.d.ts +4 -4
  185. package/dist-server/service/data-summary/data-summary-query.js +31 -31
  186. package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
  187. package/dist-server/service/data-summary/data-summary-type.d.ts +1 -1
  188. package/dist-server/service/data-summary/data-summary-type.js +2 -2
  189. package/dist-server/service/data-summary/data-summary-type.js.map +1 -1
  190. package/dist-server/service/data-summary/data-summary.d.ts +2 -2
  191. package/dist-server/service/data-summary/data-summary.js +6 -6
  192. package/dist-server/service/data-summary/data-summary.js.map +1 -1
  193. package/dist-server/service/data-summary/index.d.ts +3 -3
  194. package/dist-server/service/data-summary/index.js +5 -5
  195. package/dist-server/service/data-summary/index.js.map +1 -1
  196. package/dist-server/service/index.d.ts +12 -12
  197. package/dist-server/service/index.js +37 -37
  198. package/dist-server/service/index.js.map +1 -1
  199. package/dist-server/tsconfig.tsbuildinfo +1 -1
  200. package/dist-server/utils/index.d.ts +1 -1
  201. package/dist-server/utils/index.js +1 -1
  202. package/dist-server/utils/index.js.map +1 -1
  203. package/package.json +13 -13
@@ -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).delete({ 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).delete({
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":"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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.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).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"]}
@@ -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>;