@things-factory/dataset 5.0.14 → 5.0.16

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 (113) hide show
  1. package/README.md +40 -16
  2. package/assets/data-report.jpg +0 -0
  3. package/assets/diagram.jpg +0 -0
  4. package/assets/glue-table-indices.png +0 -0
  5. package/client/pages/data-archive/data-archive-list-page.js +290 -0
  6. package/client/pages/data-archive/data-archive-request-popup.js +180 -0
  7. package/client/pages/data-key-set/data-key-set-list-page.js +98 -3
  8. package/client/pages/data-report/data-report-embed-page.js +16 -12
  9. package/client/pages/data-report/data-report-list-page.js +18 -15
  10. package/client/pages/data-report/data-report-samples-page.js +186 -0
  11. package/client/pages/data-set/data-set-list-page.js +9 -1
  12. package/client/route.js +20 -12
  13. package/config/config.development.js +21 -0
  14. package/config/config.production.js +32 -11
  15. package/dist-server/controllers/create-data-sample.js +3 -1
  16. package/dist-server/controllers/create-data-sample.js.map +1 -1
  17. package/dist-server/controllers/jasper-report.js +19 -14
  18. package/dist-server/controllers/jasper-report.js.map +1 -1
  19. package/dist-server/controllers/shiny-report.js +41 -0
  20. package/dist-server/controllers/shiny-report.js.map +1 -0
  21. package/dist-server/routes.js +8 -0
  22. package/dist-server/routes.js.map +1 -1
  23. package/dist-server/service/data-archive/data-archive-mutation.js +227 -0
  24. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -0
  25. package/dist-server/service/data-archive/data-archive-query.js +85 -0
  26. package/dist-server/service/data-archive/data-archive-query.js.map +1 -0
  27. package/dist-server/service/data-archive/data-archive-type.js +74 -0
  28. package/dist-server/service/data-archive/data-archive-type.js.map +1 -0
  29. package/dist-server/service/data-archive/data-archive.js +80 -0
  30. package/dist-server/service/data-archive/data-archive.js.map +1 -0
  31. package/dist-server/service/data-archive/index.js +9 -0
  32. package/dist-server/service/data-archive/index.js.map +1 -0
  33. package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -1
  34. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  35. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  36. package/dist-server/service/data-key-set/data-key-set-type.js +17 -0
  37. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
  38. package/dist-server/service/data-key-set/data-key-set.js +11 -0
  39. package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
  40. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  41. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  42. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  43. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  44. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  45. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  46. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  47. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  48. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  49. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  50. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  51. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  52. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  53. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  54. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  55. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  56. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  57. package/dist-server/service/data-set/data-set.js +2 -0
  58. package/dist-server/service/data-set/data-set.js.map +1 -1
  59. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  60. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
  61. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  62. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
  63. package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
  64. package/dist-server/service/data-spec/data-spec.js.map +1 -1
  65. package/dist-server/service/index.js +5 -2
  66. package/dist-server/service/index.js.map +1 -1
  67. package/dist-server/tsconfig.tsbuildinfo +1 -1
  68. package/dist-server/utils/config-resolver.js +33 -0
  69. package/dist-server/utils/config-resolver.js.map +1 -0
  70. package/dist-server/utils/index.js +5 -0
  71. package/dist-server/utils/index.js.map +1 -0
  72. package/helps/dataset/data-archive.md +9 -0
  73. package/helps/dataset/data-entry-list.md +2 -0
  74. package/helps/dataset/data-key-set.md +10 -0
  75. package/helps/dataset/data-ooc.md +11 -0
  76. package/helps/dataset/data-report-list.md +4 -0
  77. package/helps/dataset/data-sample-search.md +2 -0
  78. package/helps/dataset/data-sample.md +11 -0
  79. package/helps/dataset/data-sensor.md +13 -0
  80. package/helps/dataset/data-set.md +28 -0
  81. package/helps/dataset/ui/data-item-list.md +19 -0
  82. package/helps/dataset/ui/data-key-item-list.md +2 -0
  83. package/package.json +7 -7
  84. package/server/controllers/create-data-sample.ts +4 -0
  85. package/server/controllers/jasper-report.ts +20 -14
  86. package/server/controllers/shiny-report.ts +60 -0
  87. package/server/routes.ts +11 -0
  88. package/server/service/data-archive/data-archive-mutation.ts +253 -0
  89. package/server/service/data-archive/data-archive-query.ts +56 -0
  90. package/server/service/data-archive/data-archive-type.ts +49 -0
  91. package/server/service/data-archive/data-archive.ts +69 -0
  92. package/server/service/data-archive/index.ts +6 -0
  93. package/server/service/data-key-set/data-key-set-type.ts +13 -0
  94. package/server/service/data-key-set/data-key-set.ts +9 -0
  95. package/server/service/data-set/data-set.ts +3 -1
  96. package/server/service/index.ts +5 -2
  97. package/server/utils/config-resolver.ts +29 -0
  98. package/server/utils/index.ts +1 -0
  99. package/things-factory.config.js +20 -12
  100. package/translations/en.json +18 -2
  101. package/translations/ko.json +16 -1
  102. package/translations/ms.json +2 -0
  103. package/translations/zh.json +2 -0
  104. package/dist-server/service/data-item/data-item-mutation.js +0 -69
  105. package/dist-server/service/data-item/data-item-mutation.js.map +0 -1
  106. package/dist-server/service/data-item/data-item-query.js +0 -100
  107. package/dist-server/service/data-item/data-item-query.js.map +0 -1
  108. package/dist-server/service/data-item/data-item-type.js +0 -80
  109. package/dist-server/service/data-item/data-item-type.js.map +0 -1
  110. package/dist-server/service/data-item/data-item.js +0 -136
  111. package/dist-server/service/data-item/data-item.js.map +0 -1
  112. package/dist-server/service/data-item/index.js +0 -9
  113. package/dist-server/service/data-item/index.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
+ import { getRepository } from 'typeorm'
3
+
4
+ import { Role, User } from '@things-factory/auth-base'
5
+ import { Domain, getQueryBuilderFromListParams, ListParam } from '@things-factory/shell'
6
+
7
+ import { DataArchive } from './data-archive'
8
+ import { DataArchiveList } from './data-archive-type'
9
+
10
+ var parser = require('cron-parser')
11
+
12
+ @Resolver(DataArchive)
13
+ export class DataArchiveQuery {
14
+ @Directive('@privilege(category: "data-archive", privilege: "query", domainOwnerGranted: true)')
15
+ @Query(returns => DataArchive, { description: 'To fetch a DataArchive' })
16
+ async dataArchive(@Arg('id') id: string, @Ctx() context: any): Promise<DataArchive> {
17
+ const { domain } = context.state
18
+
19
+ return await getRepository(DataArchive).findOne({
20
+ where: { domain, id }
21
+ })
22
+ }
23
+
24
+ @Directive('@privilege(category: "data-archive", privilege: "query", domainOwnerGranted: true)')
25
+ @Query(returns => DataArchiveList, { description: 'To fetch multiple DataArchives' })
26
+ async dataArchives(@Args() params: ListParam, @Ctx() context: any): Promise<DataArchiveList> {
27
+ const { domain } = context.state
28
+
29
+ const queryBuilder = getQueryBuilderFromListParams({
30
+ repository: getRepository(DataArchive),
31
+ params,
32
+ domain,
33
+ alias: 'dataArchive',
34
+ searchables: []
35
+ })
36
+
37
+ const [items, total] = await queryBuilder.getManyAndCount()
38
+
39
+ return { items, total }
40
+ }
41
+
42
+ @FieldResolver(type => Domain)
43
+ async domain(@Root() dataArchive: DataArchive): Promise<Domain> {
44
+ return await getRepository(Domain).findOne(dataArchive.domainId)
45
+ }
46
+
47
+ @FieldResolver(type => User)
48
+ async updater(@Root() dataArchive: DataArchive): Promise<User> {
49
+ return await getRepository(User).findOne(dataArchive.updaterId)
50
+ }
51
+
52
+ @FieldResolver(type => User)
53
+ async creator(@Root() dataArchive: DataArchive): Promise<User> {
54
+ return await getRepository(User).findOne(dataArchive.creatorId)
55
+ }
56
+ }
@@ -0,0 +1,49 @@
1
+ import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'
2
+ import { DataArchive } from './data-archive'
3
+ import { ObjectRef, ScalarObject } from '@things-factory/shell'
4
+
5
+ @InputType()
6
+ export class NewDataArchive {
7
+ @Field({ nullable: true })
8
+ type?: 'manual' | 'automatic' | string
9
+
10
+ @Field(type => ScalarObject, { nullable: true })
11
+ requestParams?: { [key: string]: any }
12
+
13
+ @Field({ nullable: true })
14
+ downloadUrl?: string
15
+
16
+ @Field({ nullable: true })
17
+ status?: string
18
+
19
+ }
20
+
21
+ @InputType()
22
+ export class DataArchivePatch {
23
+ @Field(type => ID, { nullable: true })
24
+ id?: string
25
+
26
+ @Field({ nullable: true })
27
+ type?: 'manual' | 'automatic' | string
28
+
29
+ @Field(type => ScalarObject, { nullable: true })
30
+ requestParams?: { [key: string]: any }
31
+
32
+ @Field({ nullable: true })
33
+ downloadUrl?: string
34
+
35
+ @Field({ nullable: true })
36
+ status?: string
37
+
38
+ @Field({ nullable: true })
39
+ cuFlag: string
40
+ }
41
+
42
+ @ObjectType()
43
+ export class DataArchiveList {
44
+ @Field(type => [DataArchive])
45
+ items: DataArchive[]
46
+
47
+ @Field(type => Int)
48
+ total: number
49
+ }
@@ -0,0 +1,69 @@
1
+ import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'
2
+ import {
3
+ Column,
4
+ CreateDateColumn,
5
+ Entity,
6
+ Index,
7
+ ManyToOne,
8
+ PrimaryGeneratedColumn,
9
+ RelationId,
10
+ UpdateDateColumn,
11
+ VersionColumn
12
+ } from 'typeorm'
13
+
14
+ import { Role, User } from '@things-factory/auth-base'
15
+ import { Domain, ScalarObject } from '@things-factory/shell'
16
+
17
+ @Entity()
18
+ @Index('ix_data_archive_0', (dataArchive: DataArchive) => [dataArchive.id], { unique: true })
19
+ @ObjectType({ description: 'Entity for DataArchive' })
20
+ export class DataArchive {
21
+ @PrimaryGeneratedColumn('uuid')
22
+ @Field(type => ID)
23
+ readonly id: string
24
+
25
+ @ManyToOne(type => Domain)
26
+ @Field({ nullable: true })
27
+ domain?: Domain
28
+
29
+ @RelationId((dataArchive: DataArchive) => dataArchive.domain)
30
+ domainId?: string
31
+
32
+ @Column({ nullable: true })
33
+ @Field({ nullable: true })
34
+ type?: 'manual' | 'automatic' | string
35
+
36
+ @Column('simple-json', { nullable: true })
37
+ @Field(type => ScalarObject, { nullable: true })
38
+ requestParams?: { [key: string]: any }
39
+
40
+ @Column({ nullable: true })
41
+ @Field({ nullable: true })
42
+ downloadUrl?: string
43
+
44
+ @Column({ nullable: true })
45
+ @Field({ nullable: true })
46
+ status?: string
47
+
48
+ @CreateDateColumn()
49
+ @Field({ nullable: true })
50
+ createdAt?: Date
51
+
52
+ @UpdateDateColumn()
53
+ @Field({ nullable: true })
54
+ updatedAt?: Date
55
+
56
+ @ManyToOne(type => User, { nullable: true })
57
+ @Field({ nullable: true })
58
+ creator?: User
59
+
60
+ @RelationId((dataArchive: DataArchive) => dataArchive.creator)
61
+ creatorId?: string
62
+
63
+ @ManyToOne(type => User, { nullable: true })
64
+ @Field({ nullable: true })
65
+ updater?: User
66
+
67
+ @RelationId((dataArchive: DataArchive) => dataArchive.creator)
68
+ updaterId?: string
69
+ }
@@ -0,0 +1,6 @@
1
+ import { DataArchive } from './data-archive'
2
+ import { DataArchiveMutation } from './data-archive-mutation'
3
+ import { DataArchiveQuery } from './data-archive-query'
4
+
5
+ export const entities = [DataArchive]
6
+ export const resolvers = [DataArchiveQuery, DataArchiveMutation]
@@ -4,6 +4,7 @@ import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'
4
4
 
5
5
  import { DataKeyItemPatch } from './data-key-item-type'
6
6
  import { DataKeySet } from './data-key-set'
7
+ import { DataSetReportType } from '../data-set/data-set'
7
8
 
8
9
  @InputType()
9
10
  export class NewDataKeySet {
@@ -16,6 +17,12 @@ export class NewDataKeySet {
16
17
  @Field({ nullable: true })
17
18
  active?: boolean
18
19
 
20
+ @Field({ nullable: true })
21
+ reportType?: DataSetReportType
22
+
23
+ @Field({ nullable: true })
24
+ reportView?: string
25
+
19
26
  @Field(type => [DataKeyItemPatch], { nullable: true })
20
27
  dataKeyItems?: DataKeyItemPatch[]
21
28
 
@@ -37,6 +44,12 @@ export class DataKeySetPatch {
37
44
  @Field({ nullable: true })
38
45
  active?: boolean
39
46
 
47
+ @Field({ nullable: true })
48
+ reportType?: DataSetReportType
49
+
50
+ @Field({ nullable: true })
51
+ reportView?: string
52
+
40
53
  @Field(type => [DataKeyItemPatch], { nullable: true })
41
54
  dataKeyItems?: DataKeyItemPatch[]
42
55
 
@@ -14,6 +14,7 @@ import { User } from '@things-factory/auth-base'
14
14
  import { Domain } from '@things-factory/shell'
15
15
 
16
16
  import { DataKeyItem } from './data-key-item-type'
17
+ import { DataSetReportType } from '../data-set/data-set'
17
18
 
18
19
  @Entity()
19
20
  @Index('ix_data_key_set_0', (dataKeySet: DataKeySet) => [dataKeySet.domain, dataKeySet.name], { unique: true })
@@ -46,6 +47,14 @@ export class DataKeySet {
46
47
  @Field({ nullable: true })
47
48
  active?: boolean
48
49
 
50
+ @Column({ nullable: true })
51
+ @Field({ nullable: true })
52
+ reportType?: DataSetReportType
53
+
54
+ @Column({ nullable: true })
55
+ @Field({ nullable: true })
56
+ reportView?: string
57
+
49
58
  @Column('simple-json', { nullable: true })
50
59
  @Field(type => [DataKeyItem], { nullable: true })
51
60
  dataKeyItems: DataKeyItem[]
@@ -21,7 +21,9 @@ export enum DataSetEntryType {
21
21
  Generated = 'generated',
22
22
  Board = 'board',
23
23
  Page = 'page',
24
- ExternalURL = 'external'
24
+ ExternalURL = 'external',
25
+ Jasper = 'jasper',
26
+ Shiny = 'shiny'
25
27
  }
26
28
 
27
29
  registerEnumType(DataSetEntryType, {
@@ -9,6 +9,7 @@ import {
9
9
  subscribers as DataSetHistorySubscribers
10
10
  } from './data-set-history'
11
11
  import { entities as DataSpecEntities, resolvers as DataSpecResolvers } from './data-spec'
12
+ import { entities as DataArchiveEntities, resolvers as DataArchiveResolvers } from './data-archive'
12
13
 
13
14
  /* EXPORT ENTITY TYPES */
14
15
  export * from './data-key-set/data-key-set'
@@ -28,7 +29,8 @@ export const entities = [
28
29
  ...DataSampleEntities,
29
30
  ...DataSetEntities,
30
31
  ...DataSetHistoryEntities,
31
- ...DataSpecEntities
32
+ ...DataSpecEntities,
33
+ ...DataArchiveEntities
32
34
  ]
33
35
 
34
36
  export const subscribers = [
@@ -45,6 +47,7 @@ export const schema = {
45
47
  ...DataSampleResolvers,
46
48
  ...DataSetResolvers,
47
49
  ...DataSetHistoryResolvers,
48
- ...DataSpecResolvers
50
+ ...DataSpecResolvers,
51
+ ...DataArchiveResolvers
49
52
  ]
50
53
  }
@@ -0,0 +1,29 @@
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
+ }
@@ -0,0 +1 @@
1
+ export * from './config-resolver'
@@ -33,21 +33,29 @@ export default {
33
33
  page: 'data-report-list'
34
34
  },
35
35
  {
36
- tagname: 'jasper-report-samples-page',
37
- page: 'jasper-report-samples'
36
+ tagname: 'data-report-samples-page',
37
+ page: 'data-report-samples'
38
38
  },
39
39
  {
40
- tagname: 'jasper-report-samples-crosstab-page',
41
- page: 'jasper-report-samples-crosstab'
42
- },
43
- {
44
- tagname: 'jasper-report-oocs-page',
45
- page: 'jasper-report-oocs'
46
- },
47
- {
48
- tagname: 'data-report-embed-page',
49
- page: 'data-report-embed'
40
+ tagname: 'data-archive-list-page',
41
+ page: 'data-archive-list'
50
42
  },
43
+ // {
44
+ // tagname: 'jasper-report-samples-page',
45
+ // page: 'jasper-report-samples'
46
+ // },
47
+ // {
48
+ // tagname: 'jasper-report-samples-crosstab-page',
49
+ // page: 'jasper-report-samples-crosstab'
50
+ // },
51
+ // {
52
+ // tagname: 'jasper-report-oocs-page',
53
+ // page: 'jasper-report-oocs'
54
+ // },
55
+ // {
56
+ // tagname: 'data-report-embed-page',
57
+ // page: 'data-report-embed'
58
+ // },
51
59
  {
52
60
  tagname: 'data-key-set-list-page',
53
61
  page: 'data-key-set-list'
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "button.corrected": "corrected",
3
+ "button.request": "request",
3
4
  "button.reviewed": "reviewed",
4
5
  "field.appliance": "appliance",
5
6
  "field.collected_at": "collected at",
@@ -12,6 +13,7 @@
12
13
  "field.data-sample": "data sample",
13
14
  "field.data-set": "data set",
14
15
  "field.device-id": "device id",
16
+ "field.download-url": "download url",
15
17
  "field.entry-role": "entry role",
16
18
  "field.entry-type": "entry type",
17
19
  "field.entry-view": "entry view",
@@ -37,6 +39,7 @@
37
39
  "field.report-template": "report template",
38
40
  "field.report-type": "report type",
39
41
  "field.report-view": "report view",
42
+ "field.request-params": "request parameters",
40
43
  "field.serial-no": "serial #",
41
44
  "field.spec": "spec",
42
45
  "field.status": "status",
@@ -49,27 +52,40 @@
49
52
  "field.work-shift": "work shift",
50
53
  "label.acceptables": "acceptables",
51
54
  "label.critical-limits": "critical limits",
55
+ "label.data-set-type": "type",
56
+ "label.end-date": "end date",
52
57
  "label.minimum value": "minimum value",
53
58
  "label.maximum value": "maximum value",
54
59
  "label.pass-limits": "pass limits",
60
+ "label.start-date": "start date",
55
61
  "label.target-limits": "target limits",
56
62
  "text.automatically collected": "automatically collected",
63
+ "text.data-archive request failed": "data archive request is failed",
64
+ "text.data-archive waits": "It'll take few minutes, You can find a push message when ready",
57
65
  "text.data sample created successfully": "a data sample created successfully",
58
66
  "text.data ooc updated successfully": "a data ooc updated successfully",
59
67
  "text.manually collected": "manually collected",
68
+ "text.presigned_url_created": "a presigned url of archive is created",
69
+ "title.data-archive downloads ready": "data archive download ready",
70
+ "title.data-archive request failed": "failed a data archive request",
71
+ "title.data-archive list": "data archive list",
72
+ "title.data-archive request popup": "data archive request",
60
73
  "title.data-entry-form": "data entry form",
61
74
  "title.data-entry list": "data entry list",
62
75
  "title.data-key-item list": "data key item list",
63
76
  "title.data-key-set list": "data key set list",
64
77
  "title.data-item list": "data item list",
65
78
  "title.data-monitor-view": "data monitor view",
66
- "title.data-report-view": "data report view",
67
79
  "title.data-ooc list": "data OOC list",
68
80
  "title.data-ooc view": "data OOC view",
81
+ "title.data-report list": "data report list",
82
+ "title.data-report-view": "data report view",
83
+ "title.data-report samples": "samples data report",
69
84
  "title.data-sample list": "data sample list",
70
85
  "title.data-sample search": "data sample search",
71
86
  "title.data-sample view": "data sample view",
72
87
  "title.data-sensor list": "data sensor list",
73
88
  "title.data-set list": "data set list",
74
- "title.edit code": "edit code"
89
+ "title.edit code": "edit code",
90
+ "title.ready": "ready"
75
91
  }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "button.corrected": "조치완료",
3
3
  "button.reviewed": "검토완료",
4
+ "button.request": "요청",
4
5
  "field.appliance": "어플라이언스",
5
6
  "field.collected_at": "수집일시",
6
7
  "field.corrected-at": "조치 시간",
@@ -12,6 +13,7 @@
12
13
  "field.data-key": "데이타 키",
13
14
  "field.data-key-set": "데이타 키셋",
14
15
  "field.device-id": "디바이스 아이디",
16
+ "field.download-url": "다운로드 주소",
15
17
  "field.entry-role": "입력담당 역할",
16
18
  "field.entry-type": "입력용 화면종류",
17
19
  "field.entry-view": "입력용 화면",
@@ -37,6 +39,7 @@
37
39
  "field.report-template": "리포트용 템플릿",
38
40
  "field.report-type": "리포트용 화면종류",
39
41
  "field.report-view": "리포트용 화면",
42
+ "field.request-params": "요청 매개변수",
40
43
  "field.serial-no": "시리얼번호",
41
44
  "field.spec": "명세",
42
45
  "field.status": "상태",
@@ -49,14 +52,23 @@
49
52
  "field.work-shift": "교대근무조",
50
53
  "label.acceptables": "허용값",
51
54
  "label.critical-limits": "허용 한계범위",
55
+ "label.data-set-type": "유형",
56
+ "label.end-date": "종료일",
52
57
  "label.minimum value": "최소값",
53
58
  "label.maximum value": "최대값",
54
59
  "label.pass-limits": "통과 허용범위",
60
+ "label.start-date": "시작일",
55
61
  "label.target-limits": "관리 목표범위",
56
62
  "text.automatically collected": "자동 수집",
63
+ "text.data-archive request failed": "아카이브 다운로드 요청 실패",
64
+ "text.data-archive waits": "시간이 수 분 소요될 수 있습니다. 가능한 시점에 푸시 메시지로 알려드립니다.",
57
65
  "text.data ooc updated successfully": "이탈데이타 내용이 수정되었습니다",
58
66
  "text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
59
67
  "text.manually collected": "수동 수집",
68
+ "title.data-archive downloads ready": "아카이브 다운로드 가능",
69
+ "title.data-archive request failed": "아카이브 요청 실패",
70
+ "title.data-archive list": "아카이브 조회",
71
+ "title.data-archive request popup": "아카이브 요청",
60
72
  "title.data-entry-form": "데이타 입력",
61
73
  "title.data-key-item list": "데이타 키 상세",
62
74
  "title.data-key-set list": "데이타 키셋 조회",
@@ -64,11 +76,14 @@
64
76
  "title.data-monitor-view": "데이타 모니터",
65
77
  "title.data-ooc list": "데이타 이탈점 조회",
66
78
  "title.data-ooc view": "데이타 이탈점 상세",
79
+ "title.data-report list": "데이타 리포트 조회",
67
80
  "title.data-report-view": "데이타 리포트",
81
+ "title.data-report samples": "샘플 데이타 리포트",
68
82
  "title.data-sample list": "데이타 샘플 조회",
69
83
  "title.data-sample search": "데이타 샘플 검색",
70
84
  "title.data-sample view": "데이타 샘플 상세",
71
85
  "title.data-sensor list": "데이타 센서 조회",
72
86
  "title.data-set list": "데이타 셋 조회",
73
- "title.edit code": "코드 편집"
87
+ "title.edit code": "코드 편집",
88
+ "title.ready": "준비 중"
74
89
  }
@@ -48,6 +48,7 @@
48
48
  "field.work-shift": "work shift",
49
49
  "label.acceptables": "acceptables",
50
50
  "label.critical-limits": "critical limits",
51
+ "label.data-set-type": "type",
51
52
  "label.minimum value": "minimum value",
52
53
  "label.maximum value": "maximum value",
53
54
  "label.pass-limits": "pass limits",
@@ -62,6 +63,7 @@
62
63
  "title.data-item list": "data item list",
63
64
  "title.data-monitor-view": "data monitor view",
64
65
  "title.data-report-view": "data report view",
66
+ "title.data-report samples": "samples data report",
65
67
  "title.data-ooc list": "data OOC list",
66
68
  "title.data-ooc view": "data OOC view",
67
69
  "title.data-sample list": "data sample list",
@@ -48,6 +48,7 @@
48
48
  "field.work-shift": "work shift",
49
49
  "label.acceptables": "acceptables",
50
50
  "label.critical-limits": "critical limits",
51
+ "label.data-set-type": "type",
51
52
  "label.minimum value": "minimum value",
52
53
  "label.maximum value": "maximum value",
53
54
  "label.pass-limits": "pass limits",
@@ -62,6 +63,7 @@
62
63
  "title.data-item list": "data item list",
63
64
  "title.data-monitor-view": "data monitor view",
64
65
  "title.data-report-view": "data report view",
66
+ "title.data-report samples": "samples data report",
65
67
  "title.data-ooc list": "data OOC list",
66
68
  "title.data-ooc view": "data OOC view",
67
69
  "title.data-sample list": "data sample list",
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DataItemMutation = void 0;
16
- const type_graphql_1 = require("type-graphql");
17
- const typeorm_1 = require("typeorm");
18
- const data_set_1 = require("../data-set/data-set");
19
- const data_item_1 = require("./data-item");
20
- const data_item_type_1 = require("./data-item-type");
21
- let DataItemMutation = class DataItemMutation {
22
- async updateMultipleDataItem(dataSetId, patches, context) {
23
- const { domain, user, tx } = context.state;
24
- let results = [];
25
- const dataItemRepo = tx.getRepository(data_item_1.DataItem);
26
- const dataSet = await tx.getRepository(data_set_1.DataSet).findOne(dataSetId);
27
- await dataItemRepo.delete({ domain, dataSet: dataSetId });
28
- for (let i = 0; i < patches.length; i++) {
29
- const result = await dataItemRepo.save(Object.assign(Object.assign({ quota: 1 }, patches[i]), { sequence: i, dataSet,
30
- domain, creator: user, updater: user }));
31
- results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
32
- }
33
- return results;
34
- }
35
- async deleteDataItems(ids, context) {
36
- const { domain, tx } = context.state;
37
- await tx.getRepository(data_item_1.DataItem).delete({
38
- domain,
39
- id: (0, typeorm_1.In)(ids)
40
- });
41
- return true;
42
- }
43
- };
44
- __decorate([
45
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
46
- (0, type_graphql_1.Directive)('@transaction'),
47
- (0, type_graphql_1.Mutation)(returns => [data_item_1.DataItem], { description: "To modify multiple DataItems' information" }),
48
- __param(0, (0, type_graphql_1.Arg)('dataSetId')),
49
- __param(1, (0, type_graphql_1.Arg)('patches', type => [data_item_type_1.DataItemPatch])),
50
- __param(2, (0, type_graphql_1.Ctx)()),
51
- __metadata("design:type", Function),
52
- __metadata("design:paramtypes", [String, Array, Object]),
53
- __metadata("design:returntype", Promise)
54
- ], DataItemMutation.prototype, "updateMultipleDataItem", null);
55
- __decorate([
56
- (0, type_graphql_1.Directive)('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)'),
57
- (0, type_graphql_1.Directive)('@transaction'),
58
- (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple dataItems' }),
59
- __param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
60
- __param(1, (0, type_graphql_1.Ctx)()),
61
- __metadata("design:type", Function),
62
- __metadata("design:paramtypes", [Array, Object]),
63
- __metadata("design:returntype", Promise)
64
- ], DataItemMutation.prototype, "deleteDataItems", null);
65
- DataItemMutation = __decorate([
66
- (0, type_graphql_1.Resolver)(data_item_1.DataItem)
67
- ], DataItemMutation);
68
- exports.DataItemMutation = DataItemMutation;
69
- //# sourceMappingURL=data-item-mutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-item-mutation.js","sourceRoot":"","sources":["../../../server/service/data-item/data-item-mutation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAsE;AACtE,qCAA4B;AAE5B,mDAA8C;AAC9C,2CAAsC;AACtC,qDAAgD;AAGhD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,KAAK,CAAC,sBAAsB,CACR,SAAiB,EACM,OAAwB,EAC1D,OAAY;QAEnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,oBAAQ,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAElE,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,+BACpC,KAAK,EAAE,CAAC,IACL,OAAO,CAAC,CAAC,CAAC,KACb,QAAQ,EAAE,CAAC,EACX,OAAO;gBACP,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;SACzC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAKD,KAAK,CAAC,eAAe,CAA+B,GAAa,EAAS,OAAY;QACpF,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAQ,CAAC,CAAC,MAAM,CAAC;YACtC,MAAM;YACN,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AA3CC;IAHC,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,oBAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IAE3F,WAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,WAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC,CAAA;IACvC,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;8DAyBP;AAKD;IAHC,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IACvD,WAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;uDASxE;AA9CU,gBAAgB;IAD5B,IAAA,uBAAQ,EAAC,oBAAQ,CAAC;GACN,gBAAgB,CA+C5B;AA/CY,4CAAgB"}