@things-factory/dataset 9.0.0-beta.27 → 9.0.0-beta.29
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.
- package/dist-client/activities/activity-data-collect-edit.d.ts +19 -0
- package/dist-client/activities/activity-data-collect-edit.js +105 -0
- package/dist-client/activities/activity-data-collect-edit.js.map +1 -0
- package/dist-client/activities/activity-data-collect-view.d.ts +16 -0
- package/dist-client/activities/activity-data-collect-view.js +94 -0
- package/dist-client/activities/activity-data-collect-view.js.map +1 -0
- package/dist-client/activities/activity-data-review-edit.d.ts +18 -0
- package/dist-client/activities/activity-data-review-edit.js +279 -0
- package/dist-client/activities/activity-data-review-edit.js.map +1 -0
- package/dist-client/activities/activity-data-review-view.d.ts +14 -0
- package/dist-client/activities/activity-data-review-view.js +224 -0
- package/dist-client/activities/activity-data-review-view.js.map +1 -0
- package/dist-client/activities/activity-ooc-resolve-edit.d.ts +2 -0
- package/dist-client/activities/activity-ooc-resolve-edit.js +196 -0
- package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -0
- package/dist-client/activities/activity-ooc-resolve-view.d.ts +14 -0
- package/dist-client/activities/activity-ooc-resolve-view.js +146 -0
- package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -0
- package/dist-client/activities/activity-ooc-review-edit.d.ts +2 -0
- package/dist-client/activities/activity-ooc-review-edit.js +176 -0
- package/dist-client/activities/activity-ooc-review-edit.js.map +1 -0
- package/dist-client/activities/activity-ooc-review-view.d.ts +1 -0
- package/dist-client/activities/activity-ooc-review-view.js +133 -0
- package/dist-client/activities/activity-ooc-review-view.js.map +1 -0
- package/dist-client/bootstrap.d.ts +10 -0
- package/dist-client/bootstrap.js +26 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/components/data-entry-form.d.ts +20 -0
- package/dist-client/components/data-entry-form.js +108 -0
- package/dist-client/components/data-entry-form.js.map +1 -0
- package/dist-client/index.d.ts +1 -0
- package/dist-client/index.js +2 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/pages/data-archive/data-archive-list-page.d.ts +67 -0
- package/dist-client/pages/data-archive/data-archive-list-page.js +272 -0
- package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -0
- package/dist-client/pages/data-archive/data-archive-request-popup.d.ts +1 -0
- package/dist-client/pages/data-archive/data-archive-request-popup.js +160 -0
- package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -0
- package/dist-client/pages/data-entry/checklist-entry-page.d.ts +21 -0
- package/dist-client/pages/data-entry/checklist-entry-page.js +209 -0
- package/dist-client/pages/data-entry/checklist-entry-page.js.map +1 -0
- package/dist-client/pages/data-entry/data-entry-list-page.d.ts +38 -0
- package/dist-client/pages/data-entry/data-entry-list-page.js +448 -0
- package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -0
- package/dist-client/pages/data-key-set/data-key-item-list.d.ts +19 -0
- package/dist-client/pages/data-key-set/data-key-item-list.js +182 -0
- package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -0
- package/dist-client/pages/data-key-set/data-key-set-importer.d.ts +10 -0
- package/dist-client/pages/data-key-set/data-key-set-importer.js +94 -0
- package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -0
- package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +64 -0
- package/dist-client/pages/data-key-set/data-key-set-list-page.js +405 -0
- package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -0
- package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +72 -0
- package/dist-client/pages/data-ooc/data-ooc-list-page.js +545 -0
- package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -0
- package/dist-client/pages/data-ooc/data-ooc-page.d.ts +18 -0
- package/dist-client/pages/data-ooc/data-ooc-page.js +163 -0
- package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -0
- package/dist-client/pages/data-ooc/data-ooc-view.d.ts +19 -0
- package/dist-client/pages/data-ooc/data-ooc-view.js +232 -0
- package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -0
- package/dist-client/pages/data-ooc/data-oocs-page.d.ts +18 -0
- package/dist-client/pages/data-ooc/data-oocs-page.js +200 -0
- package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -0
- package/dist-client/pages/data-report/data-report-embed-page.d.ts +36 -0
- package/dist-client/pages/data-report/data-report-embed-page.js +101 -0
- package/dist-client/pages/data-report/data-report-embed-page.js.map +1 -0
- package/dist-client/pages/data-report/data-report-list-page.d.ts +38 -0
- package/dist-client/pages/data-report/data-report-list-page.js +441 -0
- package/dist-client/pages/data-report/data-report-list-page.js.map +1 -0
- package/dist-client/pages/data-report/data-report-samples-page.d.ts +32 -0
- package/dist-client/pages/data-report/data-report-samples-page.js +166 -0
- package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -0
- package/dist-client/pages/data-report/jasper-report-oocs-page.d.ts +2 -0
- package/dist-client/pages/data-report/jasper-report-oocs-page.js +101 -0
- package/dist-client/pages/data-report/jasper-report-oocs-page.js.map +1 -0
- package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.d.ts +2 -0
- package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js +101 -0
- package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js.map +1 -0
- package/dist-client/pages/data-report/jasper-report-samples-page.d.ts +2 -0
- package/dist-client/pages/data-report/jasper-report-samples-page.js +101 -0
- package/dist-client/pages/data-report/jasper-report-samples-page.js.map +1 -0
- package/dist-client/pages/data-sample/data-sample-list-page.d.ts +70 -0
- package/dist-client/pages/data-sample/data-sample-list-page.js +437 -0
- package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -0
- package/dist-client/pages/data-sample/data-sample-page.d.ts +17 -0
- package/dist-client/pages/data-sample/data-sample-page.js +57 -0
- package/dist-client/pages/data-sample/data-sample-page.js.map +1 -0
- package/dist-client/pages/data-sample/data-sample-search-page.d.ts +59 -0
- package/dist-client/pages/data-sample/data-sample-search-page.js +421 -0
- package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -0
- package/dist-client/pages/data-sample/data-sample-view.d.ts +21 -0
- package/dist-client/pages/data-sample/data-sample-view.js +285 -0
- package/dist-client/pages/data-sample/data-sample-view.js.map +1 -0
- package/dist-client/pages/data-sample/data-samples-page.d.ts +21 -0
- package/dist-client/pages/data-sample/data-samples-page.js +249 -0
- package/dist-client/pages/data-sample/data-samples-page.js.map +1 -0
- package/dist-client/pages/data-sensor/data-sensor-list-page.d.ts +58 -0
- package/dist-client/pages/data-sensor/data-sensor-list-page.js +455 -0
- package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -0
- package/dist-client/pages/data-set/data-item-list.d.ts +1 -0
- package/dist-client/pages/data-set/data-item-list.js +306 -0
- package/dist-client/pages/data-set/data-item-list.js.map +1 -0
- package/dist-client/pages/data-set/data-set-importer.d.ts +11 -0
- package/dist-client/pages/data-set/data-set-importer.js +97 -0
- package/dist-client/pages/data-set/data-set-importer.js.map +1 -0
- package/dist-client/pages/data-set/data-set-list-page.d.ts +83 -0
- package/dist-client/pages/data-set/data-set-list-page.js +1048 -0
- package/dist-client/pages/data-set/data-set-list-page.js.map +1 -0
- package/dist-client/pages/data-summary/data-summary-list-page.d.ts +59 -0
- package/dist-client/pages/data-summary/data-summary-list-page.js +361 -0
- package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -0
- package/dist-client/pages/data-summary/data-summary-period-page.d.ts +81 -0
- package/dist-client/pages/data-summary/data-summary-period-page.js +459 -0
- package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -0
- package/dist-client/pages/data-summary/data-summary-search-page.d.ts +78 -0
- package/dist-client/pages/data-summary/data-summary-search-page.js +413 -0
- package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -0
- package/dist-client/pages/data-summary/data-summary-view.d.ts +1 -0
- package/dist-client/pages/data-summary/data-summary-view.js +114 -0
- package/dist-client/pages/data-summary/data-summary-view.js.map +1 -0
- package/dist-client/route.d.ts +1 -0
- package/dist-client/route.js +74 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-server/activities/activity-data-collect.d.ts +42 -0
- package/dist-server/activities/activity-data-collect.js +87 -0
- package/dist-server/activities/activity-data-collect.js.map +1 -0
- package/dist-server/activities/activity-data-review.d.ts +42 -0
- package/dist-server/activities/activity-data-review.js +87 -0
- package/dist-server/activities/activity-data-review.js.map +1 -0
- package/dist-server/activities/activity-ooc-resolve.d.ts +42 -0
- package/dist-server/activities/activity-ooc-resolve.js +104 -0
- package/dist-server/activities/activity-ooc-resolve.js.map +1 -0
- package/dist-server/activities/activity-ooc-review.d.ts +42 -0
- package/dist-server/activities/activity-ooc-review.js +82 -0
- package/dist-server/activities/activity-ooc-review.js.map +1 -0
- package/dist-server/activities/index.d.ts +1 -0
- package/dist-server/activities/index.js +11 -0
- package/dist-server/activities/index.js.map +1 -0
- package/dist-server/controllers/create-data-ooc.d.ts +4 -0
- package/dist-server/controllers/create-data-ooc.js +65 -0
- package/dist-server/controllers/create-data-ooc.js.map +1 -0
- package/dist-server/controllers/create-data-sample.d.ts +3 -0
- package/dist-server/controllers/create-data-sample.js +268 -0
- package/dist-server/controllers/create-data-sample.js.map +1 -0
- package/dist-server/controllers/data-use-case.d.ts +36 -0
- package/dist-server/controllers/data-use-case.js +63 -0
- package/dist-server/controllers/data-use-case.js.map +1 -0
- package/dist-server/controllers/finalize-data-collection.d.ts +4 -0
- package/dist-server/controllers/finalize-data-collection.js +328 -0
- package/dist-server/controllers/finalize-data-collection.js.map +1 -0
- package/dist-server/controllers/index.d.ts +6 -0
- package/dist-server/controllers/index.js +10 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/issue-data-collection-task.d.ts +2 -0
- package/dist-server/controllers/issue-data-collection-task.js +57 -0
- package/dist-server/controllers/issue-data-collection-task.js.map +1 -0
- package/dist-server/controllers/issue-ooc-resolve.d.ts +3 -0
- package/dist-server/controllers/issue-ooc-resolve.js +49 -0
- package/dist-server/controllers/issue-ooc-resolve.js.map +1 -0
- package/dist-server/controllers/issue-ooc-review.d.ts +3 -0
- package/dist-server/controllers/issue-ooc-review.js +47 -0
- package/dist-server/controllers/issue-ooc-review.js.map +1 -0
- package/dist-server/controllers/jasper-report.d.ts +1 -0
- package/dist-server/controllers/jasper-report.js +163 -0
- package/dist-server/controllers/jasper-report.js.map +1 -0
- package/dist-server/controllers/query-data-summary-by-period.d.ts +3 -0
- package/dist-server/controllers/query-data-summary-by-period.js +157 -0
- package/dist-server/controllers/query-data-summary-by-period.js.map +1 -0
- package/dist-server/controllers/shiny-report.d.ts +1 -0
- package/dist-server/controllers/shiny-report.js +35 -0
- package/dist-server/controllers/shiny-report.js.map +1 -0
- package/dist-server/engine/index.d.ts +1 -0
- package/dist-server/engine/index.js +4 -0
- package/dist-server/engine/index.js.map +1 -0
- package/dist-server/engine/task/create-data-sample.d.ts +1 -0
- package/dist-server/engine/task/create-data-sample.js +81 -0
- package/dist-server/engine/task/create-data-sample.js.map +1 -0
- package/dist-server/engine/task/index.d.ts +2 -0
- package/dist-server/engine/task/index.js +5 -0
- package/dist-server/engine/task/index.js.map +1 -0
- package/dist-server/engine/task/issue-collect-data.d.ts +1 -0
- package/dist-server/engine/task/issue-collect-data.js +40 -0
- package/dist-server/engine/task/issue-collect-data.js.map +1 -0
- package/dist-server/index.d.ts +6 -0
- package/dist-server/index.js +10 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/routes.js +140 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/data-archive/data-archive-mutation.d.ts +16 -0
- package/dist-server/service/data-archive/data-archive-mutation.js +227 -0
- package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -0
- package/dist-server/service/data-archive/data-archive-query.d.ts +11 -0
- package/dist-server/service/data-archive/data-archive-query.js +83 -0
- package/dist-server/service/data-archive/data-archive-query.js.map +1 -0
- package/dist-server/service/data-archive/data-archive-type.d.ts +23 -0
- package/dist-server/service/data-archive/data-archive-type.js +74 -0
- package/dist-server/service/data-archive/data-archive-type.js.map +1 -0
- package/dist-server/service/data-archive/data-archive.d.ts +19 -0
- package/dist-server/service/data-archive/data-archive.js +79 -0
- package/dist-server/service/data-archive/data-archive.js.map +1 -0
- package/dist-server/service/data-archive/index.d.ts +5 -0
- package/dist-server/service/data-archive/index.js +9 -0
- package/dist-server/service/data-archive/index.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-item-type.d.ts +12 -0
- package/dist-server/service/data-key-set/data-key-item-type.js +50 -0
- package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set-mutation.d.ts +10 -0
- package/dist-server/service/data-key-set/data-key-set-mutation.js +168 -0
- package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set-query.d.ts +12 -0
- package/dist-server/service/data-key-set/data-key-set-query.js +98 -0
- package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set-type.d.ts +28 -0
- package/dist-server/service/data-key-set/data-key-set-type.js +100 -0
- package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -0
- package/dist-server/service/data-key-set/data-key-set.d.ts +22 -0
- package/dist-server/service/data-key-set/data-key-set.js +99 -0
- package/dist-server/service/data-key-set/data-key-set.js.map +1 -0
- package/dist-server/service/data-key-set/index.d.ts +5 -0
- package/dist-server/service/data-key-set/index.js +9 -0
- package/dist-server/service/data-key-set/index.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc-mutation.d.ts +6 -0
- package/dist-server/service/data-ooc/data-ooc-mutation.js +81 -0
- package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc-query.d.ts +22 -0
- package/dist-server/service/data-ooc/data-ooc-query.js +165 -0
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +7 -0
- package/dist-server/service/data-ooc/data-ooc-subscription.js +51 -0
- package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc-type.d.ts +27 -0
- package/dist-server/service/data-ooc/data-ooc-type.js +102 -0
- package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -0
- package/dist-server/service/data-ooc/data-ooc.d.ts +63 -0
- package/dist-server/service/data-ooc/data-ooc.js +304 -0
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -0
- package/dist-server/service/data-ooc/index.d.ts +6 -0
- package/dist-server/service/data-ooc/index.js +10 -0
- package/dist-server/service/data-ooc/index.js.map +1 -0
- package/dist-server/service/data-sample/data-sample-mutation.d.ts +5 -0
- package/dist-server/service/data-sample/data-sample-mutation.js +28 -0
- package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -0
- package/dist-server/service/data-sample/data-sample-query.d.ts +22 -0
- package/dist-server/service/data-sample/data-sample-query.js +249 -0
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -0
- package/dist-server/service/data-sample/data-sample-type.d.ts +18 -0
- package/dist-server/service/data-sample/data-sample-type.js +68 -0
- package/dist-server/service/data-sample/data-sample-type.js.map +1 -0
- package/dist-server/service/data-sample/data-sample.d.ts +45 -0
- package/dist-server/service/data-sample/data-sample.js +221 -0
- package/dist-server/service/data-sample/data-sample.js.map +1 -0
- package/dist-server/service/data-sample/index.d.ts +5 -0
- package/dist-server/service/data-sample/index.js +9 -0
- package/dist-server/service/data-sample/index.js.map +1 -0
- package/dist-server/service/data-sensor/data-sensor-mutation.d.ts +9 -0
- package/dist-server/service/data-sensor/data-sensor-mutation.js +109 -0
- package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -0
- package/dist-server/service/data-sensor/data-sensor-query.d.ts +16 -0
- package/dist-server/service/data-sensor/data-sensor-query.js +115 -0
- package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -0
- package/dist-server/service/data-sensor/data-sensor-type.d.ts +38 -0
- package/dist-server/service/data-sensor/data-sensor-type.js +146 -0
- package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -0
- package/dist-server/service/data-sensor/data-sensor.d.ts +31 -0
- package/dist-server/service/data-sensor/data-sensor.js +148 -0
- package/dist-server/service/data-sensor/data-sensor.js.map +1 -0
- package/dist-server/service/data-sensor/index.d.ts +5 -0
- package/dist-server/service/data-sensor/index.js +9 -0
- package/dist-server/service/data-sensor/index.js.map +1 -0
- package/dist-server/service/data-set/data-item-type.d.ts +62 -0
- package/dist-server/service/data-set/data-item-type.js +199 -0
- package/dist-server/service/data-set/data-item-type.js.map +1 -0
- package/dist-server/service/data-set/data-set-mutation.d.ts +20 -0
- package/dist-server/service/data-set/data-set-mutation.js +474 -0
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -0
- package/dist-server/service/data-set/data-set-query.d.ts +39 -0
- package/dist-server/service/data-set/data-set-query.js +545 -0
- package/dist-server/service/data-set/data-set-query.js.map +1 -0
- package/dist-server/service/data-set/data-set-type.d.ts +75 -0
- package/dist-server/service/data-set/data-set-type.js +274 -0
- package/dist-server/service/data-set/data-set-type.js.map +1 -0
- package/dist-server/service/data-set/data-set.d.ts +95 -0
- package/dist-server/service/data-set/data-set.js +375 -0
- package/dist-server/service/data-set/data-set.js.map +1 -0
- package/dist-server/service/data-set/index.d.ts +5 -0
- package/dist-server/service/data-set/index.js +9 -0
- package/dist-server/service/data-set/index.js.map +1 -0
- package/dist-server/service/data-set-history/data-set-history-query.d.ts +21 -0
- package/dist-server/service/data-set-history/data-set-history-query.js +177 -0
- package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -0
- package/dist-server/service/data-set-history/data-set-history-type.d.ts +5 -0
- package/dist-server/service/data-set-history/data-set-history-type.js +21 -0
- package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -0
- package/dist-server/service/data-set-history/data-set-history.d.ts +53 -0
- package/dist-server/service/data-set-history/data-set-history.js +246 -0
- package/dist-server/service/data-set-history/data-set-history.js.map +1 -0
- package/dist-server/service/data-set-history/event-subscriber.d.ts +7 -0
- package/dist-server/service/data-set-history/event-subscriber.js +21 -0
- package/dist-server/service/data-set-history/event-subscriber.js.map +1 -0
- package/dist-server/service/data-set-history/index.d.ts +6 -0
- package/dist-server/service/data-set-history/index.js +10 -0
- package/dist-server/service/data-set-history/index.js.map +1 -0
- package/dist-server/service/data-spec/data-spec-manager.d.ts +10 -0
- package/dist-server/service/data-spec/data-spec-manager.js +20 -0
- package/dist-server/service/data-spec/data-spec-manager.js.map +1 -0
- package/dist-server/service/data-spec/data-spec-query.d.ts +5 -0
- package/dist-server/service/data-spec/data-spec-query.js +37 -0
- package/dist-server/service/data-spec/data-spec-query.js.map +1 -0
- package/dist-server/service/data-spec/data-spec.d.ts +19 -0
- package/dist-server/service/data-spec/data-spec.js +69 -0
- package/dist-server/service/data-spec/data-spec.js.map +1 -0
- package/dist-server/service/data-spec/index.d.ts +4 -0
- package/dist-server/service/data-spec/index.js +8 -0
- package/dist-server/service/data-spec/index.js.map +1 -0
- package/dist-server/service/data-summary/data-summary-mutation.d.ts +6 -0
- package/dist-server/service/data-summary/data-summary-mutation.js +72 -0
- package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -0
- package/dist-server/service/data-summary/data-summary-query.d.ts +19 -0
- package/dist-server/service/data-summary/data-summary-query.js +214 -0
- package/dist-server/service/data-summary/data-summary-query.js.map +1 -0
- package/dist-server/service/data-summary/data-summary-type.d.ts +33 -0
- package/dist-server/service/data-summary/data-summary-type.js +137 -0
- package/dist-server/service/data-summary/data-summary-type.js.map +1 -0
- package/dist-server/service/data-summary/data-summary.d.ts +38 -0
- package/dist-server/service/data-summary/data-summary.js +200 -0
- package/dist-server/service/data-summary/data-summary.js.map +1 -0
- package/dist-server/service/data-summary/index.d.ts +6 -0
- package/dist-server/service/data-summary/index.js +10 -0
- package/dist-server/service/data-summary/index.js.map +1 -0
- package/dist-server/service/index.d.ts +14 -0
- package/dist-server/service/index.js +54 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/dist-server/utils/config-resolver.d.ts +1 -0
- package/dist-server/utils/config-resolver.js +32 -0
- package/dist-server/utils/config-resolver.js.map +1 -0
- package/dist-server/utils/index.d.ts +1 -0
- package/dist-server/utils/index.js +5 -0
- package/dist-server/utils/index.js.map +1 -0
- package/package.json +13 -13
@@ -0,0 +1,20 @@
|
|
1
|
+
import { DataSet } from './data-set.js';
|
2
|
+
import { DataSetPatch, NewDataSet } from './data-set-type.js';
|
3
|
+
export declare class DataSetMutation {
|
4
|
+
createDataSet(dataSet: NewDataSet, context: ResolverContext): Promise<DataSet>;
|
5
|
+
updateDataSet(id: string, patch: DataSetPatch, context: ResolverContext): Promise<DataSet>;
|
6
|
+
updateMultipleDataSet(patches: DataSetPatch[], context: ResolverContext): Promise<DataSet[]>;
|
7
|
+
deleteDataSet(id: string, context: ResolverContext): Promise<boolean>;
|
8
|
+
deleteDataSets(ids: string[], context: ResolverContext): Promise<boolean>;
|
9
|
+
issueDataCollection(dataSetId: string, context: ResolverContext): Promise<boolean>;
|
10
|
+
startDataCollectionSchedule(dataSetId: string, context: ResolverContext): Promise<DataSet>;
|
11
|
+
stopDataCollectionSchedule(dataSetId: string, context: ResolverContext): Promise<DataSet | undefined>;
|
12
|
+
startDataSummarySchedule(dataSetId: string, context: ResolverContext): Promise<DataSet>;
|
13
|
+
stopDataSummarySchedule(dataSetId: string, context: ResolverContext): Promise<DataSet | undefined>;
|
14
|
+
importDataSets(dataSets: DataSet[], context: ResolverContext): Promise<boolean>;
|
15
|
+
copyDataSets(ids: string[], context: ResolverContext): Promise<DataSet[]>;
|
16
|
+
_createAttachment(context: any, attachment: any, { ref, cuFlag }: {
|
17
|
+
ref: any;
|
18
|
+
cuFlag: any;
|
19
|
+
}): Promise<void>;
|
20
|
+
}
|
@@ -0,0 +1,474 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.DataSetMutation = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
6
|
+
const typeorm_1 = require("typeorm");
|
7
|
+
const shell_1 = require("@things-factory/shell");
|
8
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
9
|
+
const attachment_base_1 = require("@things-factory/attachment-base");
|
10
|
+
const organization_1 = require("@things-factory/organization");
|
11
|
+
const scheduler_client_1 = require("@things-factory/scheduler-client");
|
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
|
+
const crypto = require('crypto');
|
17
|
+
function getApprovalLineValue(patch) {
|
18
|
+
const { reviewApprovalLine } = patch;
|
19
|
+
if (!('reviewApprovalLine' in patch)) {
|
20
|
+
/* reviewApprovalLine 언급되지 않았다면, 업데이트하지 않는다. */
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
if (!reviewApprovalLine || !(reviewApprovalLine instanceof Array)) {
|
24
|
+
/* approvalLine의 값이 없거나 배열이 아니라면, 클리어시킨다. */
|
25
|
+
return null;
|
26
|
+
}
|
27
|
+
return reviewApprovalLine
|
28
|
+
.map(m => {
|
29
|
+
return {
|
30
|
+
type: m.type,
|
31
|
+
approver: m.approver
|
32
|
+
};
|
33
|
+
})
|
34
|
+
.filter(m => m.type)
|
35
|
+
.filter(m => {
|
36
|
+
var _a;
|
37
|
+
switch (m.type) {
|
38
|
+
case organization_1.OrgMemberTargetType.Employee:
|
39
|
+
case organization_1.OrgMemberTargetType.Department:
|
40
|
+
case organization_1.OrgMemberTargetType.Role:
|
41
|
+
return !!((_a = m.approver) === null || _a === void 0 ? void 0 : _a.id);
|
42
|
+
default:
|
43
|
+
return true;
|
44
|
+
}
|
45
|
+
});
|
46
|
+
}
|
47
|
+
function getOutlierApprovalLineValue(patch) {
|
48
|
+
const { outlierApprovalLine } = patch;
|
49
|
+
if (!('outlierApprovalLine' in patch)) {
|
50
|
+
/* approvalLine이 언급되지 않았다면, 업데이트하지 않는다. */
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
if (!outlierApprovalLine || !(outlierApprovalLine instanceof Array)) {
|
54
|
+
/* approvalLine의 값이 없거나 배열이 아니라면, 클리어시킨다. */
|
55
|
+
return null;
|
56
|
+
}
|
57
|
+
return outlierApprovalLine
|
58
|
+
.map(m => {
|
59
|
+
return {
|
60
|
+
type: m.type,
|
61
|
+
approver: m.approver
|
62
|
+
};
|
63
|
+
})
|
64
|
+
.filter(m => m.type)
|
65
|
+
.filter(m => {
|
66
|
+
var _a;
|
67
|
+
switch (m.type) {
|
68
|
+
case organization_1.OrgMemberTargetType.Employee:
|
69
|
+
case organization_1.OrgMemberTargetType.Department:
|
70
|
+
case organization_1.OrgMemberTargetType.Role:
|
71
|
+
return !!((_a = m.approver) === null || _a === void 0 ? void 0 : _a.id);
|
72
|
+
default:
|
73
|
+
return true;
|
74
|
+
}
|
75
|
+
});
|
76
|
+
}
|
77
|
+
let DataSetMutation = class DataSetMutation {
|
78
|
+
async createDataSet(dataSet, context) {
|
79
|
+
const { domain, user, tx } = context.state;
|
80
|
+
const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
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
|
+
await this._createAttachment(context, dataSet.reportTemplate, { ref: result, cuFlag: '+' });
|
83
|
+
return result;
|
84
|
+
}
|
85
|
+
async updateDataSet(id, patch, context) {
|
86
|
+
const { domain, user, tx } = context.state;
|
87
|
+
const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
88
|
+
const dataSet = await dataSetRepo.findOne({
|
89
|
+
where: { domain: { id: domain.id }, id },
|
90
|
+
relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']
|
91
|
+
/* history에 항상 반영될 수 있도록 relations가 있어야 함. */
|
92
|
+
});
|
93
|
+
const result = await dataSetRepo.save(Object.assign(Object.assign(Object.assign({}, dataSet), patch), { approvalLine: getApprovalLineValue(patch), outlierApprovalLineValue: getOutlierApprovalLineValue(patch), updater: user }));
|
94
|
+
await this._createAttachment(context, dataSet.reportTemplate, { ref: result, cuFlag: 'M' });
|
95
|
+
return result;
|
96
|
+
}
|
97
|
+
async updateMultipleDataSet(patches, context) {
|
98
|
+
const { domain, user, tx } = context.state;
|
99
|
+
const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
100
|
+
let results = [];
|
101
|
+
const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
|
102
|
+
const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
|
103
|
+
if (_createRecords.length > 0) {
|
104
|
+
const cuFlag = '+';
|
105
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
106
|
+
const newRecord = _createRecords[i];
|
107
|
+
const result = await dataSetRepo.save(Object.assign(Object.assign({}, newRecord), { approvalLine: getApprovalLineValue(newRecord), outlierApprovalLineValue: getOutlierApprovalLineValue(newRecord), domain, creator: user, updater: user }));
|
108
|
+
await this._createAttachment(context, newRecord.reportTemplate, { ref: result, cuFlag });
|
109
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag }));
|
110
|
+
}
|
111
|
+
}
|
112
|
+
if (_updateRecords.length > 0) {
|
113
|
+
const cuFlag = 'M';
|
114
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
115
|
+
const updateRecord = _updateRecords[i];
|
116
|
+
const dataSet = await dataSetRepo.findOne({
|
117
|
+
where: { id: updateRecord.id },
|
118
|
+
/* history에 항상 반영될 수 있도록 relations가 있어야 함. */
|
119
|
+
relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']
|
120
|
+
});
|
121
|
+
const result = await dataSetRepo.save(Object.assign(Object.assign(Object.assign({}, dataSet), updateRecord), { approvalLine: getApprovalLineValue(updateRecord), outlierApprovalLineValue: getOutlierApprovalLineValue(updateRecord), updater: user }));
|
122
|
+
await this._createAttachment(context, updateRecord.reportTemplate, { ref: result, cuFlag });
|
123
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag }));
|
124
|
+
}
|
125
|
+
}
|
126
|
+
return results;
|
127
|
+
}
|
128
|
+
async deleteDataSet(id, context) {
|
129
|
+
const { domain, tx } = context.state;
|
130
|
+
await (0, shell_1.getRepository)(data_set_js_1.DataSet, tx).delete({ domain: { id: domain.id }, id });
|
131
|
+
await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: [`report-${id}`] }, context);
|
132
|
+
return true;
|
133
|
+
}
|
134
|
+
async deleteDataSets(ids, context) {
|
135
|
+
const { domain, tx } = context.state;
|
136
|
+
await (0, shell_1.getRepository)(data_set_js_1.DataSet, tx).delete({
|
137
|
+
domain: { id: domain.id },
|
138
|
+
id: (0, typeorm_1.In)(ids)
|
139
|
+
});
|
140
|
+
await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: ids.map(id => `report-${id}`) }, context);
|
141
|
+
return true;
|
142
|
+
}
|
143
|
+
async issueDataCollection(dataSetId, context) {
|
144
|
+
const { domain, tx, user } = context.state;
|
145
|
+
const dataSet = await (0, shell_1.getRepository)(data_set_js_1.DataSet, tx).findOne({
|
146
|
+
where: {
|
147
|
+
domain: {
|
148
|
+
id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean))
|
149
|
+
},
|
150
|
+
id: dataSetId
|
151
|
+
}
|
152
|
+
});
|
153
|
+
const { supervisoryRoleId, entryRoleId } = dataSet;
|
154
|
+
const allowedRoles = [supervisoryRoleId, entryRoleId].filter(Boolean);
|
155
|
+
const me = await (0, shell_1.getRepository)(auth_base_1.User, tx).findOne({
|
156
|
+
where: { id: user.id },
|
157
|
+
relations: ['roles']
|
158
|
+
});
|
159
|
+
if (!me.roles.find(role => allowedRoles.includes(role.id))) {
|
160
|
+
throw new Error(`You don't have permission to issue data collection task for this dataset.`);
|
161
|
+
}
|
162
|
+
const activityInstance = await (0, issue_data_collection_task_js_1.issueDataCollectionTask)(domain.id, dataSet.id, context);
|
163
|
+
return !!activityInstance;
|
164
|
+
}
|
165
|
+
async startDataCollectionSchedule(dataSetId, context) {
|
166
|
+
const { domain, tx } = context.state;
|
167
|
+
var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
168
|
+
var dataSet = await repository.findOne({
|
169
|
+
where: { domain: { id: domain.id }, id: dataSetId }
|
170
|
+
});
|
171
|
+
if (!dataSet) {
|
172
|
+
throw new Error(context.t('error.data-set not found', {
|
173
|
+
dataSet: dataSetId
|
174
|
+
}));
|
175
|
+
}
|
176
|
+
try {
|
177
|
+
var handle = await (0, scheduler_client_1.registerSchedule)({
|
178
|
+
name: dataSet.name,
|
179
|
+
client: {
|
180
|
+
application: scheduler_client_1.Application,
|
181
|
+
group: `${domain.id}`,
|
182
|
+
type: 'data-set',
|
183
|
+
key: dataSet.id,
|
184
|
+
operation: 'schedule'
|
185
|
+
},
|
186
|
+
type: 'cron',
|
187
|
+
schedule: dataSet.schedule,
|
188
|
+
timezone: dataSet.timezone,
|
189
|
+
task: {
|
190
|
+
type: 'rest',
|
191
|
+
connection: {
|
192
|
+
host: `${scheduler_client_1.CallbackBase}/callback-schedule-for-dataset`,
|
193
|
+
headers: {
|
194
|
+
'Content-Type': 'application/json',
|
195
|
+
accept: '*/*'
|
196
|
+
}
|
197
|
+
},
|
198
|
+
data: {
|
199
|
+
domainId: domain.id,
|
200
|
+
dataSetId
|
201
|
+
},
|
202
|
+
history_check: true,
|
203
|
+
failed_policy: 'retry_dlq',
|
204
|
+
max_retry_count: 3,
|
205
|
+
retry_period: 60
|
206
|
+
}
|
207
|
+
});
|
208
|
+
return await repository.save(Object.assign(Object.assign({}, dataSet), { scheduleId: handle }));
|
209
|
+
}
|
210
|
+
catch (err) {
|
211
|
+
console.error('startDataCollectionSchedule', err);
|
212
|
+
}
|
213
|
+
}
|
214
|
+
async stopDataCollectionSchedule(dataSetId, context) {
|
215
|
+
const { domain, tx } = context.state;
|
216
|
+
var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
217
|
+
var dataSet = await repository.findOne({
|
218
|
+
where: { domain: { id: domain.id }, id: dataSetId }
|
219
|
+
});
|
220
|
+
if (!dataSet) {
|
221
|
+
throw new Error(context.t('error.data-set not found', {
|
222
|
+
dataSet: dataSetId
|
223
|
+
}));
|
224
|
+
}
|
225
|
+
try {
|
226
|
+
await (0, scheduler_client_1.unregisterSchedule)(dataSet.scheduleId);
|
227
|
+
return await repository.save(Object.assign(Object.assign({}, dataSet), { scheduleId: null }));
|
228
|
+
}
|
229
|
+
catch (err) {
|
230
|
+
console.error('stopDataCollectionSchedule', err);
|
231
|
+
}
|
232
|
+
}
|
233
|
+
async startDataSummarySchedule(dataSetId, context) {
|
234
|
+
const { domain, tx } = context.state;
|
235
|
+
var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
236
|
+
var dataSet = await repository.findOne({
|
237
|
+
where: { domain: { id: domain.id }, id: dataSetId }
|
238
|
+
});
|
239
|
+
if (!dataSet) {
|
240
|
+
throw new Error(context.t('error.data-set not found', {
|
241
|
+
dataSet: dataSetId
|
242
|
+
}));
|
243
|
+
}
|
244
|
+
if (!dataSet.summaryPeriod) {
|
245
|
+
throw new Error(context.t('error.data-set summary-period not set', {
|
246
|
+
dataSet: dataSetId
|
247
|
+
}));
|
248
|
+
}
|
249
|
+
const schedule = await (0, finalize_data_collection_js_1.getDataFinalizeCrontabSchedule)(dataSet, context);
|
250
|
+
try {
|
251
|
+
var handle = await (0, scheduler_client_1.registerSchedule)({
|
252
|
+
name: dataSet.name,
|
253
|
+
client: {
|
254
|
+
application: scheduler_client_1.Application,
|
255
|
+
group: `${domain.id}`,
|
256
|
+
type: 'data-set',
|
257
|
+
key: dataSet.id,
|
258
|
+
operation: 'summary'
|
259
|
+
},
|
260
|
+
type: 'cron',
|
261
|
+
schedule,
|
262
|
+
timezone: dataSet.timezone,
|
263
|
+
task: {
|
264
|
+
type: 'rest',
|
265
|
+
connection: {
|
266
|
+
host: `${scheduler_client_1.CallbackBase}/callback-schedule-for-dataset-summary`,
|
267
|
+
headers: {
|
268
|
+
'Content-Type': 'application/json',
|
269
|
+
accept: '*/*'
|
270
|
+
}
|
271
|
+
},
|
272
|
+
data: {
|
273
|
+
domainId: domain.id,
|
274
|
+
dataSetId
|
275
|
+
},
|
276
|
+
history_check: true,
|
277
|
+
failed_policy: 'retry_dlq',
|
278
|
+
max_retry_count: 3,
|
279
|
+
retry_period: 60
|
280
|
+
}
|
281
|
+
});
|
282
|
+
return await repository.save(Object.assign(Object.assign({}, dataSet), { summarySchedule: schedule, summaryScheduleId: handle }));
|
283
|
+
}
|
284
|
+
catch (err) {
|
285
|
+
console.error('startDataSummarySchedule', err);
|
286
|
+
}
|
287
|
+
}
|
288
|
+
async stopDataSummarySchedule(dataSetId, context) {
|
289
|
+
const { domain, tx } = context.state;
|
290
|
+
var repository = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
291
|
+
var dataSet = await repository.findOne({
|
292
|
+
where: { domain: { id: domain.id }, id: dataSetId }
|
293
|
+
});
|
294
|
+
if (!dataSet) {
|
295
|
+
throw new Error(context.t('error.data-set not found', {
|
296
|
+
dataSet: dataSetId
|
297
|
+
}));
|
298
|
+
}
|
299
|
+
try {
|
300
|
+
await (0, scheduler_client_1.unregisterSchedule)(dataSet.summaryScheduleId);
|
301
|
+
return await repository.save(Object.assign(Object.assign({}, dataSet), { summarySchedule: null, summaryScheduleId: null }));
|
302
|
+
}
|
303
|
+
catch (err) {
|
304
|
+
console.error('stopDataSummarySchedule', err);
|
305
|
+
}
|
306
|
+
}
|
307
|
+
async importDataSets(dataSets, context) {
|
308
|
+
const { domain, tx } = context.state;
|
309
|
+
const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
310
|
+
await Promise.all(dataSets.map(async (dataSet) => {
|
311
|
+
const createdDataSet = await dataSetRepo.save(Object.assign({ domain }, dataSet));
|
312
|
+
}));
|
313
|
+
return true;
|
314
|
+
}
|
315
|
+
async copyDataSets(ids, context) {
|
316
|
+
const { domain, user, tx } = context.state;
|
317
|
+
const dataSetRepo = (0, shell_1.getRepository)(data_set_js_1.DataSet, tx);
|
318
|
+
const originals = await dataSetRepo.find({
|
319
|
+
where: {
|
320
|
+
id: (0, typeorm_1.In)(ids),
|
321
|
+
domain: { id: (0, typeorm_1.In)([domain.id, domain.parentId].filter(Boolean)) }
|
322
|
+
},
|
323
|
+
relations: ['domain', 'supervisoryRole', 'entryRole', 'dataKeySet']
|
324
|
+
});
|
325
|
+
if (originals.length == 0) {
|
326
|
+
return [];
|
327
|
+
}
|
328
|
+
var newCopys = originals.map(dataSet => {
|
329
|
+
let dataSetId = crypto.randomUUID();
|
330
|
+
return Object.assign(Object.assign({}, dataSet), { id: dataSetId, name: dataSet.name + ' (' + dataSetId + ')', active: false, version: 1, domain, creator: user, updater: user, updatedAt: undefined, createdAt: undefined });
|
331
|
+
});
|
332
|
+
var copiedDataSets = await dataSetRepo.save(newCopys);
|
333
|
+
return copiedDataSets;
|
334
|
+
}
|
335
|
+
async _createAttachment(context, attachment, { ref, cuFlag }) {
|
336
|
+
if (attachment) {
|
337
|
+
cuFlag == 'M' && (await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: [ref.id] }, context));
|
338
|
+
await (0, attachment_base_1.createAttachment)(null, {
|
339
|
+
attachment: {
|
340
|
+
file: attachment,
|
341
|
+
refType: `${data_set_js_1.DataSet.name}-report-template`,
|
342
|
+
refBy: ref.id
|
343
|
+
}
|
344
|
+
}, context);
|
345
|
+
}
|
346
|
+
}
|
347
|
+
};
|
348
|
+
exports.DataSetMutation = DataSetMutation;
|
349
|
+
tslib_1.__decorate([
|
350
|
+
(0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
|
351
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
352
|
+
(0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To create new DataSet' }),
|
353
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSet')),
|
354
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
355
|
+
tslib_1.__metadata("design:type", Function),
|
356
|
+
tslib_1.__metadata("design:paramtypes", [data_set_type_js_1.NewDataSet, Object]),
|
357
|
+
tslib_1.__metadata("design:returntype", Promise)
|
358
|
+
], DataSetMutation.prototype, "createDataSet", null);
|
359
|
+
tslib_1.__decorate([
|
360
|
+
(0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
|
361
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
362
|
+
(0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To modify DataSet information' }),
|
363
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
364
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
|
365
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
366
|
+
tslib_1.__metadata("design:type", Function),
|
367
|
+
tslib_1.__metadata("design:paramtypes", [String, data_set_type_js_1.DataSetPatch, Object]),
|
368
|
+
tslib_1.__metadata("design:returntype", Promise)
|
369
|
+
], DataSetMutation.prototype, "updateDataSet", null);
|
370
|
+
tslib_1.__decorate([
|
371
|
+
(0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
|
372
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
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
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
376
|
+
tslib_1.__metadata("design:type", Function),
|
377
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
378
|
+
tslib_1.__metadata("design:returntype", Promise)
|
379
|
+
], DataSetMutation.prototype, "updateMultipleDataSet", null);
|
380
|
+
tslib_1.__decorate([
|
381
|
+
(0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
|
382
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
383
|
+
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete DataSet' }),
|
384
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
385
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
386
|
+
tslib_1.__metadata("design:type", Function),
|
387
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
388
|
+
tslib_1.__metadata("design:returntype", Promise)
|
389
|
+
], DataSetMutation.prototype, "deleteDataSet", null);
|
390
|
+
tslib_1.__decorate([
|
391
|
+
(0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
|
392
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
393
|
+
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple dataSets' }),
|
394
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
395
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
396
|
+
tslib_1.__metadata("design:type", Function),
|
397
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
398
|
+
tslib_1.__metadata("design:returntype", Promise)
|
399
|
+
], DataSetMutation.prototype, "deleteDataSets", null);
|
400
|
+
tslib_1.__decorate([
|
401
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
402
|
+
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To issue data-collection task for the given dataset' }),
|
403
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
|
404
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
405
|
+
tslib_1.__metadata("design:type", Function),
|
406
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
407
|
+
tslib_1.__metadata("design:returntype", Promise)
|
408
|
+
], DataSetMutation.prototype, "issueDataCollection", null);
|
409
|
+
tslib_1.__decorate([
|
410
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
411
|
+
(0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To start data collection schedule for the given dataset' }),
|
412
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
|
413
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
414
|
+
tslib_1.__metadata("design:type", Function),
|
415
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
416
|
+
tslib_1.__metadata("design:returntype", Promise)
|
417
|
+
], DataSetMutation.prototype, "startDataCollectionSchedule", null);
|
418
|
+
tslib_1.__decorate([
|
419
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
420
|
+
(0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, {
|
421
|
+
nullable: true,
|
422
|
+
description: 'To stop data collection schedule for the given dataset'
|
423
|
+
}),
|
424
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
|
425
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
426
|
+
tslib_1.__metadata("design:type", Function),
|
427
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
428
|
+
tslib_1.__metadata("design:returntype", Promise)
|
429
|
+
], DataSetMutation.prototype, "stopDataCollectionSchedule", null);
|
430
|
+
tslib_1.__decorate([
|
431
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
432
|
+
(0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, { description: 'To start data summary schedule for the given dataset' }),
|
433
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
|
434
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
435
|
+
tslib_1.__metadata("design:type", Function),
|
436
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
437
|
+
tslib_1.__metadata("design:returntype", Promise)
|
438
|
+
], DataSetMutation.prototype, "startDataSummarySchedule", null);
|
439
|
+
tslib_1.__decorate([
|
440
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
441
|
+
(0, type_graphql_1.Mutation)(returns => data_set_js_1.DataSet, {
|
442
|
+
nullable: true,
|
443
|
+
description: 'To stop data summary schedule for the given dataset'
|
444
|
+
}),
|
445
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('dataSetId')),
|
446
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
447
|
+
tslib_1.__metadata("design:type", Function),
|
448
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
449
|
+
tslib_1.__metadata("design:returntype", Promise)
|
450
|
+
], DataSetMutation.prototype, "stopDataSummarySchedule", null);
|
451
|
+
tslib_1.__decorate([
|
452
|
+
(0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
|
453
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
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_js_1.DataSetPatch])),
|
456
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
457
|
+
tslib_1.__metadata("design:type", Function),
|
458
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
459
|
+
tslib_1.__metadata("design:returntype", Promise)
|
460
|
+
], DataSetMutation.prototype, "importDataSets", null);
|
461
|
+
tslib_1.__decorate([
|
462
|
+
(0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
|
463
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
464
|
+
(0, type_graphql_1.Mutation)(returns => [data_set_js_1.DataSet], { description: 'To copy multiple data-sets' }),
|
465
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
466
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
467
|
+
tslib_1.__metadata("design:type", Function),
|
468
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
469
|
+
tslib_1.__metadata("design:returntype", Promise)
|
470
|
+
], DataSetMutation.prototype, "copyDataSets", null);
|
471
|
+
exports.DataSetMutation = DataSetMutation = tslib_1.__decorate([
|
472
|
+
(0, type_graphql_1.Resolver)(data_set_js_1.DataSet)
|
473
|
+
], DataSetMutation);
|
474
|
+
//# sourceMappingURL=data-set-mutation.js.map
|
@@ -0,0 +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.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"]}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { Role, User } from '@things-factory/auth-base';
|
2
|
+
import { Board } from '@things-factory/board-service';
|
3
|
+
import { ApprovalLineItem } from '@things-factory/organization';
|
4
|
+
import { Domain, ListParam } from '@things-factory/shell';
|
5
|
+
import { AssigneeItem } from '@things-factory/worklist';
|
6
|
+
import { Scenario } from '@things-factory/integration-base';
|
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
|
+
export declare class DataSetQuery {
|
12
|
+
dataSet(id: string, context: ResolverContext): Promise<DataSet>;
|
13
|
+
dataSetByName(name: string, context: ResolverContext): Promise<DataSet>;
|
14
|
+
dataSets(params: ListParam, context: ResolverContext): Promise<DataSetList>;
|
15
|
+
dataSetsForEntry(params: ListParam, context: ResolverContext): Promise<DataSetList>;
|
16
|
+
dataSetsForReport(params: ListParam, context: ResolverContext): Promise<DataSetList>;
|
17
|
+
status(dataSet: DataSet): Promise<DataSetState>;
|
18
|
+
dataItems(dataSet: DataSet): Promise<DataItem[]>;
|
19
|
+
entryRole(dataSet: DataSet): Promise<Role>;
|
20
|
+
supervisoryRole(dataSet: DataSet): Promise<Role>;
|
21
|
+
resolverRole(dataSet: DataSet): Promise<Role>;
|
22
|
+
assignees(dataSet: DataSet, context: ResolverContext): Promise<AssigneeItem[]>;
|
23
|
+
approvalLine(dataSet: DataSet, context: ResolverContext): Promise<ApprovalLineItem[]>;
|
24
|
+
entryBoard(dataSet: DataSet): Promise<Board>;
|
25
|
+
monitorBoard(dataSet: DataSet): Promise<Board>;
|
26
|
+
dataKeySet(dataSet: DataSet): Promise<DataKeySet>;
|
27
|
+
normalScenario(dataSet: DataSet): Promise<Scenario>;
|
28
|
+
outlierScenario(dataSet: DataSet): Promise<Scenario>;
|
29
|
+
domain(dataSet: DataSet): Promise<Domain>;
|
30
|
+
updater(dataSet: DataSet): Promise<User>;
|
31
|
+
creator(dataSet: DataSet): Promise<User>;
|
32
|
+
latestCollectedAt(dataSet: DataSet): Promise<Date>;
|
33
|
+
nextSchedule(dataSet: DataSet): Promise<Date>;
|
34
|
+
prevSchedule(dataSet: DataSet): Promise<Date>;
|
35
|
+
nextSummarySchedule(dataSet: DataSet): Promise<Date>;
|
36
|
+
reportTemplate(dataset: DataSet): Promise<string | undefined>;
|
37
|
+
isSupervisor(dataset: DataSet, context: ResolverContext): Promise<boolean>;
|
38
|
+
isEntryAllowed(dataset: DataSet, context: ResolverContext): Promise<boolean>;
|
39
|
+
}
|