@things-factory/dataset 7.1.34 → 7.1.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/client/activities/activity-ooc-resolve-edit.ts +1 -1
  2. package/client/activities/activity-ooc-review-edit.ts +1 -1
  3. package/client/pages/data-entry/data-entry-list-page.ts +7 -0
  4. package/client/pages/data-set/data-set-list-page.ts +24 -15
  5. package/dist-client/activities/activity-ooc-resolve-edit.js +1 -1
  6. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  7. package/dist-client/activities/activity-ooc-review-edit.js +1 -1
  8. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  9. package/dist-client/pages/data-entry/data-entry-list-page.js +7 -0
  10. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  11. package/dist-client/pages/data-set/data-set-list-page.js +24 -15
  12. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  13. package/dist-client/tsconfig.tsbuildinfo +1 -1
  14. package/dist-server/activities/activity-data-collect.d.ts +1 -0
  15. package/dist-server/activities/activity-data-collect.js +1 -0
  16. package/dist-server/activities/activity-data-collect.js.map +1 -1
  17. package/dist-server/activities/activity-data-review.d.ts +1 -0
  18. package/dist-server/activities/activity-data-review.js +1 -0
  19. package/dist-server/activities/activity-data-review.js.map +1 -1
  20. package/dist-server/activities/activity-ooc-resolve.d.ts +1 -0
  21. package/dist-server/activities/activity-ooc-resolve.js +1 -0
  22. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  23. package/dist-server/activities/activity-ooc-review.d.ts +1 -0
  24. package/dist-server/activities/activity-ooc-review.js +14 -5
  25. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  26. package/dist-server/controllers/create-data-sample.js +18 -12
  27. package/dist-server/controllers/create-data-sample.js.map +1 -1
  28. package/dist-server/controllers/issue-data-collection-task.d.ts +2 -0
  29. package/dist-server/controllers/{issue-collect-data.js → issue-data-collection-task.js} +13 -10
  30. package/dist-server/controllers/issue-data-collection-task.js.map +1 -0
  31. package/dist-server/engine/task/issue-collect-data.js +2 -2
  32. package/dist-server/engine/task/issue-collect-data.js.map +1 -1
  33. package/dist-server/routes.js +5 -3
  34. package/dist-server/routes.js.map +1 -1
  35. package/dist-server/service/data-ooc/index.d.ts +1 -1
  36. package/dist-server/service/data-sample/data-sample-query.d.ts +1 -1
  37. package/dist-server/service/data-sample/data-sample-query.js +3 -3
  38. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  39. package/dist-server/service/data-set/data-set-mutation.js +8 -65
  40. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  41. package/dist-server/service/data-set/data-set-query.d.ts +1 -0
  42. package/dist-server/service/data-set/data-set-query.js +15 -0
  43. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  44. package/dist-server/service/data-set/data-set-type.d.ts +4 -3
  45. package/dist-server/service/data-set/data-set-type.js +20 -6
  46. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  47. package/dist-server/service/data-set/data-set.d.ts +3 -0
  48. package/dist-server/service/data-set/data-set.js +20 -0
  49. package/dist-server/service/data-set/data-set.js.map +1 -1
  50. package/dist-server/service/data-set/index.d.ts +1 -1
  51. package/dist-server/service/index.d.ts +2 -2
  52. package/dist-server/tsconfig.tsbuildinfo +1 -1
  53. package/helps/dataset/task/issue-collect-data.ja.md +1 -1
  54. package/helps/dataset/task/issue-collect-data.ko.md +1 -1
  55. package/helps/dataset/task/issue-collect-data.md +1 -1
  56. package/helps/dataset/task/issue-collect-data.ms.md +1 -1
  57. package/helps/dataset/task/issue-collect-data.zh.md +1 -1
  58. package/package.json +3 -3
  59. package/server/activities/activity-data-collect.ts +12 -2
  60. package/server/activities/activity-data-review.ts +6 -1
  61. package/server/activities/activity-ooc-resolve.ts +1 -0
  62. package/server/activities/activity-ooc-review.ts +30 -8
  63. package/server/controllers/create-data-sample.ts +18 -12
  64. package/server/controllers/{issue-collect-data.ts → issue-data-collection-task.ts} +11 -8
  65. package/server/engine/task/issue-collect-data.ts +2 -2
  66. package/server/routes.ts +5 -3
  67. package/server/service/data-sample/data-sample-query.ts +4 -4
  68. package/server/service/data-set/data-set-mutation.ts +4 -75
  69. package/server/service/data-set/data-set-query.ts +12 -0
  70. package/server/service/data-set/data-set-type.ts +16 -5
  71. package/server/service/data-set/data-set.ts +17 -0
  72. package/translations/en.json +2 -0
  73. package/translations/ja.json +2 -0
  74. package/translations/ko.json +2 -0
  75. package/translations/ms.json +2 -0
  76. package/translations/zh.json +2 -0
  77. package/dist-server/controllers/issue-collect-data.d.ts +0 -2
  78. package/dist-server/controllers/issue-collect-data.js.map +0 -1
@@ -150,6 +150,16 @@ export class DataSet {
150
150
  @RelationId((dataSet: DataSet) => dataSet.supervisoryRole)
151
151
  supervisoryRoleId?: string
152
152
 
153
+ @ManyToOne(type => Role, { nullable: true })
154
+ @Field(type => Role, {
155
+ nullable: true,
156
+ description: 'The final authority on resolving outlier related to that dataset.'
157
+ })
158
+ resolverRole?: Role
159
+
160
+ @RelationId((dataSet: DataSet) => dataSet.resolverRole)
161
+ resolverRoleId?: string
162
+
153
163
  @Column('simple-json', { nullable: true })
154
164
  @Field(type => [AssigneeItem], { nullable: true, description: 'Who to contact for OOC issues' })
155
165
  assignees?: AssigneeItem[]
@@ -285,6 +295,13 @@ export class DataSet {
285
295
  @Field({ nullable: true, description: 'The summary schedule ID of the dataset' })
286
296
  summaryScheduleId?: string
287
297
 
298
+ @Column({ nullable: true })
299
+ @Field({
300
+ nullable: true,
301
+ description: 'The maximum allowed time limit (in seconds) for completing the data entry operation'
302
+ })
303
+ timeLimit?: number
304
+
288
305
  @CreateDateColumn()
289
306
  @Field({ nullable: true, description: 'The date and time the dataset was created' })
290
307
  createdAt?: Date
@@ -70,6 +70,7 @@
70
70
  "field.report-view": "report view",
71
71
  "field.request-params": "request parameters",
72
72
  "field.requires-review": "requires review",
73
+ "field.resolver-role": "resolver role",
73
74
  "field.review-approval-line": "review approval line",
74
75
  "field.role": "role",
75
76
  "field.serial-no": "serial #",
@@ -82,6 +83,7 @@
82
83
  "field.supervisory-role": "supervisory role",
83
84
  "field.t-key": "translation key",
84
85
  "field.tag": "tag name",
86
+ "field.time-limit": "time limit",
85
87
  "field.time-period": "time period",
86
88
  "field.unit": "unit",
87
89
  "field.use-case": "use case",
@@ -41,6 +41,7 @@
41
41
  "field.entry-view": "入力用画面",
42
42
  "field.finalizing-function": "最終処理関数",
43
43
  "field.hidden": "隠し",
44
+ "field.hours-limit": "制限時間",
44
45
  "field.item": "項目",
45
46
  "field.key": "キ",
46
47
  "field.key-01": "キー1",
@@ -71,6 +72,7 @@
71
72
  "field.report-view": "レポート用画面",
72
73
  "field.request-params": "リクエスト パラメータ",
73
74
  "field.requires-review": "見直しが必要",
75
+ "field.resolver-role": "解決者役割",
74
76
  "field.review-approval-line": "決済ライン",
75
77
  "field.role": "ロール",
76
78
  "field.serial-no": "シリアル番号",
@@ -71,6 +71,7 @@
71
71
  "field.report-view": "리포트용 화면",
72
72
  "field.request-params": "요청 매개변수",
73
73
  "field.requires-review": "검토 요청",
74
+ "field.resolver-role": "해결자 역할",
74
75
  "field.review-approval-line": "결재라인",
75
76
  "field.role": "역할",
76
77
  "field.serial-no": "시리얼번호",
@@ -82,6 +83,7 @@
82
83
  "field.supervisory-role": "관리자 역할",
83
84
  "field.t-key": "번역 키",
84
85
  "field.tag": "태그이름",
86
+ "field.time-limit": "제한시간",
85
87
  "field.time-period": "시간단위",
86
88
  "field.unit": "단위",
87
89
  "field.use-case": "사용 사례",
@@ -71,6 +71,7 @@
71
71
  "field.report-view": "paparan laporan",
72
72
  "field.request-params": "parameter permintaan",
73
73
  "field.requires-review": "memerlukan semakan",
74
+ "field.resolver-role": "peranan penyelesai",
74
75
  "field.review-approval-line": "baris kelulusan",
75
76
  "field.role": "peranan",
76
77
  "field.serial-no": "no. siri",
@@ -82,6 +83,7 @@
82
83
  "field.supervisory-role": "peranan pengawasan",
83
84
  "field.t-key": "kunci terjemahan",
84
85
  "field.tag": "nama tag",
86
+ "field.time-limit": "had masa",
85
87
  "field.time-period": "tempoh masa",
86
88
  "field.unit": "unit",
87
89
  "field.use-case": "kes penggunaan",
@@ -71,6 +71,7 @@
71
71
  "field.report-view": "报告界面",
72
72
  "field.request-params": "请求参数",
73
73
  "field.requires-review": "需要审查",
74
+ "field.resolver-role": "解决者角色",
74
75
  "field.review-approval-line": "审批线",
75
76
  "field.role": "角色",
76
77
  "field.serial-no": "序列号",
@@ -82,6 +83,7 @@
82
83
  "field.supervisory-role": "监管角色",
83
84
  "field.t-key": "翻译键",
84
85
  "field.tag": "标签名",
86
+ "field.time-limit": "限制时间",
85
87
  "field.time-period": "时间单位",
86
88
  "field.unit": "单位",
87
89
  "field.use-case": "使用案例",
@@ -1,2 +0,0 @@
1
- import { ActivityInstance } from '@things-factory/worklist';
2
- export declare function issueCollectData(domainId: string, dataSetId: string, context: ResolverContext): Promise<ActivityInstance | void>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"issue-collect-data.js","sourceRoot":"","sources":["../../server/controllers/issue-collect-data.ts"],"names":[],"mappings":";;AAOA,4CA2DC;AAlED,qCAA4B;AAE5B,iDAA6D;AAC7D,uDAA4E;AAE5E,2DAAsD;AAE/C,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,SAAiB,EACjB,OAAwB;IAExB,MAAM,IAAA,qBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,aAAa,CAAC,CAAA;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACrD;gBACD,EAAE,EAAE,SAAS;aACd;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;YAChE,IAAI,EAAE,cAAc;SACrB,CAAC,CAAa,CAAA;QAEf,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;YAE7B,0DAA0D;YAC1D,IAAI,SAAS,IAAI,SAAS,YAAY,KAAK,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,gBAAgB,GAAG;oBACvB,IAAI,EAAE,aAAa,OAAO,CAAC,IAAI,EAAE;oBACjC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBACjD,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;qBAC1B;oBACD,SAAS;iBACV,CAAA;gBAED,OAAO,CAAC,KAAK,mCACR,OAAO,CAAC,KAAK,KAChB,MAAM;oBACN,EAAE,GACH,CAAA;gBAED,OAAO,MAAM,IAAA,gBAAK,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,CAAC,IAAI,oCAAoC,CACpG,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { In } from 'typeorm'\n\nimport { Domain, getDataSource } from '@things-factory/shell'\nimport { Activity, ActivityInstance, issue } from '@things-factory/worklist'\n\nimport { DataSet } from '../service/data-set/data-set'\n\nexport async function issueCollectData(\n domainId: string,\n dataSetId: string,\n context: ResolverContext\n): Promise<ActivityInstance | void> {\n await getDataSource().transaction(async tx => {\n const domain = await tx.getRepository(Domain).findOneBy({ id: domainId })\n\n if (!domain) {\n throw new Error(`domain(${domainId}) not found`)\n }\n\n const dataSet = await tx.getRepository(DataSet).findOne({\n where: {\n domain: {\n id: In([domain.id, domain.parentId].filter(Boolean))\n },\n id: dataSetId\n }\n })\n\n const activity = (await tx.getRepository(Activity).findOneBy({\n domain: { id: In([domain.id, domain.parentId].filter(Boolean)) },\n name: 'Collect Data'\n })) as Activity\n\n if (activity) {\n const { assignees } = dataSet\n\n /* 해당 dataset에 대한 데이타 수집 태스크를 dataset assignees에게 할당한다. */\n if (assignees && assignees instanceof Array && assignees.length > 0) {\n const activityInstance = {\n name: `[Data 수집] ${dataSet.name}`,\n description: dataSet.description,\n activityId: activity.id,\n dueAt: new Date(Date.now() + 24 * 60 * 60 * 1000),\n input: {\n dataSetId: dataSet.id,\n dataSetName: dataSet.name\n },\n assignees\n }\n\n context.state = {\n ...context.state,\n domain,\n tx\n }\n\n return await issue(activityInstance, context)\n } else {\n throw new Error(\n `Assignees not set. So Data Collect Activity for ${dataSet.name}($dataSet.id) could not be issued.`\n )\n }\n } else {\n throw new Error(`Data Collect Activity is not installed.`)\n }\n })\n}\n"]}