@things-factory/dataset 5.0.0-zeta.2 → 5.0.0-zeta.20

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 (90) hide show
  1. package/client/bootstrap.js +2 -3
  2. package/client/{pages/data-entry → components}/data-entry-form.js +1 -1
  3. package/client/index.js +1 -0
  4. package/client/pages/data-entry/data-entry-list-page.js +2 -3
  5. package/client/pages/data-ooc/data-ooc-list-page.js +13 -18
  6. package/client/pages/data-ooc/data-ooc-view.js +19 -14
  7. package/client/pages/data-report/data-report-list-page.js +1 -2
  8. package/client/pages/data-sample/data-sample-list-page.js +12 -13
  9. package/client/pages/data-sample/data-sample-view.js +3 -2
  10. package/client/pages/data-sensor/data-sensor-list-page.js +1 -1
  11. package/client/pages/data-set/data-item-list.js +32 -98
  12. package/client/pages/data-set/data-set-list-page.js +2 -3
  13. package/config/config.development.js +1 -1
  14. package/config/config.production.js +13 -1
  15. package/dist-server/controllers/create-data-sample.js +10 -44
  16. package/dist-server/controllers/create-data-sample.js.map +1 -1
  17. package/dist-server/controllers/data-use-case.js +11 -5
  18. package/dist-server/controllers/data-use-case.js.map +1 -1
  19. package/dist-server/controllers/index.js +1 -1
  20. package/dist-server/controllers/index.js.map +1 -1
  21. package/dist-server/service/data-item/index.js +1 -4
  22. package/dist-server/service/data-item/index.js.map +1 -1
  23. package/dist-server/service/data-ooc/data-ooc-query.js +15 -10
  24. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  25. package/dist-server/service/data-ooc/data-ooc-type.js +4 -0
  26. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  27. package/dist-server/service/data-ooc/data-ooc.js +11 -14
  28. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  29. package/dist-server/service/data-sample/data-sample-query.js +18 -0
  30. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  31. package/dist-server/service/data-sample/data-sample-type.js +4 -0
  32. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  33. package/dist-server/service/data-sample/data-sample.js +12 -3
  34. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  35. package/dist-server/service/{data-item → data-set}/data-item-type.js +60 -33
  36. package/dist-server/service/data-set/data-item-type.js.map +1 -0
  37. package/dist-server/service/data-set/data-set-mutation.js +21 -61
  38. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  39. package/dist-server/service/data-set/data-set-query.js +4 -0
  40. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  41. package/dist-server/service/data-set/data-set-type.js +10 -1
  42. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  43. package/dist-server/service/data-set/data-set.js +11 -3
  44. package/dist-server/service/data-set/data-set.js.map +1 -1
  45. package/dist-server/service/data-set-history/data-set-history-query.js +173 -0
  46. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -0
  47. package/dist-server/service/data-set-history/data-set-history-type.js +29 -0
  48. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -0
  49. package/dist-server/service/data-set-history/data-set-history.js +196 -0
  50. package/dist-server/service/data-set-history/data-set-history.js.map +1 -0
  51. package/dist-server/service/data-set-history/event-subscriber.js +26 -0
  52. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -0
  53. package/dist-server/service/data-set-history/index.js +10 -0
  54. package/dist-server/service/data-set-history/index.js.map +1 -0
  55. package/dist-server/service/index.js +11 -4
  56. package/dist-server/service/index.js.map +1 -1
  57. package/package.json +18 -17
  58. package/server/controllers/create-data-sample.ts +13 -50
  59. package/server/controllers/data-use-case.ts +19 -7
  60. package/server/controllers/index.ts +1 -1
  61. package/server/service/data-item/index.ts +0 -3
  62. package/server/service/data-ooc/data-ooc-query.ts +13 -8
  63. package/server/service/data-ooc/data-ooc-type.ts +3 -0
  64. package/server/service/data-ooc/data-ooc.ts +9 -14
  65. package/server/service/data-sample/data-sample-query.ts +14 -1
  66. package/server/service/data-sample/data-sample-type.ts +3 -0
  67. package/server/service/data-sample/data-sample.ts +10 -3
  68. package/server/service/data-set/data-item-type.ts +82 -0
  69. package/server/service/data-set/data-set-mutation.ts +33 -60
  70. package/server/service/data-set/data-set-query.ts +5 -0
  71. package/server/service/data-set/data-set-type.ts +8 -1
  72. package/server/service/data-set/data-set.ts +8 -4
  73. package/server/service/data-set-history/data-set-history-query.ts +110 -0
  74. package/server/service/data-set-history/data-set-history-type.ts +12 -0
  75. package/server/service/data-set-history/data-set-history.ts +161 -0
  76. package/server/service/data-set-history/event-subscriber.ts +17 -0
  77. package/server/service/data-set-history/index.ts +7 -0
  78. package/server/service/index.ts +16 -4
  79. package/translations/en.json +5 -5
  80. package/translations/ko.json +10 -10
  81. package/translations/ms.json +5 -5
  82. package/translations/zh.json +5 -5
  83. package/dist-server/service/data-item/data-item-mutation.js +0 -73
  84. package/dist-server/service/data-item/data-item-mutation.js.map +0 -1
  85. package/dist-server/service/data-item/data-item-query.js +0 -104
  86. package/dist-server/service/data-item/data-item-query.js.map +0 -1
  87. package/dist-server/service/data-item/data-item-type.js.map +0 -1
  88. package/server/service/data-item/data-item-mutation.ts +0 -61
  89. package/server/service/data-item/data-item-query.ts +0 -58
  90. package/server/service/data-item/data-item-type.ts +0 -57
@@ -0,0 +1,161 @@
1
+ import { Field, ID, ObjectType } from 'type-graphql'
2
+ import { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'
3
+
4
+ import {
5
+ HistoryActionColumn,
6
+ HistoryActionType,
7
+ HistoryEntityInterface,
8
+ HistoryOriginalIdColumn
9
+ } from '@anchan828/typeorm-history'
10
+ import { Role, User } from '@things-factory/auth-base'
11
+ import { config } from '@things-factory/env'
12
+ import { Domain, ScalarObject } from '@things-factory/shell'
13
+
14
+ import { DataItem } from '../data-set/data-item-type'
15
+ import { DataSet, DataSetEntryType, DataSetMonitorType, DataSetReportType } from '../data-set/data-set'
16
+
17
+ const ORMCONFIG = config.get('ormconfig', {})
18
+ const DATABASE_TYPE = ORMCONFIG.type
19
+
20
+ @Entity()
21
+ @Index(
22
+ 'ix_data_set_history_0',
23
+ (dataSetHistory: DataSetHistory) => [dataSetHistory.originalId, dataSetHistory.version],
24
+ { unique: true }
25
+ )
26
+ @Index(
27
+ 'ix_data_set_history_1',
28
+ (dataSetHistory: DataSetHistory) => [dataSetHistory.domain, dataSetHistory.originalId, dataSetHistory.version],
29
+ { unique: true }
30
+ )
31
+ @ObjectType({ description: 'Entity for DataSetHistory' })
32
+ export class DataSetHistory implements HistoryEntityInterface<DataSet> {
33
+ @PrimaryGeneratedColumn('uuid')
34
+ @Field(type => ID)
35
+ readonly id: string
36
+
37
+ @Column({ default: 1 })
38
+ @Field({ nullable: true })
39
+ readonly version: number = 1
40
+
41
+ @ManyToOne(type => Domain)
42
+ @Field({ nullable: true })
43
+ domain?: Domain
44
+
45
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.domain)
46
+ domainId?: string
47
+
48
+ @Column()
49
+ @Field()
50
+ name: string
51
+
52
+ @Column({ nullable: true })
53
+ @Field({ nullable: true })
54
+ description?: string
55
+
56
+ @Column({ nullable: true })
57
+ @Field({ nullable: true })
58
+ active?: boolean
59
+
60
+ @ManyToOne(type => Role, { nullable: true })
61
+ @Field(type => Role, { nullable: true })
62
+ entryRole?: Role
63
+
64
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.entryRole)
65
+ entryRoleId?: string
66
+
67
+ @ManyToOne(type => Role, { nullable: true })
68
+ @Field(type => Role, { nullable: true })
69
+ supervisoryRole?: Role
70
+
71
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.supervisoryRole)
72
+ supervisoryRoleId?: string
73
+
74
+ @Column({ nullable: true })
75
+ @Field({ nullable: true })
76
+ type?: 'manual' | 'automatic' | string
77
+
78
+ @Column({ nullable: true })
79
+ @Field({ nullable: true })
80
+ entryType?: DataSetEntryType
81
+
82
+ @Column({ nullable: true })
83
+ @Field({ nullable: true })
84
+ entryView?: string
85
+
86
+ @Column({ nullable: true })
87
+ @Field({ nullable: true })
88
+ monitorType?: DataSetMonitorType
89
+
90
+ @Column({ nullable: true })
91
+ @Field({ nullable: true })
92
+ monitorView?: string
93
+
94
+ @Column({ nullable: true })
95
+ @Field({ nullable: true })
96
+ reportType?: DataSetReportType
97
+
98
+ @Column({ nullable: true })
99
+ @Field({ nullable: true })
100
+ reportView?: string
101
+
102
+ @Field({ nullable: true })
103
+ reportTemplate?: string
104
+
105
+ @Column({ nullable: true })
106
+ @Field({ nullable: true })
107
+ useCase?: string
108
+
109
+ @Column('simple-json', { nullable: true })
110
+ @Field(type => ScalarObject, { nullable: true })
111
+ partitionKeys?: ScalarObject
112
+
113
+ @Column('simple-json', { nullable: true })
114
+ @Field(type => [DataItem], { nullable: true })
115
+ dataItems: DataItem[]
116
+
117
+ @Column({ nullable: true })
118
+ @Field({ nullable: true })
119
+ schedule?: string
120
+
121
+ @Column({ nullable: true })
122
+ @Field({ nullable: true })
123
+ timezone?: string
124
+
125
+ @Column({ nullable: true })
126
+ @Field({ nullable: true })
127
+ createdAt?: Date
128
+
129
+ @Column({ nullable: true })
130
+ @Field({ nullable: true })
131
+ updatedAt?: Date
132
+
133
+ @ManyToOne(type => User, { nullable: true })
134
+ @Field({ nullable: true })
135
+ creator?: User
136
+
137
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.creator)
138
+ creatorId?: string
139
+
140
+ @ManyToOne(type => User, { nullable: true })
141
+ @Field({ nullable: true })
142
+ updater?: User
143
+
144
+ @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.creator)
145
+ updaterId?: string
146
+
147
+ @HistoryOriginalIdColumn({ nullable: true })
148
+ public originalId!: string
149
+
150
+ @HistoryActionColumn({
151
+ nullable: false,
152
+ type:
153
+ DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
154
+ ? 'enum'
155
+ : DATABASE_TYPE == 'oracle'
156
+ ? 'varchar2'
157
+ : 'smallint',
158
+ enum: HistoryActionType
159
+ })
160
+ public action!: HistoryActionType
161
+ }
@@ -0,0 +1,17 @@
1
+ import { EventSubscriber } from 'typeorm'
2
+
3
+ import { HistoryEntitySubscriber } from '@anchan828/typeorm-history'
4
+
5
+ import { DataSet } from '../data-set/data-set'
6
+ import { DataSetHistory } from './data-set-history'
7
+
8
+ @EventSubscriber()
9
+ export class DataSetHistoryEntitySubscriber extends HistoryEntitySubscriber<DataSet, DataSetHistory> {
10
+ public get entity() {
11
+ return DataSet
12
+ }
13
+
14
+ public get historyEntity() {
15
+ return DataSetHistory
16
+ }
17
+ }
@@ -0,0 +1,7 @@
1
+ import { DataSetHistory } from './data-set-history'
2
+ import { DataSetHistoryQuery } from './data-set-history-query'
3
+ import { DataSetHistoryEntitySubscriber } from './event-subscriber'
4
+
5
+ export const entities = [DataSetHistory]
6
+ export const resolvers = [DataSetHistoryQuery]
7
+ export const subscribers = [DataSetHistoryEntitySubscriber]
@@ -1,37 +1,49 @@
1
- import { entities as DataItemEntities, resolvers as DataItemResolvers } from './data-item'
1
+ import { entities as DataItemEntities } from './data-item'
2
2
  /* IMPORT ENTITIES AND RESOLVERS */
3
3
  import { entities as DataOocEntities, resolvers as DataOocResolvers } from './data-ooc'
4
4
  import { entities as DataSampleEntities, resolvers as DataSampleResolvers } from './data-sample'
5
5
  import { entities as DataSensorEntities, resolvers as DataSensorResolvers } from './data-sensor'
6
6
  import { entities as DataSetEntities, resolvers as DataSetResolvers } from './data-set'
7
+ import {
8
+ entities as DataSetHistoryEntities,
9
+ resolvers as DataSetHistoryResolvers,
10
+ subscribers as DataSetHistorySubscribers
11
+ } from './data-set-history'
7
12
  import { entities as DataSpecEntities, resolvers as DataSpecResolvers } from './data-spec'
8
13
 
9
14
  /* EXPORT ENTITY TYPES */
10
15
  export * from './data-ooc/data-ooc'
11
16
  export * from './data-sensor/data-sensor'
12
17
  export * from './data-sample/data-sample'
13
- export * from './data-item/data-item'
14
18
  export * from './data-set/data-set'
19
+ export * from './data-set-history/data-set-history'
20
+ export * from './data-set/data-item-type'
15
21
  export * from './data-spec/data-spec'
16
22
 
17
23
  export const entities = [
18
24
  /* ENTITIES */
25
+ ...DataItemEntities,
19
26
  ...DataOocEntities,
20
27
  ...DataSensorEntities,
21
28
  ...DataSampleEntities,
22
- ...DataItemEntities,
23
29
  ...DataSetEntities,
30
+ ...DataSetHistoryEntities,
24
31
  ...DataSpecEntities
25
32
  ]
26
33
 
34
+ export const subscribers = [
35
+ /* SUBSCRIBERS */
36
+ ...DataSetHistorySubscribers
37
+ ]
38
+
27
39
  export const schema = {
28
40
  resolverClasses: [
29
41
  /* RESOLVER CLASSES */
30
42
  ...DataOocResolvers,
31
43
  ...DataSensorResolvers,
32
44
  ...DataSampleResolvers,
33
- ...DataItemResolvers,
34
45
  ...DataSetResolvers,
46
+ ...DataSetHistoryResolvers,
35
47
  ...DataSpecResolvers
36
48
  ]
37
49
  }
@@ -32,7 +32,7 @@
32
32
  "field.report-view": "report view",
33
33
  "field.serial-no": "serial #",
34
34
  "field.spec": "spec",
35
- "field.state": "state",
35
+ "field.status": "status",
36
36
  "field.supervisory-role": "supervisory role",
37
37
  "field.tag": "tag name",
38
38
  "field.unit": "unit",
@@ -40,11 +40,11 @@
40
40
  "field.work-date": "work date",
41
41
  "field.work-shift": "work shift",
42
42
  "label.acceptables": "acceptables",
43
- "label.critical limits": "critical limits",
43
+ "label.critical-limits": "critical limits",
44
44
  "label.minimum value": "minimum value",
45
45
  "label.maximum value": "maximum value",
46
- "label.pass limits": "pass limits",
47
- "label.target limits": "target limits",
46
+ "label.pass-limits": "pass limits",
47
+ "label.target-limits": "target limits",
48
48
  "text.automatically collected": "automatically collected",
49
49
  "text.data sample created successfully": "a data sample created successfully",
50
50
  "text.data ooc updated successfully": "a data ooc updated successfully",
@@ -61,4 +61,4 @@
61
61
  "title.data-sensor list": "data sensor list",
62
62
  "title.data-set list": "data set list",
63
63
  "title.edit code": "edit code"
64
- }
64
+ }
@@ -3,12 +3,12 @@
3
3
  "button.reviewed": "검토완료",
4
4
  "field.appliance": "어플라이언스",
5
5
  "field.collected_at": "수집일시",
6
+ "field.corrected-at": "조치 시간",
6
7
  "field.corrective-action": "조치 활동",
7
8
  "field.corrector": "조치자",
8
- "field.corrected-at": "조치 시간",
9
- "field.data": "데이타",
10
9
  "field.data-sample": "데이타 샘플",
11
10
  "field.data-set": "데이타셋",
11
+ "field.data": "데이타",
12
12
  "field.device-id": "디바이스 아이디",
13
13
  "field.entry-role": "입력담당 역할",
14
14
  "field.entry-type": "입력용 화면종류",
@@ -19,8 +19,8 @@
19
19
  "field.monitor-view": "모니터용 화면",
20
20
  "field.netmask": "네트워크마스크",
21
21
  "field.next-schedule": "다음 수집계획",
22
- "field.oos": "허용한계 이탈여부",
23
22
  "field.ooc": "관리한계 이탈여부",
23
+ "field.oos": "허용한계 이탈여부",
24
24
  "field.options": "선택옵션",
25
25
  "field.partition-keys": "파티션 키",
26
26
  "field.prev-schedule": "이전 수집계획",
@@ -32,7 +32,7 @@
32
32
  "field.report-view": "리포트용 화면",
33
33
  "field.serial-no": "시리얼번호",
34
34
  "field.spec": "명세",
35
- "field.state": "상태",
35
+ "field.status": "상태",
36
36
  "field.supervisory-role": "관리자 역할",
37
37
  "field.tag": "태그이름",
38
38
  "field.unit": "단위",
@@ -40,24 +40,24 @@
40
40
  "field.work-date": "작업기준일",
41
41
  "field.work-shift": "교대근무조",
42
42
  "label.acceptables": "허용값",
43
- "label.critical limits": "허용 한계범위",
43
+ "label.critical-limits": "허용 한계범위",
44
44
  "label.minimum value": "최소값",
45
45
  "label.maximum value": "최대값",
46
- "label.pass limits": "통과 허용범위",
47
- "label.target limits": "관리 목표범위",
46
+ "label.pass-limits": "통과 허용범위",
47
+ "label.target-limits": "관리 목표범위",
48
48
  "text.automatically collected": "자동 수집",
49
- "text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
50
49
  "text.data ooc updated successfully": "이탈데이타 내용이 수정되었습니다",
50
+ "text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
51
51
  "text.manually collected": "수동 수집",
52
52
  "title.data-entry-form": "데이타 입력",
53
53
  "title.data-item list": "데이타 아이템 조회",
54
54
  "title.data-monitor-view": "데이타 모니터",
55
- "title.data-report-view": "데이타 리포트",
56
55
  "title.data-ooc list": "데이타 이탈점 조회",
57
56
  "title.data-ooc view": "데이타 이탈점 상세",
57
+ "title.data-report-view": "데이타 리포트",
58
58
  "title.data-sample list": "데이타 샘플 조회",
59
59
  "title.data-sample view": "데이타 샘플 상세",
60
60
  "title.data-sensor list": "데이타 센서 조회",
61
61
  "title.data-set list": "데이타 셋 조회",
62
62
  "title.edit code": "코드 편집"
63
- }
63
+ }
@@ -31,7 +31,7 @@
31
31
  "field.report-view": "report view",
32
32
  "field.serial-no": "serial #",
33
33
  "field.spec": "spec",
34
- "field.state": "keadaan",
34
+ "field.status": "keadaan",
35
35
  "field.supervisory-role": "supervisory role",
36
36
  "field.tag": "tag name",
37
37
  "field.unit": "unit",
@@ -39,11 +39,11 @@
39
39
  "field.work-date": "work date",
40
40
  "field.work-shift": "work shift",
41
41
  "label.acceptables": "acceptables",
42
- "label.critical limits": "critical limits",
42
+ "label.critical-limits": "critical limits",
43
43
  "label.minimum value": "minimum value",
44
44
  "label.maximum value": "maximum value",
45
- "label.pass limits": "pass limits",
46
- "label.target limits": "target limits",
45
+ "label.pass-limits": "pass limits",
46
+ "label.target-limits": "target limits",
47
47
  "text.automatically collected": "automatically collected",
48
48
  "text.data sample created successfully": "a data sample created successfully",
49
49
  "text.data ooc updated successfully": "a data ooc updated successfully",
@@ -59,4 +59,4 @@
59
59
  "title.data-sensor list": "data sensor list",
60
60
  "title.data-set list": "data set list",
61
61
  "title.edit code": "edit code"
62
- }
62
+ }
@@ -31,7 +31,7 @@
31
31
  "field.report-view": "report view",
32
32
  "field.serial-no": "serial #",
33
33
  "field.spec": "spec",
34
- "field.state": "状态",
34
+ "field.status": "状态",
35
35
  "field.supervisory-role": "supervisory role",
36
36
  "field.tag": "tag name",
37
37
  "field.unit": "unit",
@@ -39,11 +39,11 @@
39
39
  "field.work-date": "work date",
40
40
  "field.work-shift": "work shift",
41
41
  "label.acceptables": "acceptables",
42
- "label.critical limits": "critical limits",
42
+ "label.critical-limits": "critical limits",
43
43
  "label.minimum value": "minimum value",
44
44
  "label.maximum value": "maximum value",
45
- "label.pass limits": "pass limits",
46
- "label.target limits": "target limits",
45
+ "label.pass-limits": "pass limits",
46
+ "label.target-limits": "target limits",
47
47
  "text.automatically collected": "automatically collected",
48
48
  "text.data sample created successfully": "a data sample created successfully",
49
49
  "text.data ooc updated successfully": "a data ooc updated successfully",
@@ -59,4 +59,4 @@
59
59
  "title.data-sensor list": "data sensor list",
60
60
  "title.data-set list": "data set list",
61
61
  "title.edit code": "edit code"
62
- }
62
+ }
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DataItemMutation = void 0;
16
- const type_graphql_1 = require("type-graphql");
17
- const typeorm_1 = require("typeorm");
18
- const data_set_1 = require("../data-set/data-set");
19
- const data_item_1 = require("./data-item");
20
- const data_item_type_1 = require("./data-item-type");
21
- let DataItemMutation = class DataItemMutation {
22
- async updateMultipleDataItem(dataSetId, patches, context) {
23
- const { domain, user, tx } = context.state;
24
- let results = [];
25
- const dataItemRepo = tx.getRepository(data_item_1.DataItem);
26
- const dataSet = await tx.getRepository(data_set_1.DataSet).findOne(dataSetId);
27
- await dataItemRepo.delete({ domain, dataSet: dataSetId });
28
- for (let i = 0; i < patches.length; i++) {
29
- const patch = patches[i];
30
- if (!patch.options) {
31
- patch.options = {};
32
- }
33
- const result = await dataItemRepo.save(Object.assign(Object.assign({ quota: 1 }, patch), { sequence: i, dataSet,
34
- domain, creator: user, updater: user }));
35
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
36
- }
37
- return results;
38
- }
39
- async deleteDataItems(ids, context) {
40
- const { domain, tx } = context.state;
41
- await tx.getRepository(data_item_1.DataItem).delete({
42
- domain,
43
- id: (0, typeorm_1.In)(ids)
44
- });
45
- return true;
46
- }
47
- };
48
- __decorate([
49
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
50
- (0, type_graphql_1.Directive)('@transaction'),
51
- (0, type_graphql_1.Mutation)(returns => [data_item_1.DataItem], { description: "To modify multiple DataItems' information" }),
52
- __param(0, (0, type_graphql_1.Arg)('dataSetId')),
53
- __param(1, (0, type_graphql_1.Arg)('patches', type => [data_item_type_1.DataItemPatch])),
54
- __param(2, (0, type_graphql_1.Ctx)()),
55
- __metadata("design:type", Function),
56
- __metadata("design:paramtypes", [String, Array, Object]),
57
- __metadata("design:returntype", Promise)
58
- ], DataItemMutation.prototype, "updateMultipleDataItem", null);
59
- __decorate([
60
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
61
- (0, type_graphql_1.Directive)('@transaction'),
62
- (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple dataItems' }),
63
- __param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
64
- __param(1, (0, type_graphql_1.Ctx)()),
65
- __metadata("design:type", Function),
66
- __metadata("design:paramtypes", [Array, Object]),
67
- __metadata("design:returntype", Promise)
68
- ], DataItemMutation.prototype, "deleteDataItems", null);
69
- DataItemMutation = __decorate([
70
- (0, type_graphql_1.Resolver)(data_item_1.DataItem)
71
- ], DataItemMutation);
72
- exports.DataItemMutation = DataItemMutation;
73
- //# sourceMappingURL=data-item-mutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-item-mutation.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-mutation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAsE;AACtE,qCAA4B;AAE5B,mDAA8C;AAC9C,2CAAsC;AACtC,qDAAgD;AAGhD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,KAAK,CAAC,sBAAsB,CACR,SAAiB,EACM,OAAwB,EAC1D,OAAY;QAEnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,oBAAQ,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAElE,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAClB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;aACnB;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,+BACpC,KAAK,EAAE,CAAC,IACL,KAAK,KACR,QAAQ,EAAE,CAAC,EACX,OAAO;gBACP,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;SACzC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAKD,KAAK,CAAC,eAAe,CAA+B,GAAa,EAAS,OAAY;QACpF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAQ,CAAC,CAAC,MAAM,CAAC;YACtC,MAAM;YACN,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAhDC;IAHC,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,oBAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IAE3F,WAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,WAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC,CAAA;IACvC,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;8DA8BP;AAKD;IAHC,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IACvD,WAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;uDASxE;AAnDU,gBAAgB;IAD5B,IAAA,uBAAQ,EAAC,oBAAQ,CAAC;GACN,gBAAgB,CAoD5B;AApDY,4CAAgB"}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var _a;
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.DataItemQuery = void 0;
17
- const type_graphql_1 = require("type-graphql");
18
- const typeorm_1 = require("typeorm");
19
- const auth_base_1 = require("@things-factory/auth-base");
20
- const shell_1 = require("@things-factory/shell");
21
- const data_set_1 = require("../data-set/data-set");
22
- const data_item_1 = require("./data-item");
23
- const data_item_type_1 = require("./data-item-type");
24
- let DataItemQuery = class DataItemQuery {
25
- async dataItem(id, context) {
26
- const { domain } = context.state;
27
- return await (0, typeorm_1.getRepository)(data_item_1.DataItem).findOne({
28
- where: { domain, id }
29
- });
30
- }
31
- async dataItems(params, context) {
32
- const { domain } = context.state;
33
- const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
34
- repository: (0, typeorm_1.getRepository)(data_item_1.DataItem),
35
- params,
36
- domain
37
- });
38
- const [items, total] = await queryBuilder.getManyAndCount();
39
- return { items, total };
40
- }
41
- async dataSet(dataItem) {
42
- return await (0, typeorm_1.getRepository)(data_set_1.DataSet).findOne(dataItem.dataSetId);
43
- }
44
- async domain(dataItem) {
45
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(dataItem.domainId);
46
- }
47
- async updater(dataItem) {
48
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(dataItem.updaterId);
49
- }
50
- async creator(dataItem) {
51
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(dataItem.creatorId);
52
- }
53
- };
54
- __decorate([
55
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "query", domainOwnerGranted: true)'),
56
- (0, type_graphql_1.Query)(returns => data_item_1.DataItem, { description: 'To fetch a DataItem' }),
57
- __param(0, (0, type_graphql_1.Arg)('id')),
58
- __param(1, (0, type_graphql_1.Ctx)()),
59
- __metadata("design:type", Function),
60
- __metadata("design:paramtypes", [String, Object]),
61
- __metadata("design:returntype", Promise)
62
- ], DataItemQuery.prototype, "dataItem", null);
63
- __decorate([
64
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "query", domainOwnerGranted: true)'),
65
- (0, type_graphql_1.Query)(returns => data_item_type_1.DataItemList, { description: 'To fetch multiple DataItems' }),
66
- __param(0, (0, type_graphql_1.Args)()),
67
- __param(1, (0, type_graphql_1.Ctx)()),
68
- __metadata("design:type", Function),
69
- __metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
70
- __metadata("design:returntype", Promise)
71
- ], DataItemQuery.prototype, "dataItems", null);
72
- __decorate([
73
- (0, type_graphql_1.FieldResolver)(type => data_set_1.DataSet),
74
- __param(0, (0, type_graphql_1.Root)()),
75
- __metadata("design:type", Function),
76
- __metadata("design:paramtypes", [data_item_1.DataItem]),
77
- __metadata("design:returntype", Promise)
78
- ], DataItemQuery.prototype, "dataSet", null);
79
- __decorate([
80
- (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
81
- __param(0, (0, type_graphql_1.Root)()),
82
- __metadata("design:type", Function),
83
- __metadata("design:paramtypes", [data_item_1.DataItem]),
84
- __metadata("design:returntype", Promise)
85
- ], DataItemQuery.prototype, "domain", null);
86
- __decorate([
87
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
88
- __param(0, (0, type_graphql_1.Root)()),
89
- __metadata("design:type", Function),
90
- __metadata("design:paramtypes", [data_item_1.DataItem]),
91
- __metadata("design:returntype", Promise)
92
- ], DataItemQuery.prototype, "updater", null);
93
- __decorate([
94
- (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
95
- __param(0, (0, type_graphql_1.Root)()),
96
- __metadata("design:type", Function),
97
- __metadata("design:paramtypes", [data_item_1.DataItem]),
98
- __metadata("design:returntype", Promise)
99
- ], DataItemQuery.prototype, "creator", null);
100
- DataItemQuery = __decorate([
101
- (0, type_graphql_1.Resolver)(data_item_1.DataItem)
102
- ], DataItemQuery);
103
- exports.DataItemQuery = DataItemQuery;
104
- //# sourceMappingURL=data-item-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-item-query.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-query.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-item-type.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-type.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,+CAAoE;AACpE,iDAA+D;AAG/D,IAAa,aAAa,GAA1B,MAAa,aAAa;CA0CzB,CAAA;AAxCC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACnC,iBAAS,oBAAT,iBAAS;8CAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACtB;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACd;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,wBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC7B;AAGnB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACtC,oBAAY,oBAAZ,oBAAY;8CAAA;AAGtB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACzB;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACzC,oBAAY,oBAAZ,oBAAY;2CAAA;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACX;AAzCJ,aAAa;IADzB,IAAA,wBAAS,GAAE;GACC,aAAa,CA0CzB;AA1CY,sCAAa;AA6C1B,IAAa,YAAY,GAAzB,MAAa,YAAY;CAMxB,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAQ,CAAC,CAAC;;2CACT;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;2CACN;AALF,YAAY;IADxB,IAAA,yBAAU,GAAE;GACA,YAAY,CAMxB;AANY,oCAAY"}
@@ -1,61 +0,0 @@
1
- import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { In } from 'typeorm'
3
-
4
- import { DataSet } from '../data-set/data-set'
5
- import { DataItem } from './data-item'
6
- import { DataItemPatch } from './data-item-type'
7
-
8
- @Resolver(DataItem)
9
- export class DataItemMutation {
10
- @Directive('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)')
11
- @Directive('@transaction')
12
- @Mutation(returns => [DataItem], { description: "To modify multiple DataItems' information" })
13
- async updateMultipleDataItem(
14
- @Arg('dataSetId') dataSetId: string,
15
- @Arg('patches', type => [DataItemPatch]) patches: DataItemPatch[],
16
- @Ctx() context: any
17
- ): Promise<DataItem[]> {
18
- const { domain, user, tx } = context.state
19
-
20
- let results = []
21
- const dataItemRepo = tx.getRepository(DataItem)
22
- const dataSet = await tx.getRepository(DataSet).findOne(dataSetId)
23
-
24
- await dataItemRepo.delete({ domain, dataSet: dataSetId })
25
-
26
- for (let i = 0; i < patches.length; i++) {
27
- const patch = patches[i]
28
- if (!patch.options) {
29
- patch.options = {}
30
- }
31
-
32
- const result = await dataItemRepo.save({
33
- quota: 1,
34
- ...patch,
35
- sequence: i,
36
- dataSet,
37
- domain,
38
- creator: user,
39
- updater: user
40
- })
41
-
42
- results.push({ ...result, cuFlag: '+' })
43
- }
44
-
45
- return results
46
- }
47
-
48
- @Directive('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)')
49
- @Directive('@transaction')
50
- @Mutation(returns => Boolean, { description: 'To delete multiple dataItems' })
51
- async deleteDataItems(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {
52
- const { domain, tx } = context.state
53
-
54
- await tx.getRepository(DataItem).delete({
55
- domain,
56
- id: In(ids)
57
- })
58
-
59
- return true
60
- }
61
- }