@things-factory/dataset 5.0.11 → 5.0.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "5.0.11",
3
+ "version": "5.0.14",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -34,14 +34,14 @@
34
34
  "@operato/shell": "^1.0.1",
35
35
  "@operato/styles": "^1.0.0",
36
36
  "@operato/utils": "^1.0.1",
37
- "@things-factory/auth-base": "^5.0.11",
38
- "@things-factory/aws-base": "^5.0.11",
39
- "@things-factory/board-service": "^5.0.11",
37
+ "@things-factory/auth-base": "^5.0.14",
38
+ "@things-factory/aws-base": "^5.0.14",
39
+ "@things-factory/board-service": "^5.0.14",
40
40
  "@things-factory/env": "^5.0.0",
41
- "@things-factory/shell": "^5.0.11",
42
- "@things-factory/work-shift": "^5.0.11",
41
+ "@things-factory/shell": "^5.0.14",
42
+ "@things-factory/work-shift": "^5.0.14",
43
43
  "cron-parser": "^4.3.0",
44
44
  "moment-timezone": "^0.5.34"
45
45
  },
46
- "gitHead": "37cd4feb62e062899cae7029588d86a5d4b4036a"
46
+ "gitHead": "9ceaa39746fcf42953e429fab2001353cd821ded"
47
47
  }
@@ -42,7 +42,7 @@ export class DataItem {
42
42
  unit?: string
43
43
 
44
44
  @Field(type => Int, { nullable: true })
45
- quota: number
45
+ quota?: number
46
46
 
47
47
  @Field(type => ScalarObject, { nullable: true })
48
48
  spec?: { [key: string]: any }
@@ -38,7 +38,9 @@ export class DataSetMutation {
38
38
  const dataSetRepo = tx.getRepository(DataSet)
39
39
 
40
40
  const dataSet = await dataSetRepo.findOne({
41
- where: { domain, id }
41
+ where: { domain, id },
42
+ relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']
43
+ /* history에 항상 반영될 수 있도록 relations가 있어야 함. */
42
44
  })
43
45
 
44
46
  const result = await dataSetRepo.save({
@@ -81,9 +83,7 @@ export class DataSetMutation {
81
83
  await this._createAttachment(context, newRecord.reportTemplate, { ref: result, cuFlag })
82
84
 
83
85
  results.push({
84
- ...(await dataSetRepo.findOne(result.id, {
85
- relations: ['domain', 'creator', 'updater', 'supervisoryRole', 'entryRole']
86
- })),
86
+ ...result,
87
87
  cuFlag
88
88
  })
89
89
  }
@@ -93,7 +93,10 @@ export class DataSetMutation {
93
93
  const cuFlag = 'M'
94
94
  for (let i = 0; i < _updateRecords.length; i++) {
95
95
  const newRecord = _updateRecords[i]
96
- const dataSet = await dataSetRepo.findOne(newRecord.id)
96
+ const dataSet = await dataSetRepo.findOne(newRecord.id, {
97
+ /* history에 항상 반영될 수 있도록 relations가 있어야 함. */
98
+ relations: ['domain', 'dataKeySet', 'entryRole', 'supervisoryRole', 'creator', 'updater']
99
+ })
97
100
 
98
101
  const result = await dataSetRepo.save({
99
102
  ...dataSet,
@@ -104,9 +107,7 @@ export class DataSetMutation {
104
107
  await this._createAttachment(context, newRecord.reportTemplate, { ref: result, cuFlag })
105
108
 
106
109
  results.push({
107
- ...(await dataSetRepo.findOne(result.id, {
108
- relations: ['domain', 'creator', 'updater', 'supervisoryRole', 'entryRole']
109
- })),
110
+ ...result,
110
111
  cuFlag
111
112
  })
112
113
  }
@@ -176,7 +177,7 @@ export class DataSetMutation {
176
177
  id: In(ids),
177
178
  domain
178
179
  },
179
- relations: ['domain', 'supervisoryRole', 'entryRole']
180
+ relations: ['domain', 'supervisoryRole', 'entryRole', 'dataKeySet']
180
181
  })
181
182
 
182
183
  if (originals.length == 0) {
@@ -191,9 +192,12 @@ export class DataSetMutation {
191
192
  id: dataSetId,
192
193
  name: dataSet.name + ' (' + dataSetId + ')',
193
194
  active: false,
195
+ version: 1,
194
196
  domain,
195
197
  creator: user,
196
- updater: user
198
+ updater: user,
199
+ updatedAt: undefined,
200
+ createdAt: undefined
197
201
  }
198
202
  })
199
203
 
@@ -6,9 +6,9 @@ import { Role, User } from '@things-factory/auth-base'
6
6
  import { Board } from '@things-factory/board-service'
7
7
  import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
8
8
 
9
- import { DataItem } from '../data-item/data-item'
10
9
  import { DataKeySet } from '../data-key-set/data-key-set'
11
10
  import { DataSample } from '../data-sample/data-sample'
11
+ import { DataItem } from './data-item-type'
12
12
  import { DataSet } from './data-set'
13
13
  import { DataSetList } from './data-set-type'
14
14
 
@@ -104,14 +104,11 @@ export class DataSetQuery {
104
104
 
105
105
  @FieldResolver(type => [DataItem])
106
106
  async dataItems(@Root() dataSet: DataSet): Promise<DataItem[]> {
107
- /* TODO this fieldResolver should be removed. This is only for migration temporarily */
108
- if (dataSet.dataItems) {
109
- return dataSet.dataItems as DataItem[]
107
+ if (dataSet.dataItems instanceof Array) {
108
+ return dataSet.dataItems.filter(item => item.name)
110
109
  }
111
110
 
112
- return await getRepository(DataItem).find({
113
- dataSet
114
- })
111
+ return []
115
112
  }
116
113
 
117
114
  @FieldResolver(type => Role)
@@ -1,4 +1,3 @@
1
- import { entities as DataItemEntities } from './data-item'
2
1
  import { entities as DataKeySetEntities, resolvers as DataKeySetResolvers } from './data-key-set'
3
2
  import { entities as DataOocEntities, resolvers as DataOocResolvers } from './data-ooc'
4
3
  import { entities as DataSampleEntities, resolvers as DataSampleResolvers } from './data-sample'
@@ -24,7 +23,6 @@ export * from './data-spec/data-spec'
24
23
  export const entities = [
25
24
  /* ENTITIES */
26
25
  ...DataKeySetEntities,
27
- ...DataItemEntities,
28
26
  ...DataOocEntities,
29
27
  ...DataSensorEntities,
30
28
  ...DataSampleEntities,
@@ -1,136 +0,0 @@
1
- import { Field, ID, Int, ObjectType, registerEnumType } from 'type-graphql'
2
- import {
3
- Column,
4
- CreateDateColumn,
5
- Entity,
6
- Index,
7
- ManyToOne,
8
- PrimaryGeneratedColumn,
9
- RelationId,
10
- UpdateDateColumn
11
- } from 'typeorm'
12
-
13
- import { User } from '@things-factory/auth-base'
14
- import { Domain, ScalarObject } from '@things-factory/shell'
15
-
16
- import { DataSet } from '../data-set/data-set'
17
-
18
- export enum DataItemType {
19
- number = 'number',
20
- text = 'text',
21
- boolean = 'boolean',
22
- select = 'select',
23
- file = 'file'
24
- }
25
-
26
- registerEnumType(DataItemType, {
27
- name: 'DataItemType',
28
- description: 'state enumeration of a data-item'
29
- })
30
-
31
- @Entity()
32
- @Index('ix_data_item_0', (dataItem: DataItem) => [dataItem.domain, dataItem.dataSet, dataItem.name], { unique: true })
33
- @ObjectType({ description: 'Entity for DataItem' })
34
- export class DataItem {
35
- @PrimaryGeneratedColumn('uuid')
36
- @Field(type => ID)
37
- readonly id: string
38
-
39
- @ManyToOne(type => Domain)
40
- @Field({ nullable: true })
41
- domain?: Domain
42
-
43
- @RelationId((dataItem: DataItem) => dataItem.domain)
44
- domainId?: string
45
-
46
- @Column()
47
- @Field()
48
- name: string
49
-
50
- @Column({
51
- nullable: true
52
- })
53
- @Field({ nullable: true })
54
- description?: string
55
-
56
- @ManyToOne(type => DataSet, dataSet => dataSet.dataItems, { onDelete: 'CASCADE' })
57
- @Field(type => DataSet, { nullable: false })
58
- dataSet?: DataSet
59
-
60
- @RelationId((dataItem: DataItem) => dataItem.dataSet)
61
- dataSetId?: string
62
-
63
- @Column()
64
- @Field(type => Int, { nullable: true })
65
- sequence: number
66
-
67
- @Column({
68
- nullable: true
69
- })
70
- @Field({ nullable: true })
71
- tag?: string
72
-
73
- @Column({
74
- nullable: true
75
- })
76
- @Field({ nullable: true })
77
- active?: boolean
78
-
79
- @Column({
80
- nullable: true
81
- })
82
- @Field({ nullable: true })
83
- hidden?: boolean
84
-
85
- @Column({
86
- nullable: true
87
- })
88
- @Field({ nullable: true })
89
- type?: DataItemType
90
-
91
- @Column('simple-json', { nullable: true })
92
- @Field(type => ScalarObject, { nullable: true })
93
- options?: { [option: string]: any }
94
-
95
- @Column({
96
- nullable: true
97
- })
98
- @Field({ nullable: true })
99
- unit?: string
100
-
101
- @Column({
102
- nullable: true
103
- })
104
- @Field(type => Int, { nullable: true })
105
- quota: number
106
-
107
- @Column('simple-json', { nullable: true })
108
- @Field(type => ScalarObject, { nullable: true })
109
- spec?: { [key: string]: any }
110
-
111
- @CreateDateColumn()
112
- @Field({ nullable: true })
113
- createdAt?: Date
114
-
115
- @UpdateDateColumn()
116
- @Field({ nullable: true })
117
- updatedAt?: Date
118
-
119
- @ManyToOne(type => User, {
120
- nullable: true
121
- })
122
- @Field({ nullable: true })
123
- creator?: User
124
-
125
- @RelationId((dataItem: DataItem) => dataItem.creator)
126
- creatorId?: string
127
-
128
- @ManyToOne(type => User, {
129
- nullable: true
130
- })
131
- @Field({ nullable: true })
132
- updater?: User
133
-
134
- @RelationId((dataItem: DataItem) => dataItem.creator)
135
- updaterId?: string
136
- }
@@ -1,3 +0,0 @@
1
- import { DataItem } from './data-item'
2
-
3
- export const entities = [DataItem]