@things-factory/dataset 5.0.2 → 5.0.3

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 (59) hide show
  1. package/client/pages/data-key-set/data-key-item-list.js +196 -0
  2. package/client/pages/data-key-set/data-key-set-importer.js +107 -0
  3. package/client/pages/data-key-set/data-key-set-list-page.js +354 -0
  4. package/client/pages/data-ooc/data-ooc-list-page.js +60 -0
  5. package/client/pages/data-sample/data-sample-list-page.js +60 -0
  6. package/client/pages/data-sample/data-sample-search-page.js +439 -0
  7. package/client/pages/data-set/data-set-list-page.js +20 -1
  8. package/client/route.js +9 -1
  9. package/dist-server/controllers/create-data-sample.js +15 -3
  10. package/dist-server/controllers/create-data-sample.js.map +1 -1
  11. package/dist-server/service/data-key-set/data-key-item-type.js +58 -0
  12. package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -0
  13. package/dist-server/service/data-key-set/data-key-set-mutation.js +179 -0
  14. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -0
  15. package/dist-server/service/data-key-set/data-key-set-query.js +110 -0
  16. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -0
  17. package/dist-server/service/data-key-set/data-key-set-type.js +94 -0
  18. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -0
  19. package/dist-server/service/data-key-set/data-key-set.js +101 -0
  20. package/dist-server/service/data-key-set/data-key-set.js.map +1 -0
  21. package/dist-server/service/data-key-set/index.js +9 -0
  22. package/dist-server/service/data-key-set/index.js.map +1 -0
  23. package/dist-server/service/data-ooc/data-ooc.js +32 -0
  24. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  25. package/dist-server/service/data-sample/data-sample-query.js +27 -1
  26. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  27. package/dist-server/service/data-sample/data-sample.js +41 -0
  28. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  29. package/dist-server/service/data-set/data-item-type.js +1 -1
  30. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  31. package/dist-server/service/data-set/data-set-query.js +14 -0
  32. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  33. package/dist-server/service/data-set/data-set-type.js +14 -6
  34. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  35. package/dist-server/service/data-set/data-set.js +32 -54
  36. package/dist-server/service/data-set/data-set.js.map +1 -1
  37. package/dist-server/service/index.js +4 -1
  38. package/dist-server/service/index.js.map +1 -1
  39. package/package.json +2 -2
  40. package/server/controllers/create-data-sample.ts +19 -12
  41. package/server/service/data-key-set/data-key-item-type.ts +31 -0
  42. package/server/service/data-key-set/data-key-set-mutation.ts +198 -0
  43. package/server/service/data-key-set/data-key-set-query.ts +65 -0
  44. package/server/service/data-key-set/data-key-set-type.ts +57 -0
  45. package/server/service/data-key-set/data-key-set.ts +81 -0
  46. package/server/service/data-key-set/index.ts +6 -0
  47. package/server/service/data-ooc/data-ooc.ts +20 -0
  48. package/server/service/data-sample/data-sample-query.ts +27 -0
  49. package/server/service/data-sample/data-sample.ts +33 -0
  50. package/server/service/data-set/data-item-type.ts +1 -1
  51. package/server/service/data-set/data-set-query.ts +11 -0
  52. package/server/service/data-set/data-set-type.ts +6 -0
  53. package/server/service/data-set/data-set.ts +24 -48
  54. package/server/service/index.ts +4 -1
  55. package/things-factory.config.js +8 -0
  56. package/translations/en.json +11 -0
  57. package/translations/ko.json +11 -0
  58. package/translations/ms.json +12 -1
  59. package/translations/zh.json +11 -0
@@ -25,6 +25,19 @@ const DATABASE_TYPE = ORMCONFIG.type
25
25
  (dataSample: DataSample) => [dataSample.domain, dataSample.dataSet, dataSample.collectedAt],
26
26
  { unique: false }
27
27
  )
28
+ @Index(
29
+ 'ix_data_sample_1',
30
+ (dataSample: DataSample) => [
31
+ dataSample.domain,
32
+ dataSample.key01,
33
+ dataSample.key02,
34
+ dataSample.key03,
35
+ dataSample.key04,
36
+ dataSample.key05,
37
+ dataSample.collectedAt
38
+ ],
39
+ { unique: false }
40
+ )
28
41
  @ObjectType({ description: 'Entity for DataSample' })
29
42
  export class DataSample {
30
43
  @PrimaryGeneratedColumn('uuid')
@@ -116,6 +129,26 @@ export class DataSample {
116
129
  @Field({ nullable: true })
117
130
  oos?: boolean
118
131
 
132
+ @Column({ nullable: true, default: '' })
133
+ @Field({ nullable: true })
134
+ key01?: string = ''
135
+
136
+ @Column({ nullable: true, default: '' })
137
+ @Field({ nullable: true })
138
+ key02?: string = ''
139
+
140
+ @Column({ nullable: true, default: '' })
141
+ @Field({ nullable: true })
142
+ key03?: string = ''
143
+
144
+ @Column({ nullable: true, default: '' })
145
+ @Field({ nullable: true })
146
+ key04?: string = ''
147
+
148
+ @Column({ nullable: true, default: '' })
149
+ @Field({ nullable: true })
150
+ key05?: string = ''
151
+
119
152
  @Column({ nullable: true })
120
153
  @Field({ nullable: true })
121
154
  workDate?: string
@@ -12,7 +12,7 @@ export enum DataItemType {
12
12
 
13
13
  registerEnumType(DataItemType, {
14
14
  name: 'DataItemType',
15
- description: 'state enumeration of a data-item'
15
+ description: 'type enumeration of a data-item'
16
16
  })
17
17
 
18
18
  @ObjectType({ description: 'Entity for DataItem' })
@@ -7,6 +7,7 @@ import { Board } from '@things-factory/board-service'
7
7
  import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
8
8
 
9
9
  import { DataItem } from '../data-item/data-item'
10
+ import { DataKeySet } from '../data-key-set/data-key-set'
10
11
  import { DataSample } from '../data-sample/data-sample'
11
12
  import { DataSet } from './data-set'
12
13
  import { DataSetList } from './data-set-type'
@@ -147,6 +148,16 @@ export class DataSetQuery {
147
148
  }
148
149
  }
149
150
 
151
+ @FieldResolver(type => DataKeySet, { nullable: true })
152
+ async dataKeySet(@Root() dataSet: DataSet) {
153
+ return (
154
+ dataSet.dataKeySet ||
155
+ (await getRepository(DataKeySet).findOne({
156
+ id: dataSet.dataKeySetId
157
+ }))
158
+ )
159
+ }
160
+
150
161
  @FieldResolver(type => Domain)
151
162
  async domain(@Root() dataSet: DataSet): Promise<Domain> {
152
163
  return await getRepository(Domain).findOne(dataSet.domainId)
@@ -15,6 +15,9 @@ export class NewDataSet {
15
15
  @Field({ nullable: true })
16
16
  description?: string
17
17
 
18
+ @Field(type => ObjectRef, { nullable: true })
19
+ dataKeySet?: ObjectRef
20
+
18
21
  @Field(type => ObjectRef, { nullable: true })
19
22
  entryRole?: ObjectRef
20
23
 
@@ -75,6 +78,9 @@ export class DataSetPatch {
75
78
  @Field({ nullable: true })
76
79
  description?: string
77
80
 
81
+ @Field(type => ObjectRef, { nullable: true })
82
+ dataKeySet?: ObjectRef
83
+
78
84
  @Field(type => ObjectRef, { nullable: true })
79
85
  supervisoryRole?: ObjectRef
80
86
 
@@ -14,6 +14,7 @@ import {
14
14
  import { Role, User } from '@things-factory/auth-base'
15
15
  import { Domain, ScalarObject } from '@things-factory/shell'
16
16
 
17
+ import { DataKeySet } from '../data-key-set/data-key-set'
17
18
  import { DataItem } from './data-item-type'
18
19
 
19
20
  export enum DataSetEntryType {
@@ -71,9 +72,7 @@ export class DataSet {
71
72
  @Field()
72
73
  name: string
73
74
 
74
- @Column({
75
- nullable: true
76
- })
75
+ @Column({ nullable: true })
77
76
  @Field({ nullable: true })
78
77
  description?: string
79
78
 
@@ -81,78 +80,63 @@ export class DataSet {
81
80
  @Field({ nullable: true })
82
81
  version?: number = 1
83
82
 
84
- @Column({
85
- nullable: true
86
- })
83
+ @Column({ nullable: true })
87
84
  @Field({ nullable: true })
88
85
  active?: boolean
89
86
 
90
- @ManyToOne(type => Role, {
91
- nullable: true
92
- })
87
+ @ManyToOne(type => DataKeySet, { nullable: true })
88
+ @Field(type => DataKeySet, { nullable: true })
89
+ dataKeySet?: Role
90
+
91
+ @RelationId((dataSet: DataSet) => dataSet.dataKeySet)
92
+ dataKeySetId?: string
93
+
94
+ @ManyToOne(type => Role, { nullable: true })
93
95
  @Field(type => Role, { nullable: true })
94
96
  entryRole?: Role
95
97
 
96
98
  @RelationId((dataSet: DataSet) => dataSet.entryRole)
97
99
  entryRoleId?: string
98
100
 
99
- @ManyToOne(type => Role, {
100
- nullable: true
101
- })
101
+ @ManyToOne(type => Role, { nullable: true })
102
102
  @Field(type => Role, { nullable: true })
103
103
  supervisoryRole?: Role
104
104
 
105
105
  @RelationId((dataSet: DataSet) => dataSet.supervisoryRole)
106
106
  supervisoryRoleId?: string
107
107
 
108
- @Column({
109
- nullable: true
110
- })
108
+ @Column({ nullable: true })
111
109
  @Field({ nullable: true })
112
110
  type?: 'manual' | 'automatic' | string
113
111
 
114
- @Column({
115
- nullable: true
116
- })
112
+ @Column({ nullable: true })
117
113
  @Field({ nullable: true })
118
114
  entryType?: DataSetEntryType
119
115
 
120
- @Column({
121
- nullable: true
122
- })
116
+ @Column({ nullable: true })
123
117
  @Field({ nullable: true })
124
118
  entryView?: string
125
119
 
126
- @Column({
127
- nullable: true
128
- })
120
+ @Column({ nullable: true })
129
121
  @Field({ nullable: true })
130
122
  monitorType?: DataSetMonitorType
131
123
 
132
- @Column({
133
- nullable: true
134
- })
124
+ @Column({ nullable: true })
135
125
  @Field({ nullable: true })
136
126
  monitorView?: string
137
127
 
138
- @Column({
139
- nullable: true
140
- })
128
+ @Column({ nullable: true })
141
129
  @Field({ nullable: true })
142
130
  reportType?: DataSetReportType
143
131
 
144
- @Column({
145
- nullable: true
146
- })
132
+ @Column({ nullable: true })
147
133
  @Field({ nullable: true })
148
134
  reportView?: string
149
135
 
150
136
  @Field({ nullable: true })
151
137
  reportTemplate?: string
152
138
 
153
- @Column({
154
- nullable: true
155
- })
139
+ @Column({ nullable: true })
156
140
  @Field({ nullable: true })
157
141
  useCase?: string
158
142
 
@@ -164,15 +148,11 @@ export class DataSet {
164
148
  @Field(type => [DataItem], { nullable: true })
165
149
  dataItems: DataItem[]
166
150
 
167
- @Column({
168
- nullable: true
169
- })
151
+ @Column({ nullable: true })
170
152
  @Field({ nullable: true })
171
153
  schedule?: string
172
154
 
173
- @Column({
174
- nullable: true
175
- })
155
+ @Column({ nullable: true })
176
156
  @Field({ nullable: true })
177
157
  timezone?: string
178
158
 
@@ -184,18 +164,14 @@ export class DataSet {
184
164
  @Field({ nullable: true })
185
165
  updatedAt?: Date
186
166
 
187
- @ManyToOne(type => User, {
188
- nullable: true
189
- })
167
+ @ManyToOne(type => User, { nullable: true })
190
168
  @Field({ nullable: true })
191
169
  creator?: User
192
170
 
193
171
  @RelationId((dataSet: DataSet) => dataSet.creator)
194
172
  creatorId?: string
195
173
 
196
- @ManyToOne(type => User, {
197
- nullable: true
198
- })
174
+ @ManyToOne(type => User, { nullable: true })
199
175
  @Field({ nullable: true })
200
176
  updater?: User
201
177
 
@@ -1,5 +1,5 @@
1
1
  import { entities as DataItemEntities } from './data-item'
2
- /* IMPORT ENTITIES AND RESOLVERS */
2
+ import { entities as DataKeySetEntities, resolvers as DataKeySetResolvers } from './data-key-set'
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'
@@ -12,6 +12,7 @@ import {
12
12
  import { entities as DataSpecEntities, resolvers as DataSpecResolvers } from './data-spec'
13
13
 
14
14
  /* EXPORT ENTITY TYPES */
15
+ export * from './data-key-set/data-key-set'
15
16
  export * from './data-ooc/data-ooc'
16
17
  export * from './data-sensor/data-sensor'
17
18
  export * from './data-sample/data-sample'
@@ -22,6 +23,7 @@ export * from './data-spec/data-spec'
22
23
 
23
24
  export const entities = [
24
25
  /* ENTITIES */
26
+ ...DataKeySetEntities,
25
27
  ...DataItemEntities,
26
28
  ...DataOocEntities,
27
29
  ...DataSensorEntities,
@@ -39,6 +41,7 @@ export const subscribers = [
39
41
  export const schema = {
40
42
  resolverClasses: [
41
43
  /* RESOLVER CLASSES */
44
+ ...DataKeySetResolvers,
42
45
  ...DataOocResolvers,
43
46
  ...DataSensorResolvers,
44
47
  ...DataSampleResolvers,
@@ -16,6 +16,10 @@ export default {
16
16
  tagname: 'data-sample-list-page',
17
17
  page: 'data-sample-list'
18
18
  },
19
+ {
20
+ tagname: 'data-sample-search-page',
21
+ page: 'data-sample-search'
22
+ },
19
23
  {
20
24
  tagname: 'data-ooc-list-page',
21
25
  page: 'data-ooc-list'
@@ -44,6 +48,10 @@ export default {
44
48
  tagname: 'data-report-embed-page',
45
49
  page: 'data-report-embed'
46
50
  },
51
+ {
52
+ tagname: 'data-key-set-list-page',
53
+ page: 'data-key-set-list'
54
+ }
47
55
  ],
48
56
  bootstrap
49
57
  }
@@ -7,6 +7,8 @@
7
7
  "field.corrector": "corrector",
8
8
  "field.corrected-at": "corrected at",
9
9
  "field.data": "data",
10
+ "field.data-key": "data key",
11
+ "field.data-key-set": "data key set",
10
12
  "field.data-sample": "data sample",
11
13
  "field.data-set": "data set",
12
14
  "field.device-id": "device id",
@@ -14,6 +16,11 @@
14
16
  "field.entry-type": "entry type",
15
17
  "field.entry-view": "entry view",
16
18
  "field.hidden": "hidden",
19
+ "field.key-01": "key 1",
20
+ "field.key-02": "key 2",
21
+ "field.key-03": "key 3",
22
+ "field.key-04": "key 4",
23
+ "field.key-05": "key 5",
17
24
  "field.latest-collected-at": "latest collected at",
18
25
  "field.monitor-type": "monitor type",
19
26
  "field.monitor-view": "monitor view",
@@ -34,6 +41,7 @@
34
41
  "field.spec": "spec",
35
42
  "field.status": "status",
36
43
  "field.supervisory-role": "supervisory role",
44
+ "field.t-key": "translation key",
37
45
  "field.tag": "tag name",
38
46
  "field.unit": "unit",
39
47
  "field.use-case": "use case",
@@ -51,12 +59,15 @@
51
59
  "text.manually collected": "manually collected",
52
60
  "title.data-entry-form": "data entry form",
53
61
  "title.data-entry list": "data entry list",
62
+ "title.data-key-item list": "data key item list",
63
+ "title.data-key-set list": "data key set list",
54
64
  "title.data-item list": "data item list",
55
65
  "title.data-monitor-view": "data monitor view",
56
66
  "title.data-report-view": "data report view",
57
67
  "title.data-ooc list": "data OOC list",
58
68
  "title.data-ooc view": "data OOC view",
59
69
  "title.data-sample list": "data sample list",
70
+ "title.data-sample search": "data sample search",
60
71
  "title.data-sample view": "data sample view",
61
72
  "title.data-sensor list": "data sensor list",
62
73
  "title.data-set list": "data set list",
@@ -9,11 +9,18 @@
9
9
  "field.data-sample": "데이타 샘플",
10
10
  "field.data-set": "데이타셋",
11
11
  "field.data": "데이타",
12
+ "field.data-key": "데이타 키",
13
+ "field.data-key-set": "데이타 키셋",
12
14
  "field.device-id": "디바이스 아이디",
13
15
  "field.entry-role": "입력담당 역할",
14
16
  "field.entry-type": "입력용 화면종류",
15
17
  "field.entry-view": "입력용 화면",
16
18
  "field.hidden": "숨기기",
19
+ "field.key-01": "데이타키 1",
20
+ "field.key-02": "데이타키 2",
21
+ "field.key-03": "데이타키 3",
22
+ "field.key-04": "데이타키 4",
23
+ "field.key-05": "데이타키 5",
17
24
  "field.latest-collected-at": "최근 수집 시간",
18
25
  "field.monitor-type": "모니터용 화면종류",
19
26
  "field.monitor-view": "모니터용 화면",
@@ -34,6 +41,7 @@
34
41
  "field.spec": "명세",
35
42
  "field.status": "상태",
36
43
  "field.supervisory-role": "관리자 역할",
44
+ "field.t-key": "번역 키",
37
45
  "field.tag": "태그이름",
38
46
  "field.unit": "단위",
39
47
  "field.use-case": "사용 사례",
@@ -50,12 +58,15 @@
50
58
  "text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
51
59
  "text.manually collected": "수동 수집",
52
60
  "title.data-entry-form": "데이타 입력",
61
+ "title.data-key-item list": "데이타 키 상세",
62
+ "title.data-key-set list": "데이타 키셋 조회",
53
63
  "title.data-item list": "데이타 아이템 조회",
54
64
  "title.data-monitor-view": "데이타 모니터",
55
65
  "title.data-ooc list": "데이타 이탈점 조회",
56
66
  "title.data-ooc view": "데이타 이탈점 상세",
57
67
  "title.data-report-view": "데이타 리포트",
58
68
  "title.data-sample list": "데이타 샘플 조회",
69
+ "title.data-sample search": "데이타 샘플 검색",
59
70
  "title.data-sample view": "데이타 샘플 상세",
60
71
  "title.data-sensor list": "데이타 센서 조회",
61
72
  "title.data-set list": "데이타 셋 조회",
@@ -7,12 +7,20 @@
7
7
  "field.corrector": "corrector",
8
8
  "field.corrected-at": "corrected at",
9
9
  "field.data": "data",
10
+ "field.data-key": "data key",
11
+ "field.data-key-set": "data key set",
10
12
  "field.data-sample": "data sample",
11
13
  "field.data-set": "data set",
12
14
  "field.device-id": "device id",
13
15
  "field.entry-role": "entry role",
14
16
  "field.entry-type": "entry type",
15
17
  "field.entry-view": "entry view",
18
+ "field.hidden": "hidden",
19
+ "field.key-01": "key 1",
20
+ "field.key-02": "key 2",
21
+ "field.key-03": "key 3",
22
+ "field.key-04": "key 4",
23
+ "field.key-05": "key 5",
16
24
  "field.latest-collected-at": "latest collected at",
17
25
  "field.monitor-type": "monitor type",
18
26
  "field.monitor-view": "monitor view",
@@ -21,7 +29,6 @@
21
29
  "field.oos": "out of critical limit",
22
30
  "field.ooc": "out of control limit",
23
31
  "field.options": "options",
24
- "field.hidden": "hidden",
25
32
  "field.partition-keys": "partition keys",
26
33
  "field.prev-schedule": "previous schedule",
27
34
  "field.quota": "sampling #",
@@ -33,6 +40,7 @@
33
40
  "field.spec": "spec",
34
41
  "field.status": "keadaan",
35
42
  "field.supervisory-role": "supervisory role",
43
+ "field.t-key": "translation key",
36
44
  "field.tag": "tag name",
37
45
  "field.unit": "unit",
38
46
  "field.use-case": "use case",
@@ -49,12 +57,15 @@
49
57
  "text.data ooc updated successfully": "a data ooc updated successfully",
50
58
  "text.manually collected": "manually collected",
51
59
  "title.data-entry-form": "data entry form",
60
+ "title.data-key-item list": "data key item list",
61
+ "title.data-key-set list": "data key set list",
52
62
  "title.data-item list": "data item list",
53
63
  "title.data-monitor-view": "data monitor view",
54
64
  "title.data-report-view": "data report view",
55
65
  "title.data-ooc list": "data OOC list",
56
66
  "title.data-ooc view": "data OOC view",
57
67
  "title.data-sample list": "data sample list",
68
+ "title.data-sample search": "data sample search",
58
69
  "title.data-sample view": "data sample view",
59
70
  "title.data-sensor list": "data sensor list",
60
71
  "title.data-set list": "data set list",
@@ -7,6 +7,8 @@
7
7
  "field.corrector": "corrector",
8
8
  "field.corrected-at": "corrected at",
9
9
  "field.data": "data",
10
+ "field.data-key": "data key",
11
+ "field.data-key-set": "data key set",
10
12
  "field.data-sample": "data sample",
11
13
  "field.data-set": "data set",
12
14
  "field.device-id": "device id",
@@ -14,6 +16,11 @@
14
16
  "field.entry-type": "entry type",
15
17
  "field.entry-view": "entry view",
16
18
  "field.hidden": "hidden",
19
+ "field.key-01": "key 1",
20
+ "field.key-02": "key 2",
21
+ "field.key-03": "key 3",
22
+ "field.key-04": "key 4",
23
+ "field.key-05": "key 5",
17
24
  "field.latest-collected-at": "latest collected at",
18
25
  "field.monitor-type": "monitor type",
19
26
  "field.monitor-view": "monitor view",
@@ -33,6 +40,7 @@
33
40
  "field.spec": "spec",
34
41
  "field.status": "状态",
35
42
  "field.supervisory-role": "supervisory role",
43
+ "field.t-key": "translation key",
36
44
  "field.tag": "tag name",
37
45
  "field.unit": "unit",
38
46
  "field.use-case": "use case",
@@ -49,12 +57,15 @@
49
57
  "text.data ooc updated successfully": "a data ooc updated successfully",
50
58
  "text.manually collected": "manually collected",
51
59
  "title.data-entry-form": "data entry form",
60
+ "title.data-key-item list": "data key item list",
61
+ "title.data-key-set list": "data key set list",
52
62
  "title.data-item list": "data item list",
53
63
  "title.data-monitor-view": "data monitor view",
54
64
  "title.data-report-view": "data report view",
55
65
  "title.data-ooc list": "data OOC list",
56
66
  "title.data-ooc view": "data OOC view",
57
67
  "title.data-sample list": "data sample list",
68
+ "title.data-sample search": "data sample search",
58
69
  "title.data-sample view": "data sample view",
59
70
  "title.data-sensor list": "data sensor list",
60
71
  "title.data-set list": "data set list",