@things-factory/dataset 5.0.16 → 6.0.0-alpha.10
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/client/pages/data-archive/data-archive-request-popup.js +10 -15
- package/client/pages/data-key-set/data-key-set-importer.js +4 -6
- package/client/pages/data-set/data-set-importer.js +1 -1
- package/dist-server/service/data-archive/data-archive-mutation.js +6 -6
- package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
- package/dist-server/service/data-archive/data-archive-query.js +7 -9
- package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
- package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
- package/dist-server/service/data-archive/data-archive.js +3 -4
- package/dist-server/service/data-archive/data-archive.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-mutation.js +4 -4
- package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-query.js +9 -11
- package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set.js +3 -4
- package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-mutation.js +1 -1
- package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +9 -11
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-subscription.js +1 -2
- package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-type.js +2 -3
- package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc.js +4 -5
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +12 -14
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-type.js +1 -2
- package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +3 -4
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-mutation.js +4 -4
- package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-query.js +9 -11
- package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-type.js +4 -5
- package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor.js +4 -5
- package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
- package/dist-server/service/data-set/data-item-type.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +6 -5
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-query.js +24 -26
- package/dist-server/service/data-set/data-set-query.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.js +6 -7
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set/data-set.js +5 -6
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history-query.js +14 -16
- 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-type.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history.js +5 -6
- package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
- package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
- package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
- package/dist-server/service/data-spec/data-spec.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/server/service/data-archive/data-archive-mutation.ts +53 -24
- package/server/service/data-archive/data-archive-query.ts +7 -8
- package/server/service/data-key-set/data-key-set-mutation.ts +16 -13
- package/server/service/data-key-set/data-key-set-query.ts +8 -9
- package/server/service/data-ooc/data-ooc-mutation.ts +12 -8
- package/server/service/data-ooc/data-ooc-query.ts +8 -9
- package/server/service/data-ooc/data-ooc-subscription.ts +1 -2
- package/server/service/data-sample/data-sample-mutation.ts +4 -1
- package/server/service/data-sample/data-sample-query.ts +10 -11
- package/server/service/data-sensor/data-sensor-mutation.ts +15 -9
- package/server/service/data-sensor/data-sensor-query.ts +9 -10
- package/server/service/data-set/data-set-mutation.ts +17 -12
- package/server/service/data-set/data-set-query.ts +18 -19
- package/server/service/data-set-history/data-set-history-query.ts +13 -14
package/package.json
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/dataset",
|
3
|
-
"version": "
|
3
|
+
"version": "6.0.0-alpha.10",
|
4
4
|
"main": "dist-server/index.js",
|
5
5
|
"browser": "client/index.js",
|
6
6
|
"things-factory": true,
|
7
7
|
"license": "MIT",
|
8
|
-
"author": "heartyoh",
|
8
|
+
"author": "heartyoh <heartyoh@hatiolab.com>",
|
9
9
|
"description": "module for handling data collection",
|
10
10
|
"publishConfig": {
|
11
11
|
"access": "public",
|
@@ -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": "^
|
38
|
-
"@things-factory/aws-base": "^
|
39
|
-
"@things-factory/board-service": "^
|
40
|
-
"@things-factory/env": "^
|
41
|
-
"@things-factory/shell": "^
|
42
|
-
"@things-factory/work-shift": "^
|
37
|
+
"@things-factory/auth-base": "^6.0.0-alpha.10",
|
38
|
+
"@things-factory/aws-base": "^6.0.0-alpha.10",
|
39
|
+
"@things-factory/board-service": "^6.0.0-alpha.10",
|
40
|
+
"@things-factory/env": "^6.0.0-alpha.8",
|
41
|
+
"@things-factory/shell": "^6.0.0-alpha.8",
|
42
|
+
"@things-factory/work-shift": "^6.0.0-alpha.10",
|
43
43
|
"cron-parser": "^4.3.0",
|
44
44
|
"moment-timezone": "^0.5.34"
|
45
45
|
},
|
46
|
-
"gitHead": "
|
46
|
+
"gitHead": "9ec9c564e157ebe830839e5a9cf8cfd6ec4e44b1"
|
47
47
|
}
|
@@ -1,32 +1,48 @@
|
|
1
|
-
import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
|
2
|
-
import { In } from 'typeorm'
|
3
|
-
import fetch from 'node-fetch'
|
4
1
|
import i18next from 'i18next'
|
2
|
+
import fetch from 'node-fetch'
|
3
|
+
import {
|
4
|
+
Arg,
|
5
|
+
Ctx,
|
6
|
+
Directive,
|
7
|
+
Mutation,
|
8
|
+
Resolver
|
9
|
+
} from 'type-graphql'
|
10
|
+
import { In } from 'typeorm'
|
5
11
|
|
6
|
-
import { DataArchive } from './data-archive'
|
7
|
-
import { DataArchivePatch, NewDataArchive } from './data-archive-type'
|
8
12
|
import { getEndpointUrl } from '../../utils/config-resolver'
|
13
|
+
import { DataArchive } from './data-archive'
|
14
|
+
import {
|
15
|
+
DataArchivePatch,
|
16
|
+
NewDataArchive
|
17
|
+
} from './data-archive-type'
|
9
18
|
|
10
19
|
const { config } = require('@things-factory/env')
|
11
20
|
const crypto = require('crypto')
|
12
21
|
|
13
22
|
@Resolver(DataArchive)
|
14
23
|
export class DataArchiveMutation {
|
15
|
-
|
16
|
-
|
17
|
-
* It may use 'func-[dev]-data-set-download' in https://github.com/operatochef/serverless
|
24
|
+
/**
|
25
|
+
* It may use 'func-[dev]-data-set-download' in https://github.com/operatochef/serverless
|
18
26
|
* This function requests athena query and save the result as csv.gz in s3
|
19
|
-
|
27
|
+
*/
|
20
28
|
@Directive('@privilege(category: "data-archive", privilege: "mutation", domainOwnerGranted: true)')
|
21
29
|
@Directive('@transaction')
|
22
30
|
@Mutation(returns => DataArchive, { description: 'To create new DataArchive' })
|
23
|
-
async generatePresignedUrl(
|
31
|
+
async generatePresignedUrl(
|
32
|
+
@Arg('patch') patch: DataArchivePatch,
|
33
|
+
@Ctx() context: ResolverContext
|
34
|
+
): Promise<DataArchive> {
|
24
35
|
const { domain, user, tx, notify, lng } = context.state
|
25
36
|
// const dataArchiveRepo = tx.getRepository(DataArchive)
|
26
37
|
const t = i18next.getFixedT(lng, 'translations')
|
27
|
-
const {
|
28
|
-
|
29
|
-
|
38
|
+
const {
|
39
|
+
dataset: {
|
40
|
+
endpoint,
|
41
|
+
datasource: { database }
|
42
|
+
}
|
43
|
+
} = config.get('dataArchive')
|
44
|
+
|
45
|
+
const body = JSON.stringify({
|
30
46
|
domain: domain?.subdomain,
|
31
47
|
database,
|
32
48
|
...patch?.requestParams
|
@@ -36,10 +52,10 @@ export class DataArchiveMutation {
|
|
36
52
|
|
37
53
|
const fetched = await fetch(`${url}`, {
|
38
54
|
method: 'POST',
|
39
|
-
headers: {'Content-Type': 'application/json'},
|
55
|
+
headers: { 'Content-Type': 'application/json' },
|
40
56
|
body
|
41
57
|
})
|
42
|
-
|
58
|
+
|
43
59
|
const message = {
|
44
60
|
receivers: [user.email],
|
45
61
|
mode: 'in-app',
|
@@ -59,7 +75,7 @@ export class DataArchiveMutation {
|
|
59
75
|
const error = await fetched.text()
|
60
76
|
console.log(error)
|
61
77
|
patch.status = 'error'
|
62
|
-
|
78
|
+
|
63
79
|
message['title'] = t('title.data-archive request failed')
|
64
80
|
// may not user-friendly message
|
65
81
|
message['body'] = error
|
@@ -75,7 +91,10 @@ export class DataArchiveMutation {
|
|
75
91
|
@Directive('@privilege(category: "data-archive", privilege: "mutation", domainOwnerGranted: true)')
|
76
92
|
@Directive('@transaction')
|
77
93
|
@Mutation(returns => DataArchive, { description: 'To create new DataArchive' })
|
78
|
-
async createDataArchive(
|
94
|
+
async createDataArchive(
|
95
|
+
@Arg('dataArchive') dataArchive: NewDataArchive,
|
96
|
+
@Ctx() context: ResolverContext
|
97
|
+
): Promise<DataArchive> {
|
79
98
|
const { domain, user, tx } = context.state
|
80
99
|
const dataArchiveRepo = tx.getRepository(DataArchive)
|
81
100
|
|
@@ -92,12 +111,16 @@ export class DataArchiveMutation {
|
|
92
111
|
@Directive('@privilege(category: "data-archive", privilege: "mutation", domainOwnerGranted: true)')
|
93
112
|
@Directive('@transaction')
|
94
113
|
@Mutation(returns => DataArchive, { description: 'To modify DataArchive information' })
|
95
|
-
async updateDataArchive(
|
114
|
+
async updateDataArchive(
|
115
|
+
@Arg('id') id: string,
|
116
|
+
@Arg('patch') patch: DataArchivePatch,
|
117
|
+
@Ctx() context: ResolverContext
|
118
|
+
): Promise<DataArchive> {
|
96
119
|
const { domain, user, tx } = context.state
|
97
120
|
const dataArchiveRepo = tx.getRepository(DataArchive)
|
98
121
|
|
99
122
|
const dataArchive = await dataArchiveRepo.findOne({
|
100
|
-
where: { domain, id },
|
123
|
+
where: { domain: { id: domain.id }, id },
|
101
124
|
relations: ['domain', 'creator', 'updater']
|
102
125
|
})
|
103
126
|
|
@@ -170,7 +193,7 @@ export class DataArchiveMutation {
|
|
170
193
|
@Directive('@privilege(category: "data-archive", privilege: "mutation", domainOwnerGranted: true)')
|
171
194
|
@Directive('@transaction')
|
172
195
|
@Mutation(returns => Boolean, { description: 'To delete DataArchive' })
|
173
|
-
async deleteDataArchive(@Arg('id') id: string, @Ctx() context:
|
196
|
+
async deleteDataArchive(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
174
197
|
const { domain, tx } = context.state
|
175
198
|
|
176
199
|
await tx.getRepository(DataArchive).delete({ domain, id })
|
@@ -180,7 +203,10 @@ export class DataArchiveMutation {
|
|
180
203
|
@Directive('@privilege(category: "data-archive", privilege: "mutation", domainOwnerGranted: true)')
|
181
204
|
@Directive('@transaction')
|
182
205
|
@Mutation(returns => Boolean, { description: 'To delete multiple dataArchives' })
|
183
|
-
async deleteDataArchives(
|
206
|
+
async deleteDataArchives(
|
207
|
+
@Arg('ids', type => [String]) ids: string[],
|
208
|
+
@Ctx() context: ResolverContext
|
209
|
+
): Promise<boolean> {
|
184
210
|
const { domain, tx } = context.state
|
185
211
|
|
186
212
|
await tx.getRepository(DataArchive).delete({
|
@@ -196,7 +222,7 @@ export class DataArchiveMutation {
|
|
196
222
|
@Mutation(returns => Boolean, { description: 'To import multiple data-archives' })
|
197
223
|
async importDataArchives(
|
198
224
|
@Arg('dataArchives', type => [DataArchivePatch]) dataArchives: DataArchive[],
|
199
|
-
@Ctx() context:
|
225
|
+
@Ctx() context: ResolverContext
|
200
226
|
): Promise<boolean> {
|
201
227
|
const { domain, tx } = context.state
|
202
228
|
const dataArchiveRepo = tx.getRepository(DataArchive)
|
@@ -216,14 +242,17 @@ export class DataArchiveMutation {
|
|
216
242
|
@Directive('@privilege(category: "data-archive", privilege: "mutation", domainOwnerGranted: true)')
|
217
243
|
@Directive('@transaction')
|
218
244
|
@Mutation(returns => [DataArchive], { description: 'To copy multiple data-archives' })
|
219
|
-
async copyDataArchives(
|
245
|
+
async copyDataArchives(
|
246
|
+
@Arg('ids', type => [String]) ids: string[],
|
247
|
+
@Ctx() context: ResolverContext
|
248
|
+
): Promise<DataArchive[]> {
|
220
249
|
const { domain, user, tx } = context.state
|
221
250
|
const dataArchiveRepo = tx.getRepository(DataArchive)
|
222
251
|
|
223
252
|
const originals = await dataArchiveRepo.find({
|
224
253
|
where: {
|
225
254
|
id: In(ids),
|
226
|
-
domain
|
255
|
+
domain: { id: domain.id }
|
227
256
|
},
|
228
257
|
relations: ['domain']
|
229
258
|
})
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
2
|
-
import { getRepository } from 'typeorm'
|
3
2
|
|
4
3
|
import { Role, User } from '@things-factory/auth-base'
|
5
|
-
import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
|
4
|
+
import { Domain, getQueryBuilderFromListParams, ListParam, getRepository } from '@things-factory/shell'
|
6
5
|
|
7
6
|
import { DataArchive } from './data-archive'
|
8
7
|
import { DataArchiveList } from './data-archive-type'
|
@@ -13,17 +12,17 @@ var parser = require('cron-parser')
|
|
13
12
|
export class DataArchiveQuery {
|
14
13
|
@Directive('@privilege(category: "data-archive", privilege: "query", domainOwnerGranted: true)')
|
15
14
|
@Query(returns => DataArchive, { description: 'To fetch a DataArchive' })
|
16
|
-
async dataArchive(@Arg('id') id: string, @Ctx() context:
|
15
|
+
async dataArchive(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataArchive> {
|
17
16
|
const { domain } = context.state
|
18
17
|
|
19
18
|
return await getRepository(DataArchive).findOne({
|
20
|
-
where: { domain, id }
|
19
|
+
where: { domain: { id: domain.id }, id }
|
21
20
|
})
|
22
21
|
}
|
23
22
|
|
24
23
|
@Directive('@privilege(category: "data-archive", privilege: "query", domainOwnerGranted: true)')
|
25
24
|
@Query(returns => DataArchiveList, { description: 'To fetch multiple DataArchives' })
|
26
|
-
async dataArchives(@Args() params: ListParam, @Ctx() context:
|
25
|
+
async dataArchives(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataArchiveList> {
|
27
26
|
const { domain } = context.state
|
28
27
|
|
29
28
|
const queryBuilder = getQueryBuilderFromListParams({
|
@@ -41,16 +40,16 @@ export class DataArchiveQuery {
|
|
41
40
|
|
42
41
|
@FieldResolver(type => Domain)
|
43
42
|
async domain(@Root() dataArchive: DataArchive): Promise<Domain> {
|
44
|
-
return await getRepository(Domain).
|
43
|
+
return await getRepository(Domain).findOneBy({ id: dataArchive.domainId })
|
45
44
|
}
|
46
45
|
|
47
46
|
@FieldResolver(type => User)
|
48
47
|
async updater(@Root() dataArchive: DataArchive): Promise<User> {
|
49
|
-
return await getRepository(User).
|
48
|
+
return await getRepository(User).findOneBy({ id: dataArchive.updaterId })
|
50
49
|
}
|
51
50
|
|
52
51
|
@FieldResolver(type => User)
|
53
52
|
async creator(@Root() dataArchive: DataArchive): Promise<User> {
|
54
|
-
return await getRepository(User).
|
53
|
+
return await getRepository(User).findOneBy({ id: dataArchive.creatorId })
|
55
54
|
}
|
56
55
|
}
|
@@ -1,16 +1,19 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
|
2
|
+
import { In } from 'typeorm'
|
3
3
|
|
4
4
|
import { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'
|
5
5
|
|
6
6
|
import { DataKeySet } from './data-key-set'
|
7
|
-
import {
|
7
|
+
import { DataKeySetPatch, NewDataKeySet } from './data-key-set-type'
|
8
8
|
|
9
9
|
@Resolver(DataKeySet)
|
10
10
|
export class DataKeySetMutation {
|
11
11
|
@Directive('@transaction')
|
12
12
|
@Mutation(returns => DataKeySet, { description: 'To create new DataKeySet' })
|
13
|
-
async createDataKeySet(
|
13
|
+
async createDataKeySet(
|
14
|
+
@Arg('dataKeySet') dataKeySet: NewDataKeySet,
|
15
|
+
@Ctx() context: ResolverContext
|
16
|
+
): Promise<DataKeySet> {
|
14
17
|
const { domain, user, tx } = context.state
|
15
18
|
|
16
19
|
const result = await tx.getRepository(DataKeySet).save({
|
@@ -42,13 +45,13 @@ export class DataKeySetMutation {
|
|
42
45
|
async updateDataKeySet(
|
43
46
|
@Arg('id') id: string,
|
44
47
|
@Arg('patch') patch: DataKeySetPatch,
|
45
|
-
@Ctx() context:
|
48
|
+
@Ctx() context: ResolverContext
|
46
49
|
): Promise<DataKeySet> {
|
47
50
|
const { domain, user, tx } = context.state
|
48
51
|
|
49
52
|
const repository = tx.getRepository(DataKeySet)
|
50
53
|
const dataKeySet = await repository.findOne({
|
51
|
-
where: { domain, id }
|
54
|
+
where: { domain: { id: domain.id }, id }
|
52
55
|
})
|
53
56
|
|
54
57
|
const result = await repository.save({
|
@@ -79,7 +82,7 @@ export class DataKeySetMutation {
|
|
79
82
|
@Mutation(returns => [DataKeySet], { description: "To modify multiple DataKeySets' information" })
|
80
83
|
async updateMultipleDataKeySet(
|
81
84
|
@Arg('patches', type => [DataKeySetPatch]) patches: DataKeySetPatch[],
|
82
|
-
@Ctx() context:
|
85
|
+
@Ctx() context: ResolverContext
|
83
86
|
): Promise<DataKeySet[]> {
|
84
87
|
const { domain, user, tx } = context.state
|
85
88
|
|
@@ -120,7 +123,7 @@ export class DataKeySetMutation {
|
|
120
123
|
if (_updateRecords.length > 0) {
|
121
124
|
for (let i = 0; i < _updateRecords.length; i++) {
|
122
125
|
const updateRecord = _updateRecords[i]
|
123
|
-
const dataKeySet = await dataKeySetRepo.
|
126
|
+
const dataKeySet = await dataKeySetRepo.findOneBy({ id: updateRecord.id })
|
124
127
|
|
125
128
|
const result = await dataKeySetRepo.save({
|
126
129
|
...dataKeySet,
|
@@ -152,10 +155,10 @@ export class DataKeySetMutation {
|
|
152
155
|
|
153
156
|
@Directive('@transaction')
|
154
157
|
@Mutation(returns => Boolean, { description: 'To delete DataKeySet' })
|
155
|
-
async deleteDataKeySet(@Arg('id') id: string, @Ctx() context:
|
158
|
+
async deleteDataKeySet(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
156
159
|
const { domain, tx } = context.state
|
157
160
|
|
158
|
-
await tx.getRepository(DataKeySet).delete({ domain, id })
|
161
|
+
await tx.getRepository(DataKeySet).delete({ domain: { id: domain.id }, id })
|
159
162
|
await deleteAttachmentsByRef(null, { refBys: [id] }, context)
|
160
163
|
|
161
164
|
return true
|
@@ -165,12 +168,12 @@ export class DataKeySetMutation {
|
|
165
168
|
@Mutation(returns => Boolean, { description: 'To delete multiple DataKeySets' })
|
166
169
|
async deleteDataKeySets(
|
167
170
|
@Arg('ids', type => [String]) ids: string[],
|
168
|
-
@Ctx() context:
|
171
|
+
@Ctx() context: ResolverContext
|
169
172
|
): Promise<boolean> {
|
170
173
|
const { domain, tx } = context.state
|
171
174
|
|
172
175
|
await tx.getRepository(DataKeySet).delete({
|
173
|
-
domain,
|
176
|
+
domain: { id: domain.id },
|
174
177
|
id: In(ids)
|
175
178
|
})
|
176
179
|
|
@@ -183,7 +186,7 @@ export class DataKeySetMutation {
|
|
183
186
|
@Mutation(returns => Boolean, { description: 'To import multiple DataKeySets' })
|
184
187
|
async importDataKeySets(
|
185
188
|
@Arg('dataKeySets', type => [DataKeySetPatch]) dataKeySets: DataKeySetPatch[],
|
186
|
-
@Ctx() context:
|
189
|
+
@Ctx() context: ResolverContext
|
187
190
|
): Promise<boolean> {
|
188
191
|
const { domain, tx } = context.state
|
189
192
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
2
|
-
import { getRepository } from 'typeorm'
|
3
2
|
|
4
3
|
import { Attachment } from '@things-factory/attachment-base'
|
5
4
|
import { User } from '@things-factory/auth-base'
|
6
|
-
import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
|
5
|
+
import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
|
7
6
|
|
8
7
|
import { DataKeySet } from './data-key-set'
|
9
8
|
import { DataKeySetList } from './data-key-set-type'
|
@@ -11,16 +10,16 @@ import { DataKeySetList } from './data-key-set-type'
|
|
11
10
|
@Resolver(DataKeySet)
|
12
11
|
export class DataKeySetQuery {
|
13
12
|
@Query(returns => DataKeySet!, { nullable: true, description: 'To fetch a DataKeySet' })
|
14
|
-
async dataKeySet(@Arg('id') id: string, @Ctx() context:
|
13
|
+
async dataKeySet(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataKeySet> {
|
15
14
|
const { domain } = context.state
|
16
15
|
|
17
16
|
return await getRepository(DataKeySet).findOne({
|
18
|
-
where: { domain, id }
|
17
|
+
where: { domain: { id: domain.id }, id }
|
19
18
|
})
|
20
19
|
}
|
21
20
|
|
22
21
|
@Query(returns => DataKeySetList, { description: 'To fetch multiple DataKeySets' })
|
23
|
-
async dataKeySets(@Args() params: ListParam, @Ctx() context:
|
22
|
+
async dataKeySets(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataKeySetList> {
|
24
23
|
const { domain } = context.state
|
25
24
|
|
26
25
|
const queryBuilder = getQueryBuilderFromListParams({
|
@@ -39,7 +38,7 @@ export class DataKeySetQuery {
|
|
39
38
|
async thumbnail(@Root() dataKeySet: DataKeySet): Promise<string | undefined> {
|
40
39
|
const attachment: Attachment = await getRepository(Attachment).findOne({
|
41
40
|
where: {
|
42
|
-
domain: dataKeySet.domainId,
|
41
|
+
domain: { id: dataKeySet.domainId },
|
43
42
|
refType: DataKeySet.name,
|
44
43
|
refBy: dataKeySet.id
|
45
44
|
}
|
@@ -50,16 +49,16 @@ export class DataKeySetQuery {
|
|
50
49
|
|
51
50
|
@FieldResolver(type => Domain)
|
52
51
|
async domain(@Root() dataKeySet: DataKeySet): Promise<Domain> {
|
53
|
-
return await getRepository(Domain).
|
52
|
+
return await getRepository(Domain).findOneBy({ id: dataKeySet.domainId })
|
54
53
|
}
|
55
54
|
|
56
55
|
@FieldResolver(type => User)
|
57
56
|
async updater(@Root() dataKeySet: DataKeySet): Promise<User> {
|
58
|
-
return await getRepository(User).
|
57
|
+
return await getRepository(User).findOneBy({ id: dataKeySet.updaterId })
|
59
58
|
}
|
60
59
|
|
61
60
|
@FieldResolver(type => User)
|
62
61
|
async creator(@Root() dataKeySet: DataKeySet): Promise<User> {
|
63
|
-
return await getRepository(User).
|
62
|
+
return await getRepository(User).findOneBy({ id: dataKeySet.creatorId })
|
64
63
|
}
|
65
64
|
}
|
@@ -8,7 +8,7 @@ export class DataOocMutation {
|
|
8
8
|
@Directive('@privilege(category: "data-ooc", privilege: "mutation", domainOwnerGranted: true)')
|
9
9
|
@Directive('@transaction')
|
10
10
|
@Mutation(returns => DataOoc, { description: 'To create new DataOoc' })
|
11
|
-
async createDataOoc(@Arg('dataOoc') dataOoc: NewDataOoc, @Ctx() context:
|
11
|
+
async createDataOoc(@Arg('dataOoc') dataOoc: NewDataOoc, @Ctx() context: ResolverContext): Promise<DataOoc> {
|
12
12
|
const { domain, user, tx } = context.state
|
13
13
|
|
14
14
|
const state = dataOoc.state || DataOocStatus.CREATED
|
@@ -36,12 +36,16 @@ export class DataOocMutation {
|
|
36
36
|
@Directive('@privilege(category: "data-ooc", privilege: "mutation", domainOwnerGranted: true)')
|
37
37
|
@Directive('@transaction')
|
38
38
|
@Mutation(returns => DataOoc, { description: 'To modify DataOoc information' })
|
39
|
-
async updateDataOoc(
|
39
|
+
async updateDataOoc(
|
40
|
+
@Arg('id') id: string,
|
41
|
+
@Arg('patch') patch: DataOocPatch,
|
42
|
+
@Ctx() context: ResolverContext
|
43
|
+
): Promise<DataOoc> {
|
40
44
|
const { domain, user, tx } = context.state
|
41
45
|
|
42
46
|
const repository = tx.getRepository(DataOoc)
|
43
47
|
const dataOoc = await repository.findOne({
|
44
|
-
where: { domain, id }
|
48
|
+
where: { domain: { id: domain.id }, id }
|
45
49
|
})
|
46
50
|
|
47
51
|
const state = patch.state || dataOoc.state
|
@@ -82,7 +86,7 @@ export class DataOocMutation {
|
|
82
86
|
// @Mutation(returns => [DataOoc], { description: "To modify multiple DataOoc' information" })
|
83
87
|
// async updateMultipleDataOoc(
|
84
88
|
// @Arg('patches', type => [DataOocPatch]) patches: DataOocPatch[],
|
85
|
-
// @Ctx() context:
|
89
|
+
// @Ctx() context: ResolverContext
|
86
90
|
// ): Promise<DataOoc[]> {
|
87
91
|
// const { domain, user, tx } = context.state
|
88
92
|
|
@@ -109,7 +113,7 @@ export class DataOocMutation {
|
|
109
113
|
// if (_updateRecords.length > 0) {
|
110
114
|
// for (let i = 0; i < _updateRecords.length; i++) {
|
111
115
|
// const newRecord = _updateRecords[i]
|
112
|
-
// const dataOoc = await dataOocRepo.
|
116
|
+
// const dataOoc = await dataOocRepo.findOneBy({id: newRecord.id})
|
113
117
|
|
114
118
|
// const result = await dataOocRepo.save({
|
115
119
|
// ...dataOoc,
|
@@ -127,17 +131,17 @@ export class DataOocMutation {
|
|
127
131
|
// @Directive('@privilege(category: "data-ooc", privilege: "mutation", domainOwnerGranted: true)')
|
128
132
|
// @Directive('@transaction')
|
129
133
|
// @Mutation(returns => Boolean, { description: 'To delete DataOoc' })
|
130
|
-
// async deleteDataOoc(@Arg('id') id: string, @Ctx() context:
|
134
|
+
// async deleteDataOoc(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
131
135
|
// const { domain, tx } = context.state
|
132
136
|
|
133
|
-
// await tx.getRepository(DataOoc).delete({ domain, id })
|
137
|
+
// await tx.getRepository(DataOoc).delete({ domain: { id: domain.id }, id })
|
134
138
|
// return true
|
135
139
|
// }
|
136
140
|
|
137
141
|
// @Directive('@privilege(category: "data-ooc", privilege: "mutation", domainOwnerGranted: true)')
|
138
142
|
// @Directive('@transaction')
|
139
143
|
// @Mutation(returns => Boolean, { description: 'To delete multiple dataOocs' })
|
140
|
-
// async deleteDataOocs(@Arg('ids', type => [String]) ids: string[], @Ctx() context:
|
144
|
+
// async deleteDataOocs(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {
|
141
145
|
// const { domain, tx } = context.state
|
142
146
|
|
143
147
|
// await tx.getRepository(DataOoc).delete({
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
2
|
-
import { getRepository } from 'typeorm'
|
3
2
|
|
4
3
|
import { User } from '@things-factory/auth-base'
|
5
|
-
import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
|
4
|
+
import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
|
6
5
|
|
7
6
|
import { DataSetHistory } from '../data-set-history/data-set-history'
|
8
7
|
import { DataItem } from '../data-set/data-item-type'
|
@@ -14,17 +13,17 @@ import { DataOocList } from './data-ooc-type'
|
|
14
13
|
export class DataOocQuery {
|
15
14
|
@Directive('@privilege(category: "data-ooc", privilege: "query", domainOwnerGranted: true)')
|
16
15
|
@Query(returns => DataOoc, { description: 'To fetch a DataOoc' })
|
17
|
-
async dataOoc(@Arg('id') id: string, @Ctx() context:
|
16
|
+
async dataOoc(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataOoc> {
|
18
17
|
const { domain } = context.state
|
19
18
|
|
20
19
|
return await getRepository(DataOoc).findOne({
|
21
|
-
where: { domain, id }
|
20
|
+
where: { domain: { id: domain.id }, id }
|
22
21
|
})
|
23
22
|
}
|
24
23
|
|
25
24
|
@Directive('@privilege(category: "data-ooc", privilege: "query", domainOwnerGranted: true)')
|
26
25
|
@Query(returns => DataOocList, { description: 'To fetch multiple DataOoc' })
|
27
|
-
async dataOocs(@Args() params: ListParam, @Ctx() context:
|
26
|
+
async dataOocs(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataOocList> {
|
28
27
|
const { domain } = context.state
|
29
28
|
|
30
29
|
const queryBuilder = getQueryBuilderFromListParams({
|
@@ -52,23 +51,23 @@ export class DataOocQuery {
|
|
52
51
|
|
53
52
|
@FieldResolver(type => DataSet)
|
54
53
|
async dataSet(@Root() dataOoc: DataOoc): Promise<DataSet> {
|
55
|
-
return await getRepository(DataSet).
|
54
|
+
return await getRepository(DataSet).findOneBy({
|
56
55
|
id: dataOoc.dataSetId
|
57
56
|
})
|
58
57
|
}
|
59
58
|
|
60
59
|
@FieldResolver(type => Domain)
|
61
60
|
async domain(@Root() dataOoc: DataOoc): Promise<Domain> {
|
62
|
-
return await getRepository(Domain).
|
61
|
+
return await getRepository(Domain).findOneBy({ id: dataOoc.domainId })
|
63
62
|
}
|
64
63
|
|
65
64
|
@FieldResolver(type => User)
|
66
65
|
async updater(@Root() dataOoc: DataOoc): Promise<User> {
|
67
|
-
return await getRepository(User).
|
66
|
+
return await getRepository(User).findOneBy({ id: dataOoc.updaterId })
|
68
67
|
}
|
69
68
|
|
70
69
|
@FieldResolver(type => User)
|
71
70
|
async creator(@Root() dataOoc: DataOoc): Promise<User> {
|
72
|
-
return await getRepository(User).
|
71
|
+
return await getRepository(User).findOneBy({ id: dataOoc.creatorId })
|
73
72
|
}
|
74
73
|
}
|
@@ -1,9 +1,8 @@
|
|
1
1
|
import { withFilter } from 'graphql-subscriptions'
|
2
2
|
import { Resolver, Root, Subscription } from 'type-graphql'
|
3
|
-
import { getRepository } from 'typeorm'
|
4
3
|
|
5
4
|
import { User } from '@things-factory/auth-base'
|
6
|
-
import { pubsub } from '@things-factory/shell'
|
5
|
+
import { getRepository, pubsub } from '@things-factory/shell'
|
7
6
|
|
8
7
|
import { DataOoc } from './data-ooc'
|
9
8
|
|
@@ -9,7 +9,10 @@ export class DataSampleMutation {
|
|
9
9
|
@Directive('@privilege(category: "data-sample", privilege: "mutation", domainOwnerGranted: true)')
|
10
10
|
@Directive('@transaction')
|
11
11
|
@Mutation(returns => DataSample, { description: 'To create new data sample' })
|
12
|
-
async createDataSample(
|
12
|
+
async createDataSample(
|
13
|
+
@Arg('dataSample') dataSample: NewDataSample,
|
14
|
+
@Ctx() context: ResolverContext
|
15
|
+
): Promise<DataSample> {
|
13
16
|
return await createDataSample(dataSample, context)
|
14
17
|
}
|
15
18
|
}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
2
|
-
import { getRepository } from 'typeorm'
|
3
2
|
|
4
3
|
import { User } from '@things-factory/auth-base'
|
5
|
-
import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
|
4
|
+
import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
|
6
5
|
|
7
6
|
import { DataKeySet } from '../data-key-set/data-key-set'
|
8
7
|
import { DataSetHistory } from '../data-set-history/data-set-history'
|
@@ -15,17 +14,17 @@ import { DataSampleList } from './data-sample-type'
|
|
15
14
|
export class DataSampleQuery {
|
16
15
|
@Directive('@privilege(category: "data-sample", privilege: "query", domainOwnerGranted: true)')
|
17
16
|
@Query(returns => DataSample, { description: 'To fetch a data sample' })
|
18
|
-
async dataSample(@Arg('id') id: string, @Ctx() context:
|
17
|
+
async dataSample(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataSample> {
|
19
18
|
const { domain } = context.state
|
20
19
|
|
21
20
|
return await getRepository(DataSample).findOne({
|
22
|
-
where: { domain, id }
|
21
|
+
where: { domain: { id: domain.id }, id }
|
23
22
|
})
|
24
23
|
}
|
25
24
|
|
26
25
|
@Directive('@privilege(category: "data-sample", privilege: "query", domainOwnerGranted: true)')
|
27
26
|
@Query(returns => DataSampleList, { description: 'To fetch multiple data samples' })
|
28
|
-
async dataSamples(@Args() params: ListParam, @Ctx() context:
|
27
|
+
async dataSamples(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataSampleList> {
|
29
28
|
const { domain } = context.state
|
30
29
|
|
31
30
|
const queryBuilder = getQueryBuilderFromListParams({
|
@@ -45,11 +44,11 @@ export class DataSampleQuery {
|
|
45
44
|
async dataSamplesByDataKeySet(
|
46
45
|
@Arg('dataKeySetId') dataKeySetId: string,
|
47
46
|
@Args() params: ListParam,
|
48
|
-
@Ctx() context:
|
47
|
+
@Ctx() context: ResolverContext
|
49
48
|
): Promise<DataSampleList> {
|
50
49
|
const { domain } = context.state
|
51
50
|
|
52
|
-
const dataKeySet = await getRepository(DataKeySet).
|
51
|
+
const dataKeySet = await getRepository(DataKeySet).findOneBy({ id: dataKeySetId })
|
53
52
|
const dataKeyItems = dataKeySet?.dataKeyItems || []
|
54
53
|
const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)
|
55
54
|
|
@@ -81,21 +80,21 @@ export class DataSampleQuery {
|
|
81
80
|
|
82
81
|
@FieldResolver(type => DataSet)
|
83
82
|
async dataSet(@Root() dataSample: DataSample): Promise<DataSet> {
|
84
|
-
return await getRepository(DataSet).
|
83
|
+
return await getRepository(DataSet).findOneBy({ id: dataSample.dataSetId })
|
85
84
|
}
|
86
85
|
|
87
86
|
@FieldResolver(type => Domain)
|
88
87
|
async domain(@Root() dataSample: DataSample): Promise<Domain> {
|
89
|
-
return await getRepository(Domain).
|
88
|
+
return await getRepository(Domain).findOneBy({ id: dataSample.domainId })
|
90
89
|
}
|
91
90
|
|
92
91
|
@FieldResolver(type => User)
|
93
92
|
async updater(@Root() dataSample: DataSample): Promise<User> {
|
94
|
-
return await getRepository(User).
|
93
|
+
return await getRepository(User).findOneBy({ id: dataSample.updaterId })
|
95
94
|
}
|
96
95
|
|
97
96
|
@FieldResolver(type => User)
|
98
97
|
async creator(@Root() dataSample: DataSample): Promise<User> {
|
99
|
-
return await getRepository(User).
|
98
|
+
return await getRepository(User).findOneBy({ id: dataSample.creatorId })
|
100
99
|
}
|
101
100
|
}
|