@things-factory/dataset 5.0.0-zeta.9 → 5.0.2

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 (65) hide show
  1. package/README.md +25 -0
  2. package/assets/data-samples.jpg +0 -0
  3. package/client/{pages/data-entry → components}/data-entry-form.js +1 -1
  4. package/client/index.js +1 -0
  5. package/client/pages/data-entry/data-entry-list-page.js +2 -2
  6. package/client/pages/data-ooc/data-ooc-list-page.js +12 -17
  7. package/client/pages/data-report/data-report-list-page.js +1 -1
  8. package/client/pages/data-sample/data-sample-list-page.js +11 -12
  9. package/client/pages/data-sensor/data-sensor-list-page.js +1 -1
  10. package/client/pages/data-set/data-set-list-page.js +3 -2
  11. package/config/config.development.js +1 -1
  12. package/config/config.production.js +13 -1
  13. package/dist-server/controllers/create-data-sample.js +4 -37
  14. package/dist-server/controllers/create-data-sample.js.map +1 -1
  15. package/dist-server/controllers/data-use-case.js +11 -5
  16. package/dist-server/controllers/data-use-case.js.map +1 -1
  17. package/dist-server/controllers/jasper-report.js +14 -9
  18. package/dist-server/controllers/jasper-report.js.map +1 -1
  19. package/dist-server/service/data-ooc/data-ooc-query.js +4 -17
  20. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  21. package/dist-server/service/data-ooc/data-ooc.js +7 -15
  22. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  23. package/dist-server/service/data-sample/data-sample-query.js +4 -4
  24. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  25. package/dist-server/service/data-sample/data-sample.js +7 -3
  26. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  27. package/dist-server/service/data-set/data-set-mutation.js +13 -30
  28. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  29. package/dist-server/service/data-set/data-set-query.js +3 -2
  30. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  31. package/dist-server/service/data-set/data-set-type.js +12 -9
  32. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  33. package/dist-server/service/data-set/data-set.js +1 -4
  34. package/dist-server/service/data-set/data-set.js.map +1 -1
  35. package/dist-server/service/data-set-history/data-set-history-query.js +4 -2
  36. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  37. package/dist-server/service/data-set-history/data-set-history.js +46 -55
  38. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  39. package/dist-server/service/data-set-history/event-subscriber.js +26 -0
  40. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -0
  41. package/dist-server/service/data-set-history/index.js +3 -1
  42. package/dist-server/service/data-set-history/index.js.map +1 -1
  43. package/dist-server/service/index.js +5 -1
  44. package/dist-server/service/index.js.map +1 -1
  45. package/package.json +18 -18
  46. package/server/controllers/create-data-sample.ts +5 -37
  47. package/server/controllers/data-use-case.ts +17 -6
  48. package/server/controllers/jasper-report.ts +58 -48
  49. package/server/service/data-ooc/data-ooc-query.ts +3 -11
  50. package/server/service/data-ooc/data-ooc.ts +6 -16
  51. package/server/service/data-sample/data-sample-query.ts +3 -3
  52. package/server/service/data-sample/data-sample.ts +6 -4
  53. package/server/service/data-set/data-set-mutation.ts +8 -39
  54. package/server/service/data-set/data-set-query.ts +3 -2
  55. package/server/service/data-set/data-set-type.ts +2 -1
  56. package/server/service/data-set/data-set.ts +3 -5
  57. package/server/service/data-set-history/data-set-history-query.ts +4 -2
  58. package/server/service/data-set-history/data-set-history.ts +61 -60
  59. package/server/service/data-set-history/event-subscriber.ts +17 -0
  60. package/server/service/data-set-history/index.ts +2 -0
  61. package/server/service/index.ts +10 -1
  62. package/translations/en.json +1 -1
  63. package/translations/ko.json +2 -2
  64. package/translations/ms.json +1 -1
  65. package/translations/zh.json +1 -1
@@ -1,22 +1,42 @@
1
1
  import { Field, ID, ObjectType } from 'type-graphql'
2
- import { Column, Entity, ManyToOne, PrimaryColumn, RelationId } from 'typeorm'
3
-
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'
4
10
  import { Role, User } from '@things-factory/auth-base'
11
+ import { config } from '@things-factory/env'
5
12
  import { Domain, ScalarObject } from '@things-factory/shell'
6
13
 
7
14
  import { DataItem } from '../data-set/data-item-type'
8
- import { DataSetEntryType, DataSetMonitorType, DataSetReportType } from '../data-set/data-set'
15
+ import { DataSet, DataSetEntryType, DataSetMonitorType, DataSetReportType } from '../data-set/data-set'
16
+
17
+ const ORMCONFIG = config.get('ormconfig', {})
18
+ const DATABASE_TYPE = ORMCONFIG.type
9
19
 
10
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
+ )
11
31
  @ObjectType({ description: 'Entity for DataSetHistory' })
12
- export class DataSetHistory {
13
- @PrimaryColumn()
32
+ export class DataSetHistory implements HistoryEntityInterface<DataSet> {
33
+ @PrimaryGeneratedColumn('uuid')
14
34
  @Field(type => ID)
15
35
  readonly id: string
16
36
 
17
- @PrimaryColumn()
18
- @Field()
19
- readonly version: number
37
+ @Column({ default: 1 })
38
+ @Field({ nullable: true })
39
+ readonly version: number = 1
20
40
 
21
41
  @ManyToOne(type => Domain)
22
42
  @Field({ nullable: true })
@@ -29,84 +49,60 @@ export class DataSetHistory {
29
49
  @Field()
30
50
  name: string
31
51
 
32
- @Column({
33
- nullable: true
34
- })
52
+ @Column({ nullable: true })
35
53
  @Field({ nullable: true })
36
54
  description?: string
37
55
 
38
- @Column({
39
- nullable: true
40
- })
56
+ @Column({ nullable: true })
41
57
  @Field({ nullable: true })
42
58
  active?: boolean
43
59
 
44
- @ManyToOne(type => Role, {
45
- nullable: true
46
- })
60
+ @ManyToOne(type => Role, { nullable: true })
47
61
  @Field(type => Role, { nullable: true })
48
62
  entryRole?: Role
49
63
 
50
64
  @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.entryRole)
51
65
  entryRoleId?: string
52
66
 
53
- @ManyToOne(type => Role, {
54
- nullable: true
55
- })
67
+ @ManyToOne(type => Role, { nullable: true })
56
68
  @Field(type => Role, { nullable: true })
57
69
  supervisoryRole?: Role
58
70
 
59
71
  @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.supervisoryRole)
60
72
  supervisoryRoleId?: string
61
73
 
62
- @Column({
63
- nullable: true
64
- })
74
+ @Column({ nullable: true })
65
75
  @Field({ nullable: true })
66
76
  type?: 'manual' | 'automatic' | string
67
77
 
68
- @Column({
69
- nullable: true
70
- })
78
+ @Column({ nullable: true })
71
79
  @Field({ nullable: true })
72
80
  entryType?: DataSetEntryType
73
81
 
74
- @Column({
75
- nullable: true
76
- })
82
+ @Column({ nullable: true })
77
83
  @Field({ nullable: true })
78
84
  entryView?: string
79
85
 
80
- @Column({
81
- nullable: true
82
- })
86
+ @Column({ nullable: true })
83
87
  @Field({ nullable: true })
84
88
  monitorType?: DataSetMonitorType
85
89
 
86
- @Column({
87
- nullable: true
88
- })
90
+ @Column({ nullable: true })
89
91
  @Field({ nullable: true })
90
92
  monitorView?: string
91
93
 
92
- @Column({
93
- nullable: true
94
- })
94
+ @Column({ nullable: true })
95
95
  @Field({ nullable: true })
96
96
  reportType?: DataSetReportType
97
97
 
98
- @Column({
99
- nullable: true
100
- })
98
+ @Column({ nullable: true })
101
99
  @Field({ nullable: true })
102
100
  reportView?: string
103
101
 
104
102
  @Field({ nullable: true })
105
103
  reportTemplate?: string
106
104
 
107
- @Column({
108
- nullable: true
109
- })
105
+ @Column({ nullable: true })
110
106
  @Field({ nullable: true })
111
107
  useCase?: string
112
108
 
@@ -118,43 +114,48 @@ export class DataSetHistory {
118
114
  @Field(type => [DataItem], { nullable: true })
119
115
  dataItems: DataItem[]
120
116
 
121
- @Column({
122
- nullable: true
123
- })
117
+ @Column({ nullable: true })
124
118
  @Field({ nullable: true })
125
119
  schedule?: string
126
120
 
127
- @Column({
128
- nullable: true
129
- })
121
+ @Column({ nullable: true })
130
122
  @Field({ nullable: true })
131
123
  timezone?: string
132
124
 
133
- @Column({
134
- nullable: true
135
- })
125
+ @Column({ nullable: true })
136
126
  @Field({ nullable: true })
137
127
  createdAt?: Date
138
128
 
139
- @PrimaryColumn()
129
+ @Column({ nullable: true })
140
130
  @Field({ nullable: true })
141
131
  updatedAt?: Date
142
132
 
143
- @ManyToOne(type => User, {
144
- nullable: true
145
- })
133
+ @ManyToOne(type => User, { nullable: true })
146
134
  @Field({ nullable: true })
147
135
  creator?: User
148
136
 
149
137
  @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.creator)
150
138
  creatorId?: string
151
139
 
152
- @ManyToOne(type => User, {
153
- nullable: true
154
- })
140
+ @ManyToOne(type => User, { nullable: true })
155
141
  @Field({ nullable: true })
156
142
  updater?: User
157
143
 
158
144
  @RelationId((dataSetHistory: DataSetHistory) => dataSetHistory.creator)
159
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
160
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
+ }
@@ -1,5 +1,7 @@
1
1
  import { DataSetHistory } from './data-set-history'
2
2
  import { DataSetHistoryQuery } from './data-set-history-query'
3
+ import { DataSetHistoryEntitySubscriber } from './event-subscriber'
3
4
 
4
5
  export const entities = [DataSetHistory]
5
6
  export const resolvers = [DataSetHistoryQuery]
7
+ export const subscribers = [DataSetHistoryEntitySubscriber]
@@ -4,7 +4,11 @@ import { entities as DataOocEntities, resolvers as DataOocResolvers } from './da
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 { entities as DataSetHistoryEntities, resolvers as DataSetHistoryResolvers } from './data-set-history'
7
+ import {
8
+ entities as DataSetHistoryEntities,
9
+ resolvers as DataSetHistoryResolvers,
10
+ subscribers as DataSetHistorySubscribers
11
+ } from './data-set-history'
8
12
  import { entities as DataSpecEntities, resolvers as DataSpecResolvers } from './data-spec'
9
13
 
10
14
  /* EXPORT ENTITY TYPES */
@@ -27,6 +31,11 @@ export const entities = [
27
31
  ...DataSpecEntities
28
32
  ]
29
33
 
34
+ export const subscribers = [
35
+ /* SUBSCRIBERS */
36
+ ...DataSetHistorySubscribers
37
+ ]
38
+
30
39
  export const schema = {
31
40
  resolverClasses: [
32
41
  /* RESOLVER CLASSES */
@@ -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",
@@ -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": "단위",
@@ -41,8 +41,8 @@
41
41
  "field.work-shift": "교대근무조",
42
42
  "label.acceptables": "허용값",
43
43
  "label.critical-limits": "허용 한계범위",
44
- "label.maximum value": "최대값",
45
44
  "label.minimum value": "최소값",
45
+ "label.maximum value": "최대값",
46
46
  "label.pass-limits": "통과 허용범위",
47
47
  "label.target-limits": "관리 목표범위",
48
48
  "text.automatically collected": "자동 수집",
@@ -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",
@@ -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",