@things-factory/dataset 6.0.115 → 6.0.118
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-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/create-data-sample.js +2 -1
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/controllers/generate-data-summary.js +7 -5
- package/dist-server/controllers/generate-data-summary.js.map +1 -1
- package/dist-server/controllers/query-data-summary-by-period.js +2 -1
- package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
- package/dist-server/routes.js +7 -2
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +8 -9
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +10 -8
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-query.js +2 -2
- package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +1 -1
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-summary/data-summary-query.js +5 -8
- package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/server/controllers/create-data-sample.ts +2 -1
- package/server/controllers/generate-data-summary.ts +8 -5
- package/server/controllers/query-data-summary-by-period.ts +2 -2
- package/server/routes.ts +8 -2
- package/server/service/data-ooc/data-ooc-query.ts +9 -9
- package/server/service/data-sample/data-sample-query.ts +12 -8
- package/server/service/data-sensor/data-sensor-query.ts +2 -2
- package/server/service/data-set/data-set-mutation.ts +1 -1
- package/server/service/data-summary/data-summary-query.ts +5 -8
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/dataset",
|
3
|
-
"version": "6.0.
|
3
|
+
"version": "6.0.118",
|
4
4
|
"main": "dist-server/index.js",
|
5
5
|
"browser": "dist-client/index.js",
|
6
6
|
"things-factory": true,
|
@@ -36,19 +36,19 @@
|
|
36
36
|
"@operato/shell": "^1.0.1",
|
37
37
|
"@operato/styles": "^1.0.0",
|
38
38
|
"@operato/utils": "^1.0.1",
|
39
|
-
"@things-factory/auth-base": "^6.0.
|
40
|
-
"@things-factory/aws-base": "^6.0.
|
41
|
-
"@things-factory/board-service": "^6.0.
|
39
|
+
"@things-factory/auth-base": "^6.0.118",
|
40
|
+
"@things-factory/aws-base": "^6.0.118",
|
41
|
+
"@things-factory/board-service": "^6.0.118",
|
42
42
|
"@things-factory/env": "^6.0.101",
|
43
|
-
"@things-factory/organization": "^6.0.
|
44
|
-
"@things-factory/scheduler-client": "^6.0.
|
45
|
-
"@things-factory/shell": "^6.0.
|
46
|
-
"@things-factory/work-shift": "^6.0.
|
47
|
-
"@things-factory/worklist": "^6.0.
|
43
|
+
"@things-factory/organization": "^6.0.118",
|
44
|
+
"@things-factory/scheduler-client": "^6.0.118",
|
45
|
+
"@things-factory/shell": "^6.0.118",
|
46
|
+
"@things-factory/work-shift": "^6.0.118",
|
47
|
+
"@things-factory/worklist": "^6.0.118",
|
48
48
|
"cron-parser": "^4.3.0",
|
49
49
|
"moment-timezone": "^0.5.40",
|
50
50
|
"simple-statistics": "^7.8.3",
|
51
51
|
"statistics": "^3.3.0"
|
52
52
|
},
|
53
|
-
"gitHead": "
|
53
|
+
"gitHead": "1e7ddc3436e494f42a9428443e834b221c7256bb"
|
54
54
|
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import moment from 'moment-timezone'
|
2
|
+
import { In } from 'typeorm'
|
2
3
|
|
3
4
|
import { Role } from '@things-factory/auth-base'
|
4
5
|
import { getRedirectSubdomainPath, pubsub } from '@things-factory/shell'
|
@@ -57,7 +58,7 @@ export async function createDataSample(dataSample: NewDataSample, context: Resol
|
|
57
58
|
const { domain, user, tx } = context.state
|
58
59
|
|
59
60
|
const dataSet = await tx.getRepository(DataSet).findOne({
|
60
|
-
where: { domain: { id: domain.id }, id: dataSample.dataSet.id },
|
61
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSample.dataSet.id },
|
61
62
|
relations: ['dataKeySet']
|
62
63
|
})
|
63
64
|
|
@@ -2,6 +2,7 @@ const statistics = require('simple-statistics')
|
|
2
2
|
const deepClone = require('lodash/cloneDeep')
|
3
3
|
|
4
4
|
import moment from 'moment-timezone'
|
5
|
+
import { In } from 'typeorm'
|
5
6
|
|
6
7
|
import { Sorting, getQueryBuilderFromListParams } from '@things-factory/shell'
|
7
8
|
import { logger } from '@things-factory/env'
|
@@ -183,7 +184,7 @@ export async function generateLatestDataSummaries(dataSetId: string, context: Re
|
|
183
184
|
|
184
185
|
try {
|
185
186
|
const dataSet = await tx.getRepository(DataSet).findOne({
|
186
|
-
where: { domain: { id: domain.id }, id: dataSetId },
|
187
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId },
|
187
188
|
relations: ['dataKeySet']
|
188
189
|
})
|
189
190
|
|
@@ -291,10 +292,12 @@ export async function generateDataSummary(
|
|
291
292
|
const { domain, user, tx } = context.state
|
292
293
|
|
293
294
|
try {
|
294
|
-
const dataSet =
|
295
|
-
|
296
|
-
|
297
|
-
|
295
|
+
const dataSet =
|
296
|
+
dataSetId &&
|
297
|
+
(await tx.getRepository(DataSet).findOne({
|
298
|
+
where: { domain: In([domain.id, domain.parentId].filter(Boolean)), id: dataSetId },
|
299
|
+
relations: ['dataKeySet']
|
300
|
+
}))
|
298
301
|
|
299
302
|
const dataKeyItems = dataSet.dataKeySet?.dataKeyItems || []
|
300
303
|
const dataItems = dataSet.dataItems.filter(item => item.stat)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import moment from 'moment-timezone'
|
2
|
+
import { In } from 'typeorm'
|
2
3
|
|
3
4
|
import { getQueryBuilderFromListParams, getRepository, ListParam, Sorting } from '@things-factory/shell'
|
4
5
|
|
5
6
|
import { DataSet, DataSetSummaryPeriodType } from '../service/data-set/data-set'
|
6
|
-
|
7
7
|
import { DataSummary } from '../service/data-summary/data-summary'
|
8
8
|
|
9
9
|
const STAT_FUNCTION_MAP = {
|
@@ -63,7 +63,7 @@ export async function queryDataSummaryByPeriod(
|
|
63
63
|
const { domain, user, tx } = context.state
|
64
64
|
|
65
65
|
const dataSet = await getRepository(DataSet).findOne({
|
66
|
-
where: { domain: { id: domain.id }, name: dataSetName },
|
66
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name: dataSetName },
|
67
67
|
relations: ['dataKeySet']
|
68
68
|
})
|
69
69
|
|
package/server/routes.ts
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
import { In } from 'typeorm'
|
2
|
+
|
1
3
|
import { Domain, getDataSource } from '@things-factory/shell'
|
2
4
|
import { User } from '@things-factory/auth-base'
|
3
5
|
import { Activity } from '@things-factory/worklist'
|
@@ -100,7 +102,9 @@ process.on('bootstrap-module-global-public-route' as any, (app, globalPublicRout
|
|
100
102
|
throw new Error(`domain(${domainId}) not found`)
|
101
103
|
}
|
102
104
|
|
103
|
-
const dataSet = await tx
|
105
|
+
const dataSet = await tx
|
106
|
+
.getRepository(DataSet)
|
107
|
+
.findOne({ where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } })
|
104
108
|
|
105
109
|
const activity = (await tx.getRepository(Activity).findOneBy({
|
106
110
|
domain: { id: domainId },
|
@@ -165,7 +169,9 @@ process.on('bootstrap-module-global-public-route' as any, (app, globalPublicRout
|
|
165
169
|
throw new Error(`domain(${domainId}) not found`)
|
166
170
|
}
|
167
171
|
|
168
|
-
const dataSet = await tx
|
172
|
+
const dataSet = await tx
|
173
|
+
.getRepository(DataSet)
|
174
|
+
.findOne({ where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId } })
|
169
175
|
|
170
176
|
// do what you gotta do
|
171
177
|
})
|
@@ -40,20 +40,20 @@ export class DataOocQuery {
|
|
40
40
|
|
41
41
|
@FieldResolver(type => [DataItem])
|
42
42
|
async dataItems(@Root() dataOoc: DataOoc): Promise<DataItem[]> {
|
43
|
-
const dataSetHistory: DataSetHistory =
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
43
|
+
const dataSetHistory: DataSetHistory =
|
44
|
+
dataOoc.dataSetId &&
|
45
|
+
(await getRepository(DataSetHistory).findOne({
|
46
|
+
where: {
|
47
|
+
originalId: dataOoc.dataSetId,
|
48
|
+
version: dataOoc.dataSetVersion
|
49
|
+
}
|
50
|
+
}))
|
49
51
|
return dataSetHistory?.dataItems || []
|
50
52
|
}
|
51
53
|
|
52
54
|
@FieldResolver(type => DataSet)
|
53
55
|
async dataSet(@Root() dataOoc: DataOoc): Promise<DataSet> {
|
54
|
-
return await getRepository(DataSet).findOneBy({
|
55
|
-
id: dataOoc.dataSetId
|
56
|
-
})
|
56
|
+
return dataOoc.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataOoc.dataSetId }))
|
57
57
|
}
|
58
58
|
|
59
59
|
@FieldResolver(type => User)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { In } from 'typeorm'
|
1
2
|
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
2
3
|
|
3
4
|
import { User } from '@things-factory/auth-base'
|
@@ -49,7 +50,7 @@ export class DataSampleQuery {
|
|
49
50
|
const { domain } = context.state
|
50
51
|
|
51
52
|
const dataSet = await getRepository(DataSet).findOne({
|
52
|
-
where: { domain: { id: domain.id }, id: dataSetId },
|
53
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId },
|
53
54
|
relations: ['dataKeySet']
|
54
55
|
})
|
55
56
|
|
@@ -105,18 +106,21 @@ export class DataSampleQuery {
|
|
105
106
|
|
106
107
|
@FieldResolver(type => [DataItem])
|
107
108
|
async dataItems(@Root() dataSample: DataSample): Promise<DataItem[]> {
|
108
|
-
const dataSetHistory: DataSetHistory =
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
109
|
+
const dataSetHistory: DataSetHistory =
|
110
|
+
dataSample.dataSetId &&
|
111
|
+
(await getRepository(DataSetHistory).findOne({
|
112
|
+
where: {
|
113
|
+
originalId: dataSample.dataSetId,
|
114
|
+
version: dataSample.dataSetVersion
|
115
|
+
}
|
116
|
+
}))
|
117
|
+
|
114
118
|
return dataSetHistory?.dataItems || []
|
115
119
|
}
|
116
120
|
|
117
121
|
@FieldResolver(type => DataSet)
|
118
122
|
async dataSet(@Root() dataSample: DataSample): Promise<DataSet> {
|
119
|
-
return await getRepository(DataSet).findOneBy({ id: dataSample.dataSetId })
|
123
|
+
return dataSample.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSample.dataSetId }))
|
120
124
|
}
|
121
125
|
|
122
126
|
@FieldResolver(type => Domain)
|
@@ -36,12 +36,12 @@ export class DataSensorQuery {
|
|
36
36
|
|
37
37
|
@FieldResolver(type => Appliance)
|
38
38
|
async appliance(@Root() dataSensor: DataSensor): Promise<Appliance> {
|
39
|
-
return await getRepository(Appliance).findOneBy({ id: dataSensor.applianceId
|
39
|
+
return dataSensor.applianceId && (await getRepository(Appliance).findOneBy({ id: dataSensor.applianceId }))
|
40
40
|
}
|
41
41
|
|
42
42
|
@FieldResolver(type => Appliance)
|
43
43
|
async dataSet(@Root() dataSensor: DataSensor): Promise<DataSet> {
|
44
|
-
return await getRepository(DataSet).findOneBy({ id: dataSensor.dataSetId
|
44
|
+
return dataSensor.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSensor.dataSetId }))
|
45
45
|
}
|
46
46
|
|
47
47
|
@FieldResolver(type => Domain)
|
@@ -281,7 +281,7 @@ export class DataSetMutation {
|
|
281
281
|
const originals = await dataSetRepo.find({
|
282
282
|
where: {
|
283
283
|
id: In(ids),
|
284
|
-
domain: { id: domain.id }
|
284
|
+
domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }
|
285
285
|
},
|
286
286
|
relations: ['domain', 'supervisoryRole', 'entryRole', 'dataKeySet']
|
287
287
|
})
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { In } from 'typeorm'
|
1
2
|
import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
|
2
3
|
import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
|
3
4
|
import { User } from '@things-factory/auth-base'
|
@@ -56,7 +57,7 @@ export class DataSummaryQuery {
|
|
56
57
|
const { domain } = context.state
|
57
58
|
|
58
59
|
const dataSet = await getRepository(DataSet).findOne({
|
59
|
-
where: { domain: { id: domain.id }, name: dataSetName },
|
60
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name: dataSetName },
|
60
61
|
relations: ['dataKeySet']
|
61
62
|
})
|
62
63
|
|
@@ -92,7 +93,7 @@ export class DataSummaryQuery {
|
|
92
93
|
const { domain } = context.state
|
93
94
|
|
94
95
|
const dataSet = await getRepository(DataSet).findOne({
|
95
|
-
where: { domain: { id: domain.id }, id: dataSetId },
|
96
|
+
where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId },
|
96
97
|
relations: ['dataKeySet']
|
97
98
|
})
|
98
99
|
|
@@ -148,18 +149,14 @@ export class DataSummaryQuery {
|
|
148
149
|
|
149
150
|
@FieldResolver(type => [DataItem])
|
150
151
|
async dataItems(@Root() dataSummary: DataSummary): Promise<DataItem[]> {
|
151
|
-
const dataSet = await getRepository(DataSet).
|
152
|
-
where: {
|
153
|
-
id: dataSummary.dataSetId
|
154
|
-
}
|
155
|
-
})
|
152
|
+
const dataSet = dataSummary.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSummary.dataSetId }))
|
156
153
|
|
157
154
|
return dataSet?.dataItems || []
|
158
155
|
}
|
159
156
|
|
160
157
|
@FieldResolver(type => DataSet)
|
161
158
|
async dataSet(@Root() dataSummary: DataSummary): Promise<DataSet> {
|
162
|
-
return await getRepository(DataSet).findOneBy({ id: dataSummary.dataSetId })
|
159
|
+
return dataSummary.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSummary.dataSetId }))
|
163
160
|
}
|
164
161
|
|
165
162
|
@FieldResolver(type => Domain)
|