@things-factory/dataset 8.0.0 → 9.0.0-beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. package/dist-client/activities/activity-data-review-edit.d.ts +5 -1
  2. package/dist-client/activities/activity-data-review-edit.js +143 -5
  3. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  4. package/dist-client/pages/data-entry/data-entry-list-page.js +2 -2
  5. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  6. package/dist-client/tsconfig.tsbuildinfo +1 -1
  7. package/dist-server/activities/activity-data-review.js +18 -5
  8. package/dist-server/activities/activity-data-review.js.map +1 -1
  9. package/dist-server/activities/activity-ooc-review.js +13 -52
  10. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  11. package/dist-server/controllers/create-data-ooc.d.ts +4 -0
  12. package/dist-server/controllers/create-data-ooc.js +65 -0
  13. package/dist-server/controllers/create-data-ooc.js.map +1 -0
  14. package/dist-server/controllers/create-data-sample.js +4 -94
  15. package/dist-server/controllers/create-data-sample.js.map +1 -1
  16. package/dist-server/controllers/index.d.ts +3 -0
  17. package/dist-server/controllers/index.js +3 -0
  18. package/dist-server/controllers/index.js.map +1 -1
  19. package/dist-server/controllers/issue-ooc-resolve.d.ts +3 -0
  20. package/dist-server/controllers/issue-ooc-resolve.js +49 -0
  21. package/dist-server/controllers/issue-ooc-resolve.js.map +1 -0
  22. package/dist-server/controllers/issue-ooc-review.d.ts +3 -0
  23. package/dist-server/controllers/issue-ooc-review.js +47 -0
  24. package/dist-server/controllers/issue-ooc-review.js.map +1 -0
  25. package/dist-server/service/data-sample/data-sample-query.d.ts +1 -1
  26. package/dist-server/service/data-sample/data-sample-query.js +3 -3
  27. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  28. package/dist-server/service/index.d.ts +1 -1
  29. package/dist-server/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +26 -26
  31. package/translations/en.json +3 -0
  32. package/translations/ja.json +3 -0
  33. package/translations/ko.json +3 -0
  34. package/translations/ms.json +3 -0
  35. package/translations/zh.json +3 -0
  36. package/client/activities/activity-data-collect-edit.ts +0 -105
  37. package/client/activities/activity-data-collect-view.ts +0 -91
  38. package/client/activities/activity-data-review-edit.ts +0 -133
  39. package/client/activities/activity-data-review-view.ts +0 -145
  40. package/client/activities/activity-ooc-resolve-edit.ts +0 -195
  41. package/client/activities/activity-ooc-resolve-view.ts +0 -143
  42. package/client/activities/activity-ooc-review-edit.ts +0 -173
  43. package/client/activities/activity-ooc-review-view.ts +0 -129
  44. package/client/bootstrap.ts +0 -35
  45. package/client/components/data-entry-form.ts +0 -109
  46. package/client/index.ts +0 -1
  47. package/client/pages/data-archive/data-archive-list-page.ts +0 -277
  48. package/client/pages/data-archive/data-archive-request-popup.ts +0 -177
  49. package/client/pages/data-entry/data-entry-list-page.ts +0 -464
  50. package/client/pages/data-key-set/data-key-item-list.ts +0 -183
  51. package/client/pages/data-key-set/data-key-set-importer.ts +0 -89
  52. package/client/pages/data-key-set/data-key-set-list-page.ts +0 -413
  53. package/client/pages/data-ooc/data-ooc-list-page.ts +0 -549
  54. package/client/pages/data-ooc/data-ooc-page.ts +0 -164
  55. package/client/pages/data-ooc/data-ooc-view.ts +0 -236
  56. package/client/pages/data-ooc/data-oocs-page.ts +0 -200
  57. package/client/pages/data-report/data-report-embed-page.ts +0 -108
  58. package/client/pages/data-report/data-report-list-page.ts +0 -454
  59. package/client/pages/data-report/data-report-samples-page.ts +0 -174
  60. package/client/pages/data-report/jasper-report-oocs-page.ts +0 -110
  61. package/client/pages/data-report/jasper-report-samples-crosstab-page.ts +0 -110
  62. package/client/pages/data-report/jasper-report-samples-page.ts +0 -110
  63. package/client/pages/data-sample/data-sample-list-page.ts +0 -442
  64. package/client/pages/data-sample/data-sample-page.ts +0 -55
  65. package/client/pages/data-sample/data-sample-search-page.ts +0 -424
  66. package/client/pages/data-sample/data-sample-view.ts +0 -292
  67. package/client/pages/data-sample/data-samples-page.ts +0 -249
  68. package/client/pages/data-sensor/data-sensor-list-page.ts +0 -456
  69. package/client/pages/data-set/data-item-list.ts +0 -304
  70. package/client/pages/data-set/data-set-importer.ts +0 -89
  71. package/client/pages/data-set/data-set-list-page.ts +0 -1078
  72. package/client/pages/data-summary/data-summary-list-page.ts +0 -363
  73. package/client/pages/data-summary/data-summary-period-page.ts +0 -439
  74. package/client/pages/data-summary/data-summary-search-page.ts +0 -426
  75. package/client/pages/data-summary/data-summary-view.ts +0 -133
  76. package/client/route.ts +0 -91
  77. package/client/tsconfig.json +0 -13
  78. package/server/activities/activity-data-collect.ts +0 -100
  79. package/server/activities/activity-data-review.ts +0 -82
  80. package/server/activities/activity-ooc-resolve.ts +0 -123
  81. package/server/activities/activity-ooc-review.ts +0 -144
  82. package/server/activities/index.ts +0 -11
  83. package/server/controllers/create-data-sample.ts +0 -426
  84. package/server/controllers/data-use-case.ts +0 -98
  85. package/server/controllers/finalize-data-collection.ts +0 -388
  86. package/server/controllers/index.ts +0 -3
  87. package/server/controllers/issue-data-collection-task.ts +0 -70
  88. package/server/controllers/jasper-report.ts +0 -186
  89. package/server/controllers/query-data-summary-by-period.ts +0 -178
  90. package/server/controllers/shiny-report.ts +0 -54
  91. package/server/engine/index.ts +0 -1
  92. package/server/engine/task/create-data-sample.ts +0 -100
  93. package/server/engine/task/index.ts +0 -2
  94. package/server/engine/task/issue-collect-data.ts +0 -45
  95. package/server/index.ts +0 -8
  96. package/server/routes.ts +0 -188
  97. package/server/service/data-archive/data-archive-mutation.ts +0 -273
  98. package/server/service/data-archive/data-archive-query.ts +0 -58
  99. package/server/service/data-archive/data-archive-type.ts +0 -48
  100. package/server/service/data-archive/data-archive.ts +0 -69
  101. package/server/service/data-archive/index.ts +0 -6
  102. package/server/service/data-key-set/data-key-item-type.ts +0 -31
  103. package/server/service/data-key-set/data-key-set-mutation.ts +0 -201
  104. package/server/service/data-key-set/data-key-set-query.ts +0 -68
  105. package/server/service/data-key-set/data-key-set-type.ts +0 -70
  106. package/server/service/data-key-set/data-key-set.ts +0 -86
  107. package/server/service/data-key-set/index.ts +0 -6
  108. package/server/service/data-ooc/data-ooc-mutation.ts +0 -154
  109. package/server/service/data-ooc/data-ooc-query.ts +0 -106
  110. package/server/service/data-ooc/data-ooc-subscription.ts +0 -48
  111. package/server/service/data-ooc/data-ooc-type.ts +0 -71
  112. package/server/service/data-ooc/data-ooc.ts +0 -259
  113. package/server/service/data-ooc/index.ts +0 -7
  114. package/server/service/data-sample/data-sample-mutation.ts +0 -18
  115. package/server/service/data-sample/data-sample-query.ts +0 -215
  116. package/server/service/data-sample/data-sample-type.ts +0 -47
  117. package/server/service/data-sample/data-sample.ts +0 -193
  118. package/server/service/data-sample/index.ts +0 -6
  119. package/server/service/data-sensor/data-sensor-mutation.ts +0 -116
  120. package/server/service/data-sensor/data-sensor-query.ts +0 -76
  121. package/server/service/data-sensor/data-sensor-type.ts +0 -104
  122. package/server/service/data-sensor/data-sensor.ts +0 -126
  123. package/server/service/data-sensor/index.ts +0 -6
  124. package/server/service/data-set/data-item-type.ts +0 -155
  125. package/server/service/data-set/data-set-mutation.ts +0 -552
  126. package/server/service/data-set/data-set-query.ts +0 -461
  127. package/server/service/data-set/data-set-type.ts +0 -204
  128. package/server/service/data-set/data-set.ts +0 -326
  129. package/server/service/data-set/index.ts +0 -6
  130. package/server/service/data-set-history/data-set-history-query.ts +0 -126
  131. package/server/service/data-set-history/data-set-history-type.ts +0 -12
  132. package/server/service/data-set-history/data-set-history.ts +0 -217
  133. package/server/service/data-set-history/event-subscriber.ts +0 -17
  134. package/server/service/data-set-history/index.ts +0 -7
  135. package/server/service/data-spec/data-spec-manager.ts +0 -21
  136. package/server/service/data-spec/data-spec-query.ts +0 -21
  137. package/server/service/data-spec/data-spec.ts +0 -45
  138. package/server/service/data-spec/index.ts +0 -5
  139. package/server/service/data-summary/data-summary-mutation.ts +0 -45
  140. package/server/service/data-summary/data-summary-query.ts +0 -179
  141. package/server/service/data-summary/data-summary-type.ts +0 -86
  142. package/server/service/data-summary/data-summary.ts +0 -170
  143. package/server/service/data-summary/index.ts +0 -7
  144. package/server/service/index.ts +0 -57
  145. package/server/tsconfig.json +0 -10
  146. package/server/utils/config-resolver.ts +0 -29
  147. package/server/utils/index.ts +0 -1
@@ -1,7 +0,0 @@
1
- import { DataSetHistory } from './data-set-history'
2
- import { DataSetHistoryQuery } from './data-set-history-query'
3
- import { DataSetHistoryEntitySubscriber } from './event-subscriber'
4
-
5
- export const entities = [DataSetHistory]
6
- export const resolvers = [DataSetHistoryQuery]
7
- export const subscribers = [DataSetHistoryEntitySubscriber]
@@ -1,21 +0,0 @@
1
- import { DataSpec } from './data-spec'
2
-
3
- export class DataSpecManager {
4
- static specRegistry: { [type: string]: DataSpec } = {}
5
-
6
- static getDataSpec(type: string): DataSpec {
7
- return DataSpecManager.specRegistry[type]
8
- }
9
-
10
- static registerDataSpec(type: string, dataSpec: DataSpec) {
11
- DataSpecManager.specRegistry[type] = dataSpec
12
- }
13
-
14
- static unregisterDataSpec(type: string) {
15
- delete DataSpecManager.specRegistry[type]
16
- }
17
-
18
- static getDataSpecs(): DataSpec[] {
19
- return Object.values(DataSpecManager.specRegistry)
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- import { Resolver, Query, Arg } from 'type-graphql'
2
- import { DataSpec, DataSpecList } from './data-spec'
3
- import { DataSpecManager } from './data-spec-manager'
4
-
5
- @Resolver(DataSpec)
6
- export class DataSpecQuery {
7
- @Query(returns => DataSpec, { description: 'To fetch a data-spec' })
8
- dataSpec(@Arg('name') name: string): DataSpec {
9
- return DataSpecManager.getDataSpec(name)
10
- }
11
-
12
- @Query(returns => DataSpecList, { description: 'To fetch all data-specs' })
13
- dataSpecs(): DataSpecList {
14
- const items = DataSpecManager.getDataSpecs()
15
-
16
- return {
17
- items,
18
- total: items.length
19
- }
20
- }
21
- }
@@ -1,45 +0,0 @@
1
- import { Field, Int, ObjectType } from 'type-graphql'
2
-
3
- import { ScalarObject } from '@things-factory/shell'
4
-
5
- @ObjectType()
6
- export class DataSpecItem {
7
- @Field()
8
- type: string
9
-
10
- @Field()
11
- label: string
12
-
13
- @Field()
14
- name: string
15
-
16
- @Field({ nullable: true })
17
- placeholder?: string
18
-
19
- @Field(type => ScalarObject, { nullable: true })
20
- property?: { [key: string]: any }
21
- }
22
-
23
- @ObjectType()
24
- export class DataSpec {
25
- @Field()
26
- name: string
27
-
28
- @Field({ nullable: true })
29
- description: string
30
-
31
- @Field({ nullable: true })
32
- help: string
33
-
34
- @Field(type => [DataSpecItem], { nullable: true })
35
- specItems: DataSpecItem[]
36
- }
37
-
38
- @ObjectType()
39
- export class DataSpecList {
40
- @Field(type => [DataSpec])
41
- items: DataSpec[]
42
-
43
- @Field(type => Int)
44
- total: number
45
- }
@@ -1,5 +0,0 @@
1
- import { DataSpec } from './data-spec'
2
- import { DataSpecQuery } from './data-spec-query'
3
-
4
- export const entities = [DataSpec]
5
- export const resolvers = [DataSpecQuery]
@@ -1,45 +0,0 @@
1
- import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
2
-
3
- import { DataSummary } from './data-summary'
4
-
5
- import { finalizeDataCollection, finalizeLatestDataCollection } from '../../controllers/finalize-data-collection'
6
-
7
- @Resolver(DataSummary)
8
- export class DataSummaryMutation {
9
- @Directive('@transaction')
10
- @Mutation(returns => Boolean, {
11
- description: 'Deprecated. Use finalizeLatestDataCollection',
12
- deprecationReason: 'This resolver has been replaced by finalizeLatestDataCollection'
13
- })
14
- async generateLatestDataSummaries(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<boolean> {
15
- return await finalizeLatestDataCollection(dataSetId, context)
16
- }
17
-
18
- @Directive('@transaction')
19
- @Mutation(returns => Boolean, { description: 'To finalize new Data Summaries' })
20
- async finalizeLatestDataCollection(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<boolean> {
21
- return await finalizeLatestDataCollection(dataSetId, context)
22
- }
23
-
24
- @Directive('@transaction')
25
- @Mutation(returns => Boolean, { description: 'Deprecated. Use finalizeDataCollection', deprecationReason: 'This resolver has been replaced by finalizeDataCollection' })
26
- async generateDataSummaries(
27
- @Arg('dataSetId') dataSetId: string,
28
- @Arg('date') date: string,
29
- @Arg('period') period: string,
30
- @Ctx() context: ResolverContext
31
- ): Promise<boolean> {
32
- return await finalizeDataCollection(dataSetId, date, period, context)
33
- }
34
-
35
- @Directive('@transaction')
36
- @Mutation(returns => Boolean, { description: 'To finalize data collection for the given period' })
37
- async finalizeDataCollection(
38
- @Arg('dataSetId') dataSetId: string,
39
- @Arg('date') date: string,
40
- @Arg('period') period: string,
41
- @Ctx() context: ResolverContext
42
- ): Promise<boolean> {
43
- return await finalizeDataCollection(dataSetId, date, period, context)
44
- }
45
- }
@@ -1,179 +0,0 @@
1
- import { In } from 'typeorm'
2
- import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
3
- import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
4
- import { User } from '@things-factory/auth-base'
5
- import { DataKeySet } from '../data-key-set/data-key-set'
6
- import { DataItem } from '../data-set/data-item-type'
7
- import { DataSet } from '../data-set/data-set'
8
- import { DataSummary } from './data-summary'
9
- import { DataSummaryList, DynamicDataSummary } from './data-summary-type'
10
- import { queryDataSummaryByPeriod } from '../../controllers/query-data-summary-by-period'
11
-
12
- @Resolver(DataSummary)
13
- export class DataSummaryQuery {
14
- @Query(returns => DataSummary!, { nullable: true, description: 'To fetch a DataSummary' })
15
- async dataSummary(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataSummary> {
16
- const { domain } = context.state
17
-
18
- return await getRepository(DataSummary).findOne({
19
- where: { domain: { id: domain.id }, id }
20
- })
21
- }
22
-
23
- @Query(returns => DataSummaryList, { description: 'To fetch multiple DataSummaries' })
24
- async dataSummaries(
25
- @Args(type => ListParam) params: ListParam,
26
- @Ctx() context: ResolverContext
27
- ): Promise<DataSummaryList> {
28
- const { domain } = context.state
29
-
30
- const queryBuilder = getQueryBuilderFromListParams({
31
- domain,
32
- params,
33
- repository: await getRepository(DataSummary),
34
- searchables: ['name', 'description']
35
- })
36
-
37
- const [items, total] = await queryBuilder.getManyAndCount()
38
-
39
- return { items, total }
40
- }
41
-
42
- @Query(returns => [DynamicDataSummary], { description: 'To fetch multiple dynamically grouped DataSummaries' })
43
- async dataSummaryByPeriod(
44
- @Arg('period') period: 'today' | 'this month' | '30 days' | 'this year' | '12 months',
45
- @Arg('dataSetName') dataSetName: string,
46
- @Arg('dataKeys', type => [String], { nullable: true }) dataKeys: string[] | null,
47
- @Args(type => ListParam) params: ListParam,
48
- @Ctx() context: ResolverContext
49
- ): Promise<DynamicDataSummary[]> {
50
- return await queryDataSummaryByPeriod(period, dataSetName, dataKeys, params, context)
51
- }
52
-
53
- @Directive('@privilege(category: "data-summary", privilege: "query", domainOwnerGranted: true)')
54
- @Query(returns => DataSummaryList, { description: 'To fetch multiple data summaries by data set name' })
55
- async dataSummariesByDataSetName(
56
- @Arg('dataSetName') dataSetName: string,
57
- @Args(type => ListParam) params: ListParam,
58
- @Ctx() context: ResolverContext
59
- ): Promise<DataSummaryList> {
60
- const { domain } = context.state
61
-
62
- const dataSet = await getRepository(DataSet).findOne({
63
- where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, name: dataSetName },
64
- relations: ['dataKeySet']
65
- })
66
-
67
- if (!dataSet) {
68
- throw new Error(`dataSet not found by the given dataSetName(${dataSetName})`)
69
- }
70
-
71
- const dataKeyItems = dataSet.dataKeySet?.dataKeyItems || []
72
- const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)
73
-
74
- const queryBuilder = getQueryBuilderFromListParams({
75
- repository: getRepository(DataSummary),
76
- params,
77
- domain,
78
- alias: 'summary',
79
- searchables: ['name', 'description'].concat(searchables)
80
- }).innerJoin('summary.dataSet', 'ds', 'ds.id = :dataSetName', {
81
- dataSetName: dataSet.id
82
- })
83
-
84
- const [items, total] = await queryBuilder.getManyAndCount()
85
-
86
- return { items, total }
87
- }
88
-
89
- @Directive('@privilege(category: "data-summary", privilege: "query", domainOwnerGranted: true)')
90
- @Query(returns => DataSummaryList, { description: 'To fetch multiple data summaries by data set' })
91
- async dataSummariesByDataSet(
92
- @Arg('dataSetId') dataSetId: string,
93
- @Args(type => ListParam) params: ListParam,
94
- @Ctx() context: ResolverContext
95
- ): Promise<DataSummaryList> {
96
- const { domain } = context.state
97
-
98
- const dataSet = await getRepository(DataSet).findOne({
99
- where: { domain: { id: In([domain.id, domain.parentId].filter(Boolean)) }, id: dataSetId },
100
- relations: ['dataKeySet']
101
- })
102
-
103
- if (!dataSet) {
104
- throw new Error(`dataSet not found by the given dataSetId(${dataSetId})`)
105
- }
106
-
107
- const dataKeyItems = dataSet.dataKeySet?.dataKeyItems || []
108
- const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)
109
-
110
- const queryBuilder = getQueryBuilderFromListParams({
111
- repository: getRepository(DataSummary),
112
- params,
113
- domain,
114
- alias: 'summary',
115
- searchables: ['name', 'description'].concat(searchables)
116
- }).innerJoin('summary.dataSet', 'ds', 'ds.id = :dataSetId', {
117
- dataSetId
118
- })
119
-
120
- const [items, total] = await queryBuilder.getManyAndCount()
121
-
122
- return { items, total }
123
- }
124
-
125
- @Directive('@privilege(category: "data-summary", privilege: "query", domainOwnerGranted: true)')
126
- @Query(returns => DataSummaryList, { description: 'To fetch multiple data summaries by data key set' })
127
- async dataSummariesByDataKeySet(
128
- @Arg('dataKeySetId') dataKeySetId: string,
129
- @Args(type => ListParam) params: ListParam,
130
- @Ctx() context: ResolverContext
131
- ): Promise<DataSummaryList> {
132
- const { domain } = context.state
133
-
134
- const dataKeySet = await getRepository(DataKeySet).findOneBy({ id: dataKeySetId })
135
- const dataKeyItems = dataKeySet?.dataKeyItems || []
136
- const searchables = dataKeyItems.map((item, index) => `key0${index + 1}`)
137
-
138
- const queryBuilder = getQueryBuilderFromListParams({
139
- repository: getRepository(DataSummary),
140
- params,
141
- domain,
142
- alias: 'summary',
143
- searchables: ['name', 'description'].concat(searchables)
144
- }).innerJoin('summary.dataSet', 'ds', 'ds.dataKeySet = :dataKeySetId', {
145
- dataKeySetId
146
- })
147
-
148
- const [items, total] = await queryBuilder.getManyAndCount()
149
-
150
- return { items, total }
151
- }
152
-
153
- @FieldResolver(type => [DataItem])
154
- async dataItems(@Root() dataSummary: DataSummary): Promise<DataItem[]> {
155
- const dataSet = dataSummary.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSummary.dataSetId }))
156
-
157
- return dataSet?.dataItems.filter(item => item.active) || []
158
- }
159
-
160
- @FieldResolver(type => DataSet)
161
- async dataSet(@Root() dataSummary: DataSummary): Promise<DataSet> {
162
- return dataSummary.dataSetId && (await getRepository(DataSet).findOneBy({ id: dataSummary.dataSetId }))
163
- }
164
-
165
- @FieldResolver(type => Domain)
166
- async domain(@Root() dataSummary: DataSummary): Promise<Domain> {
167
- return dataSummary.domainId && (await getRepository(Domain).findOneBy({ id: dataSummary.domainId }))
168
- }
169
-
170
- @FieldResolver(type => User)
171
- async updater(@Root() dataSummary: DataSummary): Promise<User> {
172
- return dataSummary.updaterId && (await getRepository(User).findOneBy({ id: dataSummary.updaterId }))
173
- }
174
-
175
- @FieldResolver(type => User)
176
- async creator(@Root() dataSummary: DataSummary): Promise<User> {
177
- return dataSummary.creatorId && (await getRepository(User).findOneBy({ id: dataSummary.creatorId }))
178
- }
179
- }
@@ -1,86 +0,0 @@
1
- import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'
2
- import { DataSummary } from './data-summary'
3
-
4
- @InputType()
5
- export class NewDataSummary {
6
- @Field()
7
- name: string
8
-
9
- @Field({ nullable: true })
10
- description?: string
11
- }
12
-
13
- @InputType()
14
- export class DataSummaryPatch {
15
- @Field(type => ID, { nullable: true })
16
- id?: string
17
-
18
- @Field({ nullable: true })
19
- name?: string
20
-
21
- @Field({ nullable: true })
22
- description?: string
23
-
24
- @Field({ nullable: true })
25
- cuFlag?: string
26
- }
27
-
28
- @ObjectType()
29
- export class DynamicDataSummary {
30
- @Field({ nullable: true })
31
- month?: string = ''
32
-
33
- @Field({ nullable: true })
34
- date?: string = ''
35
-
36
- @Field({ nullable: true })
37
- period?: string = ''
38
-
39
- @Field({ nullable: true })
40
- count?: number
41
-
42
- @Field({ nullable: true })
43
- countOoc?: number
44
-
45
- @Field({ nullable: true })
46
- countOos?: number
47
-
48
- @Field({ nullable: true })
49
- key01?: string = ''
50
-
51
- @Field({ nullable: true })
52
- key02?: string = ''
53
-
54
- @Field({ nullable: true })
55
- key03?: string = ''
56
-
57
- @Field({ nullable: true })
58
- key04?: string = ''
59
-
60
- @Field({ nullable: true })
61
- key05?: string = ''
62
-
63
- @Field({ nullable: true })
64
- data01?: number
65
-
66
- @Field({ nullable: true })
67
- data02?: number
68
-
69
- @Field({ nullable: true })
70
- data03?: number
71
-
72
- @Field({ nullable: true })
73
- data04?: number
74
-
75
- @Field({ nullable: true })
76
- data05?: number
77
- }
78
-
79
- @ObjectType()
80
- export class DataSummaryList {
81
- @Field(type => [DataSummary])
82
- items: DataSummary[]
83
-
84
- @Field(type => Int)
85
- total: number
86
- }
@@ -1,170 +0,0 @@
1
- import {
2
- CreateDateColumn,
3
- UpdateDateColumn,
4
- Entity,
5
- Index,
6
- Column,
7
- RelationId,
8
- ManyToOne,
9
- PrimaryGeneratedColumn
10
- } from 'typeorm'
11
- import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
12
-
13
- import { Domain, ScalarObject } from '@things-factory/shell'
14
- import { User } from '@things-factory/auth-base'
15
-
16
- import { DataItem } from '../data-set/data-item-type'
17
- import { DataSet, DataSetSummaryPeriodType } from '../data-set/data-set'
18
-
19
- @Entity()
20
- @Index(
21
- 'ix_data_summary_0',
22
- (dataSummary: DataSummary) => [
23
- dataSummary.domain,
24
- dataSummary.dataSet,
25
- dataSummary.key01,
26
- dataSummary.key02,
27
- dataSummary.key03,
28
- dataSummary.key04,
29
- dataSummary.key05,
30
- dataSummary.date,
31
- dataSummary.period
32
- ],
33
- { unique: true }
34
- )
35
- @Index(
36
- 'ix_data_summary_1',
37
- (dataSummary: DataSummary) => [dataSummary.domain, dataSummary.dataSet, dataSummary.date, dataSummary.period],
38
- { unique: false }
39
- )
40
- @ObjectType({ description: 'Entity for DataSummary' })
41
- export class DataSummary {
42
- @PrimaryGeneratedColumn('uuid')
43
- @Field(type => ID)
44
- readonly id: string
45
-
46
- @ManyToOne(type => Domain)
47
- @Field(type => Domain)
48
- domain?: Domain
49
-
50
- @RelationId((dataSummary: DataSummary) => dataSummary.domain)
51
- domainId?: string
52
-
53
- @Column()
54
- @Field({ nullable: true })
55
- name?: string
56
-
57
- @Column({ nullable: true })
58
- @Field({ nullable: true })
59
- description?: string
60
-
61
- @Column({ nullable: true })
62
- @Field({ nullable: true })
63
- type?: DataSetSummaryPeriodType
64
-
65
- @Column({ nullable: true, default: '', length: 20 })
66
- @Field({ nullable: true })
67
- date?: string = ''
68
-
69
- @Column({ nullable: true, default: '', length: 20 })
70
- @Field({ nullable: true })
71
- period?: string = ''
72
-
73
- @ManyToOne(type => DataSet)
74
- @Field(type => DataSet, { nullable: false })
75
- dataSet?: DataSet
76
-
77
- @RelationId((dataSample: DataSummary) => dataSample.dataSet)
78
- dataSetId?: string
79
-
80
- @Column({ nullable: true })
81
- @Field({ nullable: true })
82
- dataSetVersion?: number
83
-
84
- @Field(type => [DataItem], { nullable: true })
85
- dataItems?: DataItem[]
86
-
87
- @Column('simple-json', { nullable: true })
88
- @Field(type => ScalarObject, { nullable: true })
89
- summary?: any
90
-
91
- @Column({
92
- nullable: true
93
- })
94
- @Field({ nullable: true })
95
- count?: number
96
-
97
- @Column({
98
- nullable: true
99
- })
100
- @Field({ nullable: true })
101
- countOoc?: number
102
-
103
- @Column({
104
- nullable: true
105
- })
106
- @Field({ nullable: true })
107
- countOos?: number
108
-
109
- @Column({ nullable: true, default: '', length: 100 })
110
- @Field({ nullable: true })
111
- key01?: string = ''
112
-
113
- @Column({ nullable: true, default: '', length: 100 })
114
- @Field({ nullable: true })
115
- key02?: string = ''
116
-
117
- @Column({ nullable: true, default: '', length: 100 })
118
- @Field({ nullable: true })
119
- key03?: string = ''
120
-
121
- @Column({ nullable: true, default: '', length: 100 })
122
- @Field({ nullable: true })
123
- key04?: string = ''
124
-
125
- @Column({ nullable: true, default: '', length: 100 })
126
- @Field({ nullable: true })
127
- key05?: string = ''
128
-
129
- @Column({ type: 'real', nullable: true })
130
- @Field({ nullable: true })
131
- data01?: number
132
-
133
- @Column({ type: 'real', nullable: true })
134
- @Field({ nullable: true })
135
- data02?: number
136
-
137
- @Column({ type: 'real', nullable: true })
138
- @Field({ nullable: true })
139
- data03?: number
140
-
141
- @Column({ type: 'real', nullable: true })
142
- @Field({ nullable: true })
143
- data04?: number
144
-
145
- @Column({ type: 'real', nullable: true })
146
- @Field({ nullable: true })
147
- data05?: number
148
-
149
- @CreateDateColumn()
150
- @Field({ nullable: true })
151
- createdAt?: Date
152
-
153
- @UpdateDateColumn()
154
- @Field({ nullable: true })
155
- updatedAt?: Date
156
-
157
- @ManyToOne(type => User, { nullable: true })
158
- @Field(type => User, { nullable: true })
159
- creator?: User
160
-
161
- @RelationId((dataSummary: DataSummary) => dataSummary.creator)
162
- creatorId?: string
163
-
164
- @ManyToOne(type => User, { nullable: true })
165
- @Field(type => User, { nullable: true })
166
- updater?: User
167
-
168
- @RelationId((dataSummary: DataSummary) => dataSummary.updater)
169
- updaterId?: string
170
- }
@@ -1,7 +0,0 @@
1
- import { DataSummary } from './data-summary'
2
- import { DataSummaryQuery } from './data-summary-query'
3
- import { DataSummaryMutation } from './data-summary-mutation'
4
-
5
- export const entities = [DataSummary]
6
- export const resolvers = [DataSummaryQuery, DataSummaryMutation]
7
- export const subscribers = []
@@ -1,57 +0,0 @@
1
- import { entities as DataKeySetEntities, resolvers as DataKeySetResolvers } from './data-key-set'
2
- import { entities as DataOocEntities, resolvers as DataOocResolvers } from './data-ooc'
3
- import { entities as DataSampleEntities, resolvers as DataSampleResolvers } from './data-sample'
4
- import { entities as DataSensorEntities, resolvers as DataSensorResolvers } from './data-sensor'
5
- import { entities as DataSetEntities, resolvers as DataSetResolvers } from './data-set'
6
- import {
7
- entities as DataSetHistoryEntities,
8
- resolvers as DataSetHistoryResolvers,
9
- subscribers as DataSetHistorySubscribers
10
- } from './data-set-history'
11
- import { entities as DataSummaryEntities, resolvers as DataSummaryResolvers } from './data-summary'
12
- import { entities as DataSpecEntities, resolvers as DataSpecResolvers } from './data-spec'
13
- import { entities as DataArchiveEntities, resolvers as DataArchiveResolvers } from './data-archive'
14
-
15
- /* EXPORT ENTITY TYPES */
16
- export * from './data-summary/data-summary'
17
- export * from './data-key-set/data-key-set'
18
- export * from './data-ooc/data-ooc'
19
- export * from './data-sensor/data-sensor'
20
- export * from './data-sample/data-sample'
21
- export * from './data-set/data-set'
22
- export * from './data-set-history/data-set-history'
23
- export * from './data-set/data-item-type'
24
- export * from './data-spec/data-spec'
25
-
26
- export const entities = [
27
- /* ENTITIES */
28
- ...DataSummaryEntities,
29
- ...DataKeySetEntities,
30
- ...DataOocEntities,
31
- ...DataSensorEntities,
32
- ...DataSampleEntities,
33
- ...DataSetEntities,
34
- ...DataSetHistoryEntities,
35
- ...DataSpecEntities,
36
- ...DataArchiveEntities
37
- ]
38
-
39
- export const subscribers = [
40
- /* SUBSCRIBERS */
41
- ...DataSetHistorySubscribers
42
- ]
43
-
44
- export const schema = {
45
- resolverClasses: [
46
- /* RESOLVER CLASSES */
47
- ...DataSummaryResolvers,
48
- ...DataKeySetResolvers,
49
- ...DataOocResolvers,
50
- ...DataSensorResolvers,
51
- ...DataSampleResolvers,
52
- ...DataSetResolvers,
53
- ...DataSetHistoryResolvers,
54
- ...DataSpecResolvers,
55
- ...DataArchiveResolvers
56
- ]
57
- }
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "../../tsconfig-base.json",
3
- "compilerOptions": {
4
- "strict": false,
5
- "module": "commonjs",
6
- "outDir": "../dist-server",
7
- "baseUrl": "./"
8
- },
9
- "include": ["./**/*"]
10
- }
@@ -1,29 +0,0 @@
1
-
2
- export function getEndpointUrl(endpoint:any, subpath:string=''):string {
3
- const { url='', protocol='http', host='', port=80 } = endpoint
4
-
5
- let _url = ''
6
- let _protocol = protocol
7
-
8
- if (url) {
9
- _url = url
10
- } else {
11
- const hosts = host.split('://')
12
- // host에 protocol을 포함한 경우
13
- if (hosts.length == 2) {
14
- const _host = hosts[1]
15
- _protocol = hosts[0]
16
- // host에 port를 포함한 경우
17
- const _hosts = _host.split(':')
18
- if (_hosts.length > 1) {
19
- _url = `${_hosts[0]}:${_hosts[1]}`
20
- } else {
21
- _url = `${_host}:${port}`
22
- }
23
- } else if (hosts.length == 1) {
24
- _url = `${host}:${port}`
25
- }
26
- }
27
-
28
- return _protocol + '://' + _url.split('/').concat(subpath.split('/')).filter(x=>x).join('/')
29
- }