@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.
Files changed (76) hide show
  1. package/client/pages/data-archive/data-archive-request-popup.js +10 -15
  2. package/client/pages/data-key-set/data-key-set-importer.js +4 -6
  3. package/client/pages/data-set/data-set-importer.js +1 -1
  4. package/dist-server/service/data-archive/data-archive-mutation.js +6 -6
  5. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
  6. package/dist-server/service/data-archive/data-archive-query.js +7 -9
  7. package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
  8. package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
  9. package/dist-server/service/data-archive/data-archive.js +3 -4
  10. package/dist-server/service/data-archive/data-archive.js.map +1 -1
  11. package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -1
  12. package/dist-server/service/data-key-set/data-key-set-mutation.js +4 -4
  13. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  14. package/dist-server/service/data-key-set/data-key-set-query.js +9 -11
  15. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  16. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
  17. package/dist-server/service/data-key-set/data-key-set.js +3 -4
  18. package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
  19. package/dist-server/service/data-ooc/data-ooc-mutation.js +1 -1
  20. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  21. package/dist-server/service/data-ooc/data-ooc-query.js +9 -11
  22. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  23. package/dist-server/service/data-ooc/data-ooc-subscription.js +1 -2
  24. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  25. package/dist-server/service/data-ooc/data-ooc-type.js +2 -3
  26. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  27. package/dist-server/service/data-ooc/data-ooc.js +4 -5
  28. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  29. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  30. package/dist-server/service/data-sample/data-sample-query.js +12 -14
  31. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  32. package/dist-server/service/data-sample/data-sample-type.js +1 -2
  33. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  34. package/dist-server/service/data-sample/data-sample.js +3 -4
  35. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  36. package/dist-server/service/data-sensor/data-sensor-mutation.js +4 -4
  37. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  38. package/dist-server/service/data-sensor/data-sensor-query.js +9 -11
  39. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  40. package/dist-server/service/data-sensor/data-sensor-type.js +4 -5
  41. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  42. package/dist-server/service/data-sensor/data-sensor.js +4 -5
  43. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  44. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  45. package/dist-server/service/data-set/data-set-mutation.js +6 -5
  46. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  47. package/dist-server/service/data-set/data-set-query.js +24 -26
  48. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  49. package/dist-server/service/data-set/data-set-type.js +6 -7
  50. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  51. package/dist-server/service/data-set/data-set.js +5 -6
  52. package/dist-server/service/data-set/data-set.js.map +1 -1
  53. package/dist-server/service/data-set-history/data-set-history-query.js +14 -16
  54. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  55. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
  56. package/dist-server/service/data-set-history/data-set-history.js +5 -6
  57. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  58. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
  59. package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
  60. package/dist-server/service/data-spec/data-spec.js.map +1 -1
  61. package/dist-server/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +9 -9
  63. package/server/service/data-archive/data-archive-mutation.ts +53 -24
  64. package/server/service/data-archive/data-archive-query.ts +7 -8
  65. package/server/service/data-key-set/data-key-set-mutation.ts +16 -13
  66. package/server/service/data-key-set/data-key-set-query.ts +8 -9
  67. package/server/service/data-ooc/data-ooc-mutation.ts +12 -8
  68. package/server/service/data-ooc/data-ooc-query.ts +8 -9
  69. package/server/service/data-ooc/data-ooc-subscription.ts +1 -2
  70. package/server/service/data-sample/data-sample-mutation.ts +4 -1
  71. package/server/service/data-sample/data-sample-query.ts +10 -11
  72. package/server/service/data-sensor/data-sensor-mutation.ts +15 -9
  73. package/server/service/data-sensor/data-sensor-query.ts +9 -10
  74. package/server/service/data-set/data-set-mutation.ts +17 -12
  75. package/server/service/data-set/data-set-query.ts +18 -19
  76. 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": "5.0.16",
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": "^5.0.15",
38
- "@things-factory/aws-base": "^5.0.15",
39
- "@things-factory/board-service": "^5.0.15",
40
- "@things-factory/env": "^5.0.0",
41
- "@things-factory/shell": "^5.0.15",
42
- "@things-factory/work-shift": "^5.0.15",
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": "5abf91bd3004098a71b1cca6f155281188da0006"
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(@Arg('patch') patch: DataArchivePatch, @Ctx() context: any): Promise<DataArchive> {
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 { dataset: { endpoint, datasource: { database } }} = config.get('dataArchive')
28
-
29
- const body = JSON.stringify({
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(@Arg('dataArchive') dataArchive: NewDataArchive, @Ctx() context: any): Promise<DataArchive> {
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(@Arg('id') id: string, @Arg('patch') patch: DataArchivePatch, @Ctx() context: any): Promise<DataArchive> {
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: any): Promise<boolean> {
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(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {
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: any
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(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<DataArchive[]> {
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: any): Promise<DataArchive> {
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: any): Promise<DataArchiveList> {
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).findOne(dataArchive.domainId)
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).findOne(dataArchive.updaterId)
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).findOne(dataArchive.creatorId)
53
+ return await getRepository(User).findOneBy({ id: dataArchive.creatorId })
55
54
  }
56
55
  }
@@ -1,16 +1,19 @@
1
- import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
2
- import { getRepository, In } from 'typeorm'
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 { NewDataKeySet, DataKeySetPatch } from './data-key-set-type'
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(@Arg('dataKeySet') dataKeySet: NewDataKeySet, @Ctx() context: any): Promise<DataKeySet> {
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: any
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: any
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.findOne(updateRecord.id)
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: any): Promise<boolean> {
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: any
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: any
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: any): Promise<DataKeySet> {
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: any): Promise<DataKeySetList> {
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).findOne(dataKeySet.domainId)
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).findOne(dataKeySet.updaterId)
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).findOne(dataKeySet.creatorId)
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: any): Promise<DataOoc> {
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(@Arg('id') id: string, @Arg('patch') patch: DataOocPatch, @Ctx() context: any): Promise<DataOoc> {
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: any
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.findOne(newRecord.id)
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: any): Promise<boolean> {
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: any): Promise<boolean> {
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: any): Promise<DataOoc> {
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: any): Promise<DataOocList> {
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).findOne({
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).findOne(dataOoc.domainId)
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).findOne(dataOoc.updaterId)
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).findOne(dataOoc.creatorId)
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(@Arg('dataSample') dataSample: NewDataSample, @Ctx() context: any): Promise<DataSample> {
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: any): Promise<DataSample> {
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: any): Promise<DataSampleList> {
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: any
47
+ @Ctx() context: ResolverContext
49
48
  ): Promise<DataSampleList> {
50
49
  const { domain } = context.state
51
50
 
52
- const dataKeySet = await getRepository(DataKeySet).findOne(dataKeySetId)
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).findOne(dataSample.dataSetId)
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).findOne(dataSample.domainId)
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).findOne(dataSample.updaterId)
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).findOne(dataSample.creatorId)
98
+ return await getRepository(User).findOneBy({ id: dataSample.creatorId })
100
99
  }
101
100
  }