@things-factory/dataset 5.0.9 → 5.0.12
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/dist-server/controllers/create-data-sample.js +0 -1
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/controllers/data-use-case.js.map +1 -1
- package/dist-server/routes.js +0 -1
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/data-item/data-item.js +7 -7
- package/dist-server/service/data-item/data-item.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-subscription.js +4 -6
- package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-type.js +2 -2
- package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc.js +8 -8
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-mutation.js +1 -2
- package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-type.js +2 -2
- package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +6 -6
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-set/data-item-type.js +4 -5
- package/dist-server/service/data-set/data-item-type.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +11 -10
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.js +6 -6
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set/data-set.js +7 -7
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history-query.js +17 -3
- package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history.js +14 -4
- package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
- package/dist-server/service/data-spec/data-spec.js +1 -2
- package/dist-server/service/data-spec/data-spec.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/server/controllers/create-data-sample.ts +0 -2
- package/server/controllers/data-use-case.ts +2 -1
- package/server/routes.ts +0 -2
- package/server/service/data-item/data-item.ts +5 -4
- package/server/service/data-ooc/data-ooc-subscription.ts +6 -8
- package/server/service/data-ooc/data-ooc-type.ts +1 -1
- package/server/service/data-ooc/data-ooc.ts +4 -4
- package/server/service/data-sample/data-sample-mutation.ts +1 -4
- package/server/service/data-sample/data-sample-type.ts +1 -1
- package/server/service/data-sample/data-sample.ts +3 -3
- package/server/service/data-set/data-item-type.ts +4 -4
- package/server/service/data-set/data-set-mutation.ts +14 -10
- package/server/service/data-set/data-set-type.ts +2 -2
- package/server/service/data-set/data-set.ts +2 -2
- package/server/service/data-set-history/data-set-history-query.ts +13 -2
- package/server/service/data-set-history/data-set-history.ts +9 -1
- package/server/service/data-spec/data-spec.ts +3 -2
- package/dist-server/service/data-item/data-item-mutation.js +0 -73
- package/dist-server/service/data-item/data-item-mutation.js.map +0 -1
- package/dist-server/service/data-item/data-item-query.js +0 -104
- package/dist-server/service/data-item/data-item-query.js.map +0 -1
- package/dist-server/service/data-item/data-item-type.js +0 -93
- package/dist-server/service/data-item/data-item-type.js.map +0 -1
- package/yarn-error.log +0 -23244
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/dataset",
|
3
|
-
"version": "5.0.
|
3
|
+
"version": "5.0.12",
|
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.
|
38
|
-
"@things-factory/aws-base": "^5.0.
|
39
|
-
"@things-factory/board-service": "^5.0.
|
37
|
+
"@things-factory/auth-base": "^5.0.11",
|
38
|
+
"@things-factory/aws-base": "^5.0.11",
|
39
|
+
"@things-factory/board-service": "^5.0.11",
|
40
40
|
"@things-factory/env": "^5.0.0",
|
41
|
-
"@things-factory/shell": "^5.0.
|
42
|
-
"@things-factory/work-shift": "^5.0.
|
41
|
+
"@things-factory/shell": "^5.0.11",
|
42
|
+
"@things-factory/work-shift": "^5.0.11",
|
43
43
|
"cron-parser": "^4.3.0",
|
44
44
|
"moment-timezone": "^0.5.34"
|
45
45
|
},
|
46
|
-
"gitHead": "
|
46
|
+
"gitHead": "fc92c5a8449721503a893d67aae8e65ce21a7890"
|
47
47
|
}
|
@@ -11,8 +11,6 @@ import { NewDataSample } from '../service/data-sample/data-sample-type'
|
|
11
11
|
import { DataSet } from '../service/data-set/data-set'
|
12
12
|
import { DataUseCase } from './data-use-case'
|
13
13
|
|
14
|
-
const debug = require('debug')('things-factory:dataset:controller/save-data-sample')
|
15
|
-
|
16
14
|
const fillDataKeys = (dataKeySet, data) => {
|
17
15
|
const keys = dataKeySet?.dataKeyItems || []
|
18
16
|
return keys.reduce((sum, key, index) => {
|
@@ -5,12 +5,13 @@ export type DataItemSpec = {
|
|
5
5
|
type: string
|
6
6
|
label: string
|
7
7
|
name: string
|
8
|
-
property
|
8
|
+
property?: { [option: string]: any }
|
9
9
|
}
|
10
10
|
|
11
11
|
export type DataItemSpecSet = {
|
12
12
|
name: string
|
13
13
|
description: string
|
14
|
+
help?: string
|
14
15
|
specs: DataItemSpec[]
|
15
16
|
}
|
16
17
|
|
package/server/routes.ts
CHANGED
@@ -6,8 +6,6 @@ import { createDataSample } from './controllers/create-data-sample'
|
|
6
6
|
import { renderJasperReport } from './controllers/jasper-report'
|
7
7
|
import { DataSensor } from './service/data-sensor/data-sensor'
|
8
8
|
|
9
|
-
const debug = require('debug')('things-factory:dataset:routes')
|
10
|
-
|
11
9
|
process.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {
|
12
10
|
/*
|
13
11
|
* can add global public routes to application (auth not required, tenancy not required)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { Field, ID, Int, ObjectType, registerEnumType } from 'type-graphql'
|
1
2
|
import {
|
2
3
|
Column,
|
3
4
|
CreateDateColumn,
|
@@ -8,11 +9,11 @@ import {
|
|
8
9
|
RelationId,
|
9
10
|
UpdateDateColumn
|
10
11
|
} from 'typeorm'
|
12
|
+
|
13
|
+
import { User } from '@things-factory/auth-base'
|
11
14
|
import { Domain, ScalarObject } from '@things-factory/shell'
|
12
|
-
import { Field, ID, Int, ObjectType, registerEnumType } from 'type-graphql'
|
13
15
|
|
14
16
|
import { DataSet } from '../data-set/data-set'
|
15
|
-
import { User } from '@things-factory/auth-base'
|
16
17
|
|
17
18
|
export enum DataItemType {
|
18
19
|
number = 'number',
|
@@ -89,7 +90,7 @@ export class DataItem {
|
|
89
90
|
|
90
91
|
@Column('simple-json', { nullable: true })
|
91
92
|
@Field(type => ScalarObject, { nullable: true })
|
92
|
-
options?:
|
93
|
+
options?: { [option: string]: any }
|
93
94
|
|
94
95
|
@Column({
|
95
96
|
nullable: true
|
@@ -105,7 +106,7 @@ export class DataItem {
|
|
105
106
|
|
106
107
|
@Column('simple-json', { nullable: true })
|
107
108
|
@Field(type => ScalarObject, { nullable: true })
|
108
|
-
spec?:
|
109
|
+
spec?: { [key: string]: any }
|
109
110
|
|
110
111
|
@CreateDateColumn()
|
111
112
|
@Field({ nullable: true })
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import { Resolver, Subscription, Root } from 'type-graphql'
|
2
1
|
import { withFilter } from 'graphql-subscriptions'
|
3
|
-
import {
|
4
|
-
import { User } from '@things-factory/auth-base'
|
5
|
-
import { DataOoc } from './data-ooc'
|
2
|
+
import { Resolver, Root, Subscription } from 'type-graphql'
|
6
3
|
import { getRepository } from 'typeorm'
|
7
4
|
|
8
|
-
|
5
|
+
import { User } from '@things-factory/auth-base'
|
6
|
+
import { pubsub } from '@things-factory/shell'
|
7
|
+
|
8
|
+
import { DataOoc } from './data-ooc'
|
9
9
|
|
10
10
|
@Resolver(DataOoc)
|
11
11
|
export class DataOocSubscription {
|
@@ -14,8 +14,6 @@ export class DataOocSubscription {
|
|
14
14
|
const { domain, user } = context.state
|
15
15
|
const subdomain = domain?.subdomain
|
16
16
|
|
17
|
-
debug('subscribe', subdomain)
|
18
|
-
|
19
17
|
if (!domain) {
|
20
18
|
throw new Error('domain required')
|
21
19
|
}
|
@@ -40,7 +38,7 @@ export class DataOocSubscription {
|
|
40
38
|
relations: ['roles']
|
41
39
|
})
|
42
40
|
|
43
|
-
return userWithRoles.roles.find(role => role.id === supervisoryRoleId)
|
41
|
+
return !!userWithRoles.roles.find(role => role.id === supervisoryRoleId)
|
44
42
|
}
|
45
43
|
)(_, args, context, info)
|
46
44
|
}
|
@@ -131,22 +131,22 @@ export class DataOoc {
|
|
131
131
|
|
132
132
|
@Column('simple-json', { nullable: true })
|
133
133
|
@Field(type => ScalarObject, { nullable: true })
|
134
|
-
partitionKeys?:
|
134
|
+
partitionKeys?: { [key: string]: any }
|
135
135
|
|
136
136
|
@Column('simple-json', { nullable: true })
|
137
137
|
@Field(type => ScalarObject, { nullable: true })
|
138
|
-
data?:
|
138
|
+
data?: any
|
139
139
|
|
140
140
|
@Column('simple-json', { nullable: true })
|
141
141
|
@Field(type => ScalarObject, { nullable: true })
|
142
|
-
judgment?:
|
142
|
+
judgment?: any
|
143
143
|
|
144
144
|
@Field(type => [DataItem], { nullable: true })
|
145
145
|
dataItems?: DataItem[]
|
146
146
|
|
147
147
|
@Column('simple-json', { nullable: true })
|
148
148
|
@Field(type => ScalarObject, { nullable: true })
|
149
|
-
history?:
|
149
|
+
history?: any
|
150
150
|
|
151
151
|
@Column({
|
152
152
|
nullable: true,
|
@@ -1,12 +1,9 @@
|
|
1
1
|
import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
|
2
2
|
|
3
|
+
import { createDataSample } from '../../controllers/create-data-sample'
|
3
4
|
import { DataSample } from './data-sample'
|
4
5
|
import { NewDataSample } from './data-sample-type'
|
5
6
|
|
6
|
-
import { createDataSample } from '../../controllers/create-data-sample'
|
7
|
-
|
8
|
-
const debug = require('debug')('things-factory:dataset:data-sample:data-sample-mutation')
|
9
|
-
|
10
7
|
@Resolver(DataSample)
|
11
8
|
export class DataSampleMutation {
|
12
9
|
@Directive('@privilege(category: "data-sample", privilege: "mutation", domainOwnerGranted: true)')
|
@@ -68,7 +68,7 @@ export class DataSample {
|
|
68
68
|
|
69
69
|
@Column('simple-json', { nullable: true })
|
70
70
|
@Field(type => ScalarObject, { nullable: true })
|
71
|
-
partitionKeys?:
|
71
|
+
partitionKeys?: { [key: string]: any }
|
72
72
|
|
73
73
|
@ManyToOne(type => DataSet)
|
74
74
|
@Field(type => DataSet, { nullable: false })
|
@@ -83,11 +83,11 @@ export class DataSample {
|
|
83
83
|
|
84
84
|
@Column('simple-json', { nullable: true })
|
85
85
|
@Field(type => ScalarObject, { nullable: true })
|
86
|
-
data?:
|
86
|
+
data?: any
|
87
87
|
|
88
88
|
@Column('simple-json', { nullable: true })
|
89
89
|
@Field(type => ScalarObject, { nullable: true })
|
90
|
-
judgment?:
|
90
|
+
judgment?: any
|
91
91
|
|
92
92
|
@Field(type => [DataItem], { nullable: true })
|
93
93
|
dataItems?: DataItem[]
|
@@ -36,7 +36,7 @@ export class DataItem {
|
|
36
36
|
type?: DataItemType
|
37
37
|
|
38
38
|
@Field(type => ScalarObject, { nullable: true })
|
39
|
-
options?:
|
39
|
+
options?: { [option: string]: any }
|
40
40
|
|
41
41
|
@Field({ nullable: true })
|
42
42
|
unit?: string
|
@@ -45,7 +45,7 @@ export class DataItem {
|
|
45
45
|
quota: number
|
46
46
|
|
47
47
|
@Field(type => ScalarObject, { nullable: true })
|
48
|
-
spec?:
|
48
|
+
spec?: { [key: string]: any }
|
49
49
|
}
|
50
50
|
|
51
51
|
@InputType()
|
@@ -63,7 +63,7 @@ export class DataItemPatch {
|
|
63
63
|
type?: DataItemType
|
64
64
|
|
65
65
|
@Field(type => ScalarObject, { nullable: true })
|
66
|
-
options?:
|
66
|
+
options?: { [option: string]: any }
|
67
67
|
|
68
68
|
@Field({ nullable: true })
|
69
69
|
unit?: string
|
@@ -78,5 +78,5 @@ export class DataItemPatch {
|
|
78
78
|
hidden?: boolean
|
79
79
|
|
80
80
|
@Field(type => ScalarObject, { nullable: true })
|
81
|
-
spec?:
|
81
|
+
spec?: { [key: string]: any }
|
82
82
|
}
|
@@ -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
|
-
...
|
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
|
-
...
|
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
|
|
@@ -34,7 +34,7 @@ export class NewDataSet {
|
|
34
34
|
useCase?: string
|
35
35
|
|
36
36
|
@Field(type => ScalarObject, { nullable: true })
|
37
|
-
partitionKeys?:
|
37
|
+
partitionKeys?: { [key: string]: any }
|
38
38
|
|
39
39
|
@Field(type => [DataItemPatch], { nullable: true })
|
40
40
|
dataItems?: DataItemPatch[]
|
@@ -97,7 +97,7 @@ export class DataSetPatch {
|
|
97
97
|
useCase?: string
|
98
98
|
|
99
99
|
@Field(type => ScalarObject, { nullable: true })
|
100
|
-
partitionKeys?:
|
100
|
+
partitionKeys?: { [key: string]: any }
|
101
101
|
|
102
102
|
@Field(type => [DataItemPatch], { nullable: true })
|
103
103
|
dataItems?: DataItemPatch[]
|
@@ -86,7 +86,7 @@ export class DataSet {
|
|
86
86
|
|
87
87
|
@ManyToOne(type => DataKeySet, { nullable: true })
|
88
88
|
@Field(type => DataKeySet, { nullable: true })
|
89
|
-
dataKeySet?:
|
89
|
+
dataKeySet?: DataKeySet
|
90
90
|
|
91
91
|
@RelationId((dataSet: DataSet) => dataSet.dataKeySet)
|
92
92
|
dataKeySetId?: string
|
@@ -142,7 +142,7 @@ export class DataSet {
|
|
142
142
|
|
143
143
|
@Column('simple-json', { nullable: true })
|
144
144
|
@Field(type => ScalarObject, { nullable: true })
|
145
|
-
partitionKeys?:
|
145
|
+
partitionKeys?: { [key: string]: any }
|
146
146
|
|
147
147
|
@Column('simple-json', { nullable: true })
|
148
148
|
@Field(type => [DataItem], { nullable: true })
|
@@ -6,6 +6,7 @@ import { Role, User } from '@things-factory/auth-base'
|
|
6
6
|
import { Board } from '@things-factory/board-service'
|
7
7
|
import { Domain, getQueryBuilderFromListParams, ListParam, ScalarDate } from '@things-factory/shell'
|
8
8
|
|
9
|
+
import { DataKeySet } from '../data-key-set/data-key-set'
|
9
10
|
import { DataSet } from '../data-set/data-set'
|
10
11
|
import { DataSetHistory } from './data-set-history'
|
11
12
|
import { DataSetHistoryList } from './data-set-history-type'
|
@@ -16,7 +17,7 @@ export class DataSetHistoryQuery {
|
|
16
17
|
@Query(returns => DataSetHistory, { description: 'To fetch a DataSetHistory' })
|
17
18
|
async dataSetHistory(
|
18
19
|
@Arg('id') id: string,
|
19
|
-
@Arg('timestamp', type => ScalarDate) timestamp:
|
20
|
+
@Arg('timestamp', type => ScalarDate) timestamp: Date,
|
20
21
|
@Ctx() context: any
|
21
22
|
): Promise<DataSetHistory> {
|
22
23
|
const { domain } = context.state
|
@@ -77,8 +78,18 @@ export class DataSetHistoryQuery {
|
|
77
78
|
}
|
78
79
|
}
|
79
80
|
|
81
|
+
@FieldResolver(type => DataKeySet, { nullable: true })
|
82
|
+
async dataKeySet(@Root() dataSet: DataSet) {
|
83
|
+
return (
|
84
|
+
dataSet.dataKeySet ||
|
85
|
+
(await getRepository(DataKeySet).findOne({
|
86
|
+
id: dataSet.dataKeySetId
|
87
|
+
}))
|
88
|
+
)
|
89
|
+
}
|
90
|
+
|
80
91
|
@FieldResolver(type => User)
|
81
|
-
async timestamp(@Root() dataSetHistory: DataSetHistory): Promise<
|
92
|
+
async timestamp(@Root() dataSetHistory: DataSetHistory): Promise<Date> {
|
82
93
|
return dataSetHistory.updatedAt
|
83
94
|
}
|
84
95
|
|
@@ -11,6 +11,7 @@ import { Role, User } from '@things-factory/auth-base'
|
|
11
11
|
import { config } from '@things-factory/env'
|
12
12
|
import { Domain, ScalarObject } from '@things-factory/shell'
|
13
13
|
|
14
|
+
import { DataKeySet } from '../data-key-set/data-key-set'
|
14
15
|
import { DataItem } from '../data-set/data-item-type'
|
15
16
|
import { DataSet, DataSetEntryType, DataSetMonitorType, DataSetReportType } from '../data-set/data-set'
|
16
17
|
|
@@ -57,6 +58,13 @@ export class DataSetHistory implements HistoryEntityInterface<DataSet> {
|
|
57
58
|
@Field({ nullable: true })
|
58
59
|
active?: boolean
|
59
60
|
|
61
|
+
@ManyToOne(type => DataKeySet, { nullable: true })
|
62
|
+
@Field(type => DataKeySet, { nullable: true })
|
63
|
+
dataKeySet?: DataKeySet
|
64
|
+
|
65
|
+
@RelationId((dataSet: DataSet) => dataSet.dataKeySet)
|
66
|
+
dataKeySetId?: string
|
67
|
+
|
60
68
|
@ManyToOne(type => Role, { nullable: true })
|
61
69
|
@Field(type => Role, { nullable: true })
|
62
70
|
entryRole?: Role
|
@@ -108,7 +116,7 @@ export class DataSetHistory implements HistoryEntityInterface<DataSet> {
|
|
108
116
|
|
109
117
|
@Column('simple-json', { nullable: true })
|
110
118
|
@Field(type => ScalarObject, { nullable: true })
|
111
|
-
partitionKeys?:
|
119
|
+
partitionKeys?: { [key: string]: any }
|
112
120
|
|
113
121
|
@Column('simple-json', { nullable: true })
|
114
122
|
@Field(type => [DataItem], { nullable: true })
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import { Field, Int, ObjectType } from 'type-graphql'
|
2
|
+
|
2
3
|
import { ScalarObject } from '@things-factory/shell'
|
3
4
|
|
4
5
|
@ObjectType()
|
@@ -16,7 +17,7 @@ export class DataSpecItem {
|
|
16
17
|
placeholder?: string
|
17
18
|
|
18
19
|
@Field(type => ScalarObject, { nullable: true })
|
19
|
-
property?:
|
20
|
+
property?: { [key: string]: any }
|
20
21
|
}
|
21
22
|
|
22
23
|
@ObjectType()
|
@@ -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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"}
|