@things-factory/dataset 5.0.16 → 6.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/pages/data-archive/data-archive-request-popup.js +10 -15
- package/client/pages/data-key-set/data-key-set-importer.js +4 -6
- package/client/pages/data-set/data-set-importer.js +1 -1
- package/dist-server/service/data-archive/data-archive-mutation.js +6 -6
- package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
- package/dist-server/service/data-archive/data-archive-query.js +7 -9
- package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
- package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
- package/dist-server/service/data-archive/data-archive.js +3 -4
- package/dist-server/service/data-archive/data-archive.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-mutation.js +4 -4
- package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-query.js +9 -11
- package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set.js +3 -4
- package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-mutation.js +1 -1
- package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +9 -11
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-subscription.js +1 -2
- package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-type.js +2 -3
- package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc.js +4 -5
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +12 -14
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-type.js +1 -2
- package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +3 -4
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-mutation.js +4 -4
- package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-query.js +9 -11
- package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-type.js +4 -5
- package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor.js +4 -5
- package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
- package/dist-server/service/data-set/data-item-type.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +6 -5
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-query.js +24 -26
- package/dist-server/service/data-set/data-set-query.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.js +6 -7
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set/data-set.js +5 -6
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history-query.js +14 -16
- package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history.js +5 -6
- package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
- package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
- package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
- package/dist-server/service/data-spec/data-spec.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/server/service/data-archive/data-archive-mutation.ts +53 -24
- package/server/service/data-archive/data-archive-query.ts +7 -8
- package/server/service/data-key-set/data-key-set-mutation.ts +16 -13
- package/server/service/data-key-set/data-key-set-query.ts +8 -9
- package/server/service/data-ooc/data-ooc-mutation.ts +12 -8
- package/server/service/data-ooc/data-ooc-query.ts +8 -9
- package/server/service/data-ooc/data-ooc-subscription.ts +1 -2
- package/server/service/data-sample/data-sample-mutation.ts +4 -1
- package/server/service/data-sample/data-sample-query.ts +10 -11
- package/server/service/data-sensor/data-sensor-mutation.ts +15 -9
- package/server/service/data-sensor/data-sensor-query.ts +9 -10
- package/server/service/data-set/data-set-mutation.ts +17 -12
- package/server/service/data-set/data-set-query.ts +18 -19
- package/server/service/data-set-history/data-set-history-query.ts +13 -14
@@ -1,5 +1,4 @@
|
|
1
1
|
import { SingleColumnFormStyles } from '@things-factory/form-ui'
|
2
|
-
import '@things-factory/grist-ui'
|
3
2
|
import { i18next, localize } from '@things-factory/i18n-base'
|
4
3
|
import { client, CustomAlert } from '@things-factory/shell'
|
5
4
|
import gql from 'graphql-tag'
|
@@ -40,15 +39,13 @@ class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
|
|
40
39
|
<form id="input-form" name="generation" class="single-column-form" @submit=${e => this.onSubmit(e)}>
|
41
40
|
<fieldset>
|
42
41
|
<label>${i18next.t('label.start-date')}</label>
|
43
|
-
<input type="month" name="startDate" required/>
|
42
|
+
<input type="month" name="startDate" required />
|
44
43
|
<label>${i18next.t('label.end-date')}</label>
|
45
|
-
<input type="month" name="endDate" .value=${moment().format('YYYY-MM')}/>
|
44
|
+
<input type="month" name="endDate" .value=${moment().format('YYYY-MM')} />
|
46
45
|
<label>${i18next.t('label.data-set-type')}</label>
|
47
46
|
<select name="type" required>
|
48
|
-
${(this.dataSetTypes || []).map(
|
49
|
-
|
50
|
-
)}
|
51
|
-
</select>
|
47
|
+
${(this.dataSetTypes || []).map(t => html`<option value="${t && t.value}">${t && t.display}</option>`)}
|
48
|
+
</select>
|
52
49
|
</fieldset>
|
53
50
|
</form>
|
54
51
|
|
@@ -58,19 +55,16 @@ class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
|
|
58
55
|
`
|
59
56
|
}
|
60
57
|
|
61
|
-
async firstUpdated() {
|
62
|
-
|
63
|
-
}
|
58
|
+
async firstUpdated() {}
|
64
59
|
|
65
60
|
async onSubmit(e) {
|
66
61
|
e.preventDefault()
|
67
62
|
this.requestArchive()
|
68
63
|
}
|
69
64
|
|
70
|
-
|
71
65
|
serializeFormData() {
|
72
66
|
const obj = {}
|
73
|
-
|
67
|
+
|
74
68
|
Array.from(this.shadowRoot.querySelectorAll('form#input-form input, select')).forEach(field => {
|
75
69
|
if (!field.hasAttribute('hidden') && field.value) {
|
76
70
|
obj[field.name] = field.type === 'checkbox' ? field.checked : field.value
|
@@ -115,7 +109,9 @@ class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
|
|
115
109
|
if (!response.errors) {
|
116
110
|
this.dispatchEvent(new CustomEvent('requested', {}))
|
117
111
|
|
118
|
-
const {
|
112
|
+
const {
|
113
|
+
createDataArchive: { id }
|
114
|
+
} = response.data
|
119
115
|
dataArchive['id'] = id
|
120
116
|
|
121
117
|
this._generateArchiveAndDownloadUrl(dataArchive)
|
@@ -126,7 +122,6 @@ class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
|
|
126
122
|
text: i18next.t('text.data-archive waits'),
|
127
123
|
confirmButton: { text: i18next.t('button.confirm') }
|
128
124
|
})
|
129
|
-
|
130
125
|
} else {
|
131
126
|
console.error(response.errors)
|
132
127
|
this.showToast(i18next.t('text.failed'))
|
@@ -147,7 +142,7 @@ class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
|
|
147
142
|
variables: { patch: dataArchive }
|
148
143
|
})
|
149
144
|
|
150
|
-
if (!response.errors) {
|
145
|
+
if (!response.errors) {
|
151
146
|
this.showToast(i18next.t('title.data-archive downloads ready'))
|
152
147
|
this.dispatchEvent(new CustomEvent('created', {}))
|
153
148
|
} else {
|
@@ -75,11 +75,9 @@ export class DataKeySetImporter extends LitElement {
|
|
75
75
|
<ox-grist
|
76
76
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
77
77
|
.config=${this.columns}
|
78
|
-
.data=${
|
79
|
-
|
80
|
-
|
81
|
-
}
|
82
|
-
}
|
78
|
+
.data=${{
|
79
|
+
records: this.dataKeySets
|
80
|
+
}}
|
83
81
|
></ox-grist>
|
84
82
|
|
85
83
|
<div class="button-container">
|
@@ -98,7 +96,7 @@ export class DataKeySetImporter extends LitElement {
|
|
98
96
|
variables: { dataKeySets: this.dataKeySets }
|
99
97
|
})
|
100
98
|
|
101
|
-
if (response.
|
99
|
+
if (response.errors?.length) return
|
102
100
|
|
103
101
|
this.dispatchEvent(new CustomEvent('imported'))
|
104
102
|
}
|
@@ -2,20 +2,20 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.DataArchiveMutation = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
|
+
const i18next_1 = tslib_1.__importDefault(require("i18next"));
|
6
|
+
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
5
7
|
const type_graphql_1 = require("type-graphql");
|
6
8
|
const typeorm_1 = require("typeorm");
|
7
|
-
const
|
8
|
-
const i18next_1 = tslib_1.__importDefault(require("i18next"));
|
9
|
+
const config_resolver_1 = require("../../utils/config-resolver");
|
9
10
|
const data_archive_1 = require("./data-archive");
|
10
11
|
const data_archive_type_1 = require("./data-archive-type");
|
11
|
-
const config_resolver_1 = require("../../utils/config-resolver");
|
12
12
|
const { config } = require('@things-factory/env');
|
13
13
|
const crypto = require('crypto');
|
14
14
|
let DataArchiveMutation = class DataArchiveMutation {
|
15
15
|
/**
|
16
16
|
* It may use 'func-[dev]-data-set-download' in https://github.com/operatochef/serverless
|
17
17
|
* This function requests athena query and save the result as csv.gz in s3
|
18
|
-
|
18
|
+
*/
|
19
19
|
async generatePresignedUrl(patch, context) {
|
20
20
|
const { domain, user, tx, notify, lng } = context.state;
|
21
21
|
// const dataArchiveRepo = tx.getRepository(DataArchive)
|
@@ -64,7 +64,7 @@ let DataArchiveMutation = class DataArchiveMutation {
|
|
64
64
|
const { domain, user, tx } = context.state;
|
65
65
|
const dataArchiveRepo = tx.getRepository(data_archive_1.DataArchive);
|
66
66
|
const dataArchive = await dataArchiveRepo.findOne({
|
67
|
-
where: { domain, id },
|
67
|
+
where: { domain: { id: domain.id }, id },
|
68
68
|
relations: ['domain', 'creator', 'updater']
|
69
69
|
});
|
70
70
|
const result = await dataArchiveRepo.save(Object.assign(Object.assign(Object.assign({}, dataArchive), patch), { updater: user }));
|
@@ -124,7 +124,7 @@ let DataArchiveMutation = class DataArchiveMutation {
|
|
124
124
|
const originals = await dataArchiveRepo.find({
|
125
125
|
where: {
|
126
126
|
id: (0, typeorm_1.In)(ids),
|
127
|
-
domain
|
127
|
+
domain: { id: domain.id }
|
128
128
|
},
|
129
129
|
relations: ['domain']
|
130
130
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-archive-mutation.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\nimport fetch from 'node-fetch'\nimport i18next from 'i18next'\n\nimport { DataArchive } from './data-archive'\nimport { DataArchivePatch, NewDataArchive } from './data-archive-type'\nimport { getEndpointUrl } from '../../utils/config-resolver'\n\nconst { config } = require('@things-factory/env')\nconst crypto = require('crypto')\n\n@Resolver(DataArchive)\nexport class DataArchiveMutation {\n\n /** \n * It may use 'func-[dev]-data-set-download' in https://github.com/operatochef/serverless \n * This function requests athena query and save the result as csv.gz in s3\n */\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataArchive, { description: 'To create new DataArchive' })\n async generatePresignedUrl(@Arg('patch') patch: DataArchivePatch, @Ctx() context: any): Promise<DataArchive> {\n const { domain, user, tx, notify, lng } = context.state\n // const dataArchiveRepo = tx.getRepository(DataArchive)\n const t = i18next.getFixedT(lng, 'translations')\n const { dataset: { endpoint, datasource: { database } }} = config.get('dataArchive')\n \n const body = JSON.stringify({ \n domain: domain?.subdomain,\n database,\n ...patch?.requestParams\n })\n\n const url = getEndpointUrl(endpoint)\n\n const fetched = await fetch(`${url}`, {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body\n })\n \n const message = {\n receivers: [user.email],\n mode: 'in-app',\n title: '',\n body: '',\n url: ''\n }\n\n if (fetched.ok) {\n const response = await fetched.json()\n patch.downloadUrl = response['presignedUrl']\n patch.status = 'done'\n\n message['title'] = t('title.data-archive downloads ready')\n message['url'] = patch.downloadUrl\n } else {\n const error = await fetched.text()\n console.log(error)\n patch.status = 'error'\n \n message['title'] = t('title.data-archive request failed')\n // may not user-friendly message\n message['body'] = error\n }\n\n const result = await this.updateDataArchive(patch.id, patch, context)\n\n notify && notify(message)\n\n return result\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataArchive, { description: 'To create new DataArchive' })\n async createDataArchive(@Arg('dataArchive') dataArchive: NewDataArchive, @Ctx() context: any): Promise<DataArchive> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n const result = await dataArchiveRepo.save({\n ...dataArchive,\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataArchive, { description: 'To modify DataArchive information' })\n async updateDataArchive(@Arg('id') id: string, @Arg('patch') patch: DataArchivePatch, @Ctx() context: any): Promise<DataArchive> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n const dataArchive = await dataArchiveRepo.findOne({\n where: { domain, id },\n relations: ['domain', 'creator', 'updater']\n })\n\n const result = await dataArchiveRepo.save({\n ...dataArchive,\n ...patch,\n updater: user\n })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataArchive], { description: \"To modify multiple DataArchives' information\" })\n async updateMultipleDataArchive(\n @Arg('patches', type => [DataArchivePatch]) patches: DataArchivePatch[],\n @Ctx() context: any\n ): Promise<DataArchive[]> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n const cuFlag = '+'\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await dataArchiveRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n if (_updateRecords.length > 0) {\n const cuFlag = 'M'\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const dataArchive = await dataArchiveRepo.findOne(newRecord.id, {\n relations: ['domain', 'creator', 'updater']\n })\n\n const result = await dataArchiveRepo.save({\n ...dataArchive,\n ...newRecord,\n updater: user\n })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n return results\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DataArchive' })\n async deleteDataArchive(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataArchive).delete({ domain, id })\n return true\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple dataArchives' })\n async deleteDataArchives(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataArchive).delete({\n domain,\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple data-archives' })\n async importDataArchives(\n @Arg('dataArchives', type => [DataArchivePatch]) dataArchives: DataArchive[],\n @Ctx() context: any\n ): Promise<boolean> {\n const { domain, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n await Promise.all(\n dataArchives.map(async (dataArchive: DataArchive) => {\n const createdDataArchive: DataArchive = await dataArchiveRepo.save({\n domain,\n ...dataArchive\n })\n })\n )\n\n return true\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataArchive], { description: 'To copy multiple data-archives' })\n async copyDataArchives(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<DataArchive[]> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n const originals = await dataArchiveRepo.find({\n where: {\n id: In(ids),\n domain\n },\n relations: ['domain']\n })\n\n if (originals.length == 0) {\n return []\n }\n\n var newCopys = originals.map(dataArchive => {\n let dataArchiveId = crypto.randomUUID()\n\n return {\n ...dataArchive,\n id: dataArchiveId,\n domain,\n creator: user,\n updater: user,\n updatedAt: undefined,\n createdAt: undefined\n }\n })\n\n var copiedDataArchives = await dataArchiveRepo.save(newCopys)\n\n return copiedDataArchives\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"data-archive-mutation.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import i18next from 'i18next'\nimport fetch from 'node-fetch'\nimport {\n Arg,\n Ctx,\n Directive,\n Mutation,\n Resolver\n} from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { getEndpointUrl } from '../../utils/config-resolver'\nimport { DataArchive } from './data-archive'\nimport {\n DataArchivePatch,\n NewDataArchive\n} from './data-archive-type'\n\nconst { config } = require('@things-factory/env')\nconst crypto = require('crypto')\n\n@Resolver(DataArchive)\nexport class DataArchiveMutation {\n /**\n * It may use 'func-[dev]-data-set-download' in https://github.com/operatochef/serverless\n * This function requests athena query and save the result as csv.gz in s3\n */\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataArchive, { description: 'To create new DataArchive' })\n async generatePresignedUrl(\n @Arg('patch') patch: DataArchivePatch,\n @Ctx() context: ResolverContext\n ): Promise<DataArchive> {\n const { domain, user, tx, notify, lng } = context.state\n // const dataArchiveRepo = tx.getRepository(DataArchive)\n const t = i18next.getFixedT(lng, 'translations')\n const {\n dataset: {\n endpoint,\n datasource: { database }\n }\n } = config.get('dataArchive')\n\n const body = JSON.stringify({\n domain: domain?.subdomain,\n database,\n ...patch?.requestParams\n })\n\n const url = getEndpointUrl(endpoint)\n\n const fetched = await fetch(`${url}`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body\n })\n\n const message = {\n receivers: [user.email],\n mode: 'in-app',\n title: '',\n body: '',\n url: ''\n }\n\n if (fetched.ok) {\n const response = await fetched.json()\n patch.downloadUrl = response['presignedUrl']\n patch.status = 'done'\n\n message['title'] = t('title.data-archive downloads ready')\n message['url'] = patch.downloadUrl\n } else {\n const error = await fetched.text()\n console.log(error)\n patch.status = 'error'\n\n message['title'] = t('title.data-archive request failed')\n // may not user-friendly message\n message['body'] = error\n }\n\n const result = await this.updateDataArchive(patch.id, patch, context)\n\n notify && notify(message)\n\n return result\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataArchive, { description: 'To create new DataArchive' })\n async createDataArchive(\n @Arg('dataArchive') dataArchive: NewDataArchive,\n @Ctx() context: ResolverContext\n ): Promise<DataArchive> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n const result = await dataArchiveRepo.save({\n ...dataArchive,\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => DataArchive, { description: 'To modify DataArchive information' })\n async updateDataArchive(\n @Arg('id') id: string,\n @Arg('patch') patch: DataArchivePatch,\n @Ctx() context: ResolverContext\n ): Promise<DataArchive> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n const dataArchive = await dataArchiveRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'creator', 'updater']\n })\n\n const result = await dataArchiveRepo.save({\n ...dataArchive,\n ...patch,\n updater: user\n })\n\n return result\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataArchive], { description: \"To modify multiple DataArchives' information\" })\n async updateMultipleDataArchive(\n @Arg('patches', type => [DataArchivePatch]) patches: DataArchivePatch[],\n @Ctx() context: any\n ): Promise<DataArchive[]> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n const cuFlag = '+'\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await dataArchiveRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n if (_updateRecords.length > 0) {\n const cuFlag = 'M'\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const dataArchive = await dataArchiveRepo.findOne(newRecord.id, {\n relations: ['domain', 'creator', 'updater']\n })\n\n const result = await dataArchiveRepo.save({\n ...dataArchive,\n ...newRecord,\n updater: user\n })\n\n results.push({\n ...result,\n cuFlag\n })\n }\n }\n\n return results\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DataArchive' })\n async deleteDataArchive(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataArchive).delete({ domain, id })\n return true\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple dataArchives' })\n async deleteDataArchives(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataArchive).delete({\n domain,\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple data-archives' })\n async importDataArchives(\n @Arg('dataArchives', type => [DataArchivePatch]) dataArchives: DataArchive[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n await Promise.all(\n dataArchives.map(async (dataArchive: DataArchive) => {\n const createdDataArchive: DataArchive = await dataArchiveRepo.save({\n domain,\n ...dataArchive\n })\n })\n )\n\n return true\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Directive('@transaction')\n @Mutation(returns => [DataArchive], { description: 'To copy multiple data-archives' })\n async copyDataArchives(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<DataArchive[]> {\n const { domain, user, tx } = context.state\n const dataArchiveRepo = tx.getRepository(DataArchive)\n\n const originals = await dataArchiveRepo.find({\n where: {\n id: In(ids),\n domain: { id: domain.id }\n },\n relations: ['domain']\n })\n\n if (originals.length == 0) {\n return []\n }\n\n var newCopys = originals.map(dataArchive => {\n let dataArchiveId = crypto.randomUUID()\n\n return {\n ...dataArchive,\n id: dataArchiveId,\n domain,\n creator: user,\n updater: user,\n updatedAt: undefined,\n createdAt: undefined\n }\n })\n\n var copiedDataArchives = await dataArchiveRepo.save(newCopys)\n\n return copiedDataArchives\n }\n}\n"]}
|
@@ -1,10 +1,8 @@
|
|
1
1
|
"use strict";
|
2
|
-
var _a;
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
4
3
|
exports.DataArchiveQuery = void 0;
|
5
4
|
const tslib_1 = require("tslib");
|
6
5
|
const type_graphql_1 = require("type-graphql");
|
7
|
-
const typeorm_1 = require("typeorm");
|
8
6
|
const auth_base_1 = require("@things-factory/auth-base");
|
9
7
|
const shell_1 = require("@things-factory/shell");
|
10
8
|
const data_archive_1 = require("./data-archive");
|
@@ -13,14 +11,14 @@ var parser = require('cron-parser');
|
|
13
11
|
let DataArchiveQuery = class DataArchiveQuery {
|
14
12
|
async dataArchive(id, context) {
|
15
13
|
const { domain } = context.state;
|
16
|
-
return await (0,
|
17
|
-
where: { domain, id }
|
14
|
+
return await (0, shell_1.getRepository)(data_archive_1.DataArchive).findOne({
|
15
|
+
where: { domain: { id: domain.id }, id }
|
18
16
|
});
|
19
17
|
}
|
20
18
|
async dataArchives(params, context) {
|
21
19
|
const { domain } = context.state;
|
22
20
|
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
23
|
-
repository: (0,
|
21
|
+
repository: (0, shell_1.getRepository)(data_archive_1.DataArchive),
|
24
22
|
params,
|
25
23
|
domain,
|
26
24
|
alias: 'dataArchive',
|
@@ -30,13 +28,13 @@ let DataArchiveQuery = class DataArchiveQuery {
|
|
30
28
|
return { items, total };
|
31
29
|
}
|
32
30
|
async domain(dataArchive) {
|
33
|
-
return await (0,
|
31
|
+
return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: dataArchive.domainId });
|
34
32
|
}
|
35
33
|
async updater(dataArchive) {
|
36
|
-
return await (0,
|
34
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: dataArchive.updaterId });
|
37
35
|
}
|
38
36
|
async creator(dataArchive) {
|
39
|
-
return await (0,
|
37
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: dataArchive.creatorId });
|
40
38
|
}
|
41
39
|
};
|
42
40
|
tslib_1.__decorate([
|
@@ -54,7 +52,7 @@ tslib_1.__decorate([
|
|
54
52
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
55
53
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
56
54
|
tslib_1.__metadata("design:type", Function),
|
57
|
-
tslib_1.__metadata("design:paramtypes", [
|
55
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
58
56
|
tslib_1.__metadata("design:returntype", Promise)
|
59
57
|
], DataArchiveQuery.prototype, "dataArchives", null);
|
60
58
|
tslib_1.__decorate([
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-archive-query.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive-query.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"data-archive-query.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { Role, User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, ListParam, getRepository } from '@things-factory/shell'\n\nimport { DataArchive } from './data-archive'\nimport { DataArchiveList } from './data-archive-type'\n\nvar parser = require('cron-parser')\n\n@Resolver(DataArchive)\nexport class DataArchiveQuery {\n @Directive('@privilege(category: \"data-archive\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataArchive, { description: 'To fetch a DataArchive' })\n async dataArchive(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataArchive> {\n const { domain } = context.state\n\n return await getRepository(DataArchive).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"data-archive\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => DataArchiveList, { description: 'To fetch multiple DataArchives' })\n async dataArchives(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataArchiveList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n repository: getRepository(DataArchive),\n params,\n domain,\n alias: 'dataArchive',\n searchables: []\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() dataArchive: DataArchive): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: dataArchive.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() dataArchive: DataArchive): Promise<User> {\n return await getRepository(User).findOneBy({ id: dataArchive.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() dataArchive: DataArchive): Promise<User> {\n return await getRepository(User).findOneBy({ id: dataArchive.creatorId })\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-archive-type.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,iDAA4C;AAC5C,iDAA+D;
|
1
|
+
{"version":3,"file":"data-archive-type.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,iDAA4C;AAC5C,iDAA+D;AAG/D,IAAa,cAAc,GAA3B,MAAa,cAAc;CAa1B,CAAA;AAXC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACY;AAGtC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACV;AAGtC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACX;AAXJ,cAAc;IAD1B,IAAA,wBAAS,GAAE;GACC,cAAc,CAa1B;AAbY,wCAAc;AAgB3B,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;CAkB5B,CAAA;AAhBC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACY;AAGtC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACV;AAGtC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACX;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACZ;AAjBH,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAkB5B;AAlBY,4CAAgB;AAqB7B,IAAa,eAAe,GAA5B,MAAa,eAAe;CAM3B,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,0BAAW,CAAC,CAAC;;8CACT;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;8CACN;AALF,eAAe;IAD3B,IAAA,yBAAU,GAAE;GACA,eAAe,CAM3B;AANY,0CAAe","sourcesContent":["import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\nimport { DataArchive } from './data-archive'\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\n@InputType()\nexport class NewDataArchive {\n @Field({ nullable: true })\n type?: 'manual' | 'automatic' | string\n \n @Field(type => ScalarObject, { nullable: true })\n requestParams?: { [key: string]: any }\n\n @Field({ nullable: true })\n downloadUrl?: string\n\n @Field({ nullable: true })\n status?: string\n\n}\n\n@InputType()\nexport class DataArchivePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n type?: 'manual' | 'automatic' | string\n\n @Field(type => ScalarObject, { nullable: true })\n requestParams?: { [key: string]: any }\n\n @Field({ nullable: true })\n downloadUrl?: string\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n cuFlag: string\n}\n\n@ObjectType()\nexport class DataArchiveList {\n @Field(type => [DataArchive])\n items: DataArchive[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var _a, _b, _c;
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
4
3
|
exports.DataArchive = void 0;
|
5
4
|
const tslib_1 = require("tslib");
|
@@ -17,7 +16,7 @@ tslib_1.__decorate([
|
|
17
16
|
tslib_1.__decorate([
|
18
17
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
19
18
|
(0, type_graphql_1.Field)({ nullable: true }),
|
20
|
-
tslib_1.__metadata("design:type",
|
19
|
+
tslib_1.__metadata("design:type", shell_1.Domain)
|
21
20
|
], DataArchive.prototype, "domain", void 0);
|
22
21
|
tslib_1.__decorate([
|
23
22
|
(0, typeorm_1.RelationId)((dataArchive) => dataArchive.domain),
|
@@ -56,7 +55,7 @@ tslib_1.__decorate([
|
|
56
55
|
tslib_1.__decorate([
|
57
56
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
58
57
|
(0, type_graphql_1.Field)({ nullable: true }),
|
59
|
-
tslib_1.__metadata("design:type",
|
58
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
60
59
|
], DataArchive.prototype, "creator", void 0);
|
61
60
|
tslib_1.__decorate([
|
62
61
|
(0, typeorm_1.RelationId)((dataArchive) => dataArchive.creator),
|
@@ -65,7 +64,7 @@ tslib_1.__decorate([
|
|
65
64
|
tslib_1.__decorate([
|
66
65
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
67
66
|
(0, type_graphql_1.Field)({ nullable: true }),
|
68
|
-
tslib_1.__metadata("design:type",
|
67
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
69
68
|
], DataArchive.prototype, "updater", void 0);
|
70
69
|
tslib_1.__decorate([
|
71
70
|
(0, typeorm_1.RelationId)((dataArchive) => dataArchive.creator),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-archive.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"data-archive.js","sourceRoot":"","sources":["../../../server/service/data-archive/data-archive.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAUgB;AAEhB,yDAAsD;AACtD,iDAA4D;AAK5D,IAAa,WAAW,GAAxB,MAAa,WAAW;CAiDvB,CAAA;AA9CC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;uCACC;AAInB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,cAAM;2CAAA;AAGf;IADC,IAAA,oBAAU,EAAC,CAAC,WAAwB,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;;6CAC5C;AAIjB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACY;AAItC;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACV;AAItC;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACN;AAIpB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAIf;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;8CAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;8CAAA;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAChB,gBAAI;4CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,WAAwB,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;;8CAC5C;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAChB,gBAAI;4CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,WAAwB,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;;8CAC5C;AAhDP,WAAW;IAHvB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,mBAAmB,EAAE,CAAC,WAAwB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5F,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;GACzC,WAAW,CAiDvB;AAjDY,kCAAW","sourcesContent":["import { Field, ID, ObjectType, registerEnumType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn,\n VersionColumn\n} from 'typeorm'\n\nimport { Role, User } from '@things-factory/auth-base'\nimport { Domain, ScalarObject } from '@things-factory/shell'\n\n@Entity()\n@Index('ix_data_archive_0', (dataArchive: DataArchive) => [dataArchive.id], { unique: true })\n@ObjectType({ description: 'Entity for DataArchive' })\nexport class DataArchive {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((dataArchive: DataArchive) => dataArchive.domain)\n domainId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n type?: 'manual' | 'automatic' | string\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n requestParams?: { [key: string]: any }\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n downloadUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n status?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((dataArchive: DataArchive) => dataArchive.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((dataArchive: DataArchive) => dataArchive.creator)\n updaterId?: string\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-key-item-type.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-item-type.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;
|
1
|
+
{"version":3,"file":"data-key-item-type.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-item-type.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;AAG3D,IAAa,WAAW,GAAxB,MAAa,WAAW;CAYvB,CAAA;AAVC;IADC,IAAA,oBAAK,GAAE;;yCACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACX;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAXF,WAAW;IADvB,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;GACzC,WAAW,CAYvB;AAZY,kCAAW;AAexB,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;CAY5B,CAAA;AAVC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACb;AAXF,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAY5B;AAZY,4CAAgB","sourcesContent":["import { Field, InputType, ObjectType } from 'type-graphql'\n\n@ObjectType({ description: 'Entity for DataKeyItem' })\nexport class DataKeyItem {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n dataKey: string\n\n @Field({ nullable: true })\n tKey?: string\n}\n\n@InputType()\nexport class DataKeyItemPatch {\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n dataKey?: string\n\n @Field({ nullable: true })\n tKey?: string\n}\n"]}
|
@@ -26,7 +26,7 @@ let DataKeySetMutation = class DataKeySetMutation {
|
|
26
26
|
const { domain, user, tx } = context.state;
|
27
27
|
const repository = tx.getRepository(data_key_set_1.DataKeySet);
|
28
28
|
const dataKeySet = await repository.findOne({
|
29
|
-
where: { domain, id }
|
29
|
+
where: { domain: { id: domain.id }, id }
|
30
30
|
});
|
31
31
|
const result = await repository.save(Object.assign(Object.assign(Object.assign({}, dataKeySet), patch), { updater: user }));
|
32
32
|
if (patch.thumbnail) {
|
@@ -66,7 +66,7 @@ let DataKeySetMutation = class DataKeySetMutation {
|
|
66
66
|
if (_updateRecords.length > 0) {
|
67
67
|
for (let i = 0; i < _updateRecords.length; i++) {
|
68
68
|
const updateRecord = _updateRecords[i];
|
69
|
-
const dataKeySet = await dataKeySetRepo.
|
69
|
+
const dataKeySet = await dataKeySetRepo.findOneBy({ id: updateRecord.id });
|
70
70
|
const result = await dataKeySetRepo.save(Object.assign(Object.assign(Object.assign({}, dataKeySet), updateRecord), { updater: user }));
|
71
71
|
if (updateRecord.thumbnail) {
|
72
72
|
await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: [result.id] }, context);
|
@@ -85,14 +85,14 @@ let DataKeySetMutation = class DataKeySetMutation {
|
|
85
85
|
}
|
86
86
|
async deleteDataKeySet(id, context) {
|
87
87
|
const { domain, tx } = context.state;
|
88
|
-
await tx.getRepository(data_key_set_1.DataKeySet).delete({ domain, id });
|
88
|
+
await tx.getRepository(data_key_set_1.DataKeySet).delete({ domain: { id: domain.id }, id });
|
89
89
|
await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: [id] }, context);
|
90
90
|
return true;
|
91
91
|
}
|
92
92
|
async deleteDataKeySets(ids, context) {
|
93
93
|
const { domain, tx } = context.state;
|
94
94
|
await tx.getRepository(data_key_set_1.DataKeySet).delete({
|
95
|
-
domain,
|
95
|
+
domain: { id: domain.id },
|
96
96
|
id: (0, typeorm_1.In)(ids)
|
97
97
|
});
|
98
98
|
await (0, attachment_base_1.deleteAttachmentsByRef)(null, { refBys: ids }, context);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-key-set-mutation.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-set-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { getRepository, In } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\n\nimport { DataKeySet } from './data-key-set'\nimport { NewDataKeySet, DataKeySetPatch } from './data-key-set-type'\n\n@Resolver(DataKeySet)\nexport class DataKeySetMutation {\n @Directive('@transaction')\n @Mutation(returns => DataKeySet, { description: 'To create new DataKeySet' })\n async createDataKeySet(@Arg('dataKeySet') dataKeySet: NewDataKeySet, @Ctx() context: any): Promise<DataKeySet> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(DataKeySet).save({\n ...dataKeySet,\n domain,\n creator: user,\n updater: user\n })\n\n if (dataKeySet.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: dataKeySet.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataKeySet, { description: 'To modify DataKeySet information' })\n async updateDataKeySet(\n @Arg('id') id: string,\n @Arg('patch') patch: DataKeySetPatch,\n @Ctx() context: any\n ): Promise<DataKeySet> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(DataKeySet)\n const dataKeySet = await repository.findOne({\n where: { domain, id }\n })\n\n const result = await repository.save({\n ...dataKeySet,\n ...patch,\n updater: user\n })\n\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [DataKeySet], { description: \"To modify multiple DataKeySets' information\" })\n async updateMultipleDataKeySet(\n @Arg('patches', type => [DataKeySetPatch]) patches: DataKeySetPatch[],\n @Ctx() context: any\n ): Promise<DataKeySet[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const dataKeySetRepo = tx.getRepository(DataKeySet)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await dataKeySetRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const dataKeySet = await dataKeySetRepo.findOne(updateRecord.id)\n\n const result = await dataKeySetRepo.save({\n ...dataKeySet,\n ...updateRecord,\n updater: user\n })\n\n if (updateRecord.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: updateRecord.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DataKeySet' })\n async deleteDataKeySet(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataKeySet).delete({ domain, id })\n await deleteAttachmentsByRef(null, { refBys: [id] }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple DataKeySets' })\n async deleteDataKeySets(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: any\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataKeySet).delete({\n domain,\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple DataKeySets' })\n async importDataKeySets(\n @Arg('dataKeySets', type => [DataKeySetPatch]) dataKeySets: DataKeySetPatch[],\n @Ctx() context: any\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n dataKeySets.map(async (dataKeySet: DataKeySetPatch) => {\n const createdDataKeySet: DataKeySet = await tx.getRepository(DataKeySet).save({ domain, ...dataKeySet })\n })\n )\n\n return true\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"data-key-set-mutation.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-set-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { createAttachment, deleteAttachmentsByRef } from '@things-factory/attachment-base'\n\nimport { DataKeySet } from './data-key-set'\nimport { DataKeySetPatch, NewDataKeySet } from './data-key-set-type'\n\n@Resolver(DataKeySet)\nexport class DataKeySetMutation {\n @Directive('@transaction')\n @Mutation(returns => DataKeySet, { description: 'To create new DataKeySet' })\n async createDataKeySet(\n @Arg('dataKeySet') dataKeySet: NewDataKeySet,\n @Ctx() context: ResolverContext\n ): Promise<DataKeySet> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(DataKeySet).save({\n ...dataKeySet,\n domain,\n creator: user,\n updater: user\n })\n\n if (dataKeySet.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: dataKeySet.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => DataKeySet, { description: 'To modify DataKeySet information' })\n async updateDataKeySet(\n @Arg('id') id: string,\n @Arg('patch') patch: DataKeySetPatch,\n @Ctx() context: ResolverContext\n ): Promise<DataKeySet> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(DataKeySet)\n const dataKeySet = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...dataKeySet,\n ...patch,\n updater: user\n })\n\n if (patch.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: patch.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => [DataKeySet], { description: \"To modify multiple DataKeySets' information\" })\n async updateMultipleDataKeySet(\n @Arg('patches', type => [DataKeySetPatch]) patches: DataKeySetPatch[],\n @Ctx() context: ResolverContext\n ): Promise<DataKeySet[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const dataKeySetRepo = tx.getRepository(DataKeySet)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await dataKeySetRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n if (newRecord.thumbnail) {\n await createAttachment(\n null,\n {\n attachment: {\n file: newRecord.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const dataKeySet = await dataKeySetRepo.findOneBy({ id: updateRecord.id })\n\n const result = await dataKeySetRepo.save({\n ...dataKeySet,\n ...updateRecord,\n updater: user\n })\n\n if (updateRecord.thumbnail) {\n await deleteAttachmentsByRef(null, { refBys: [result.id] }, context)\n await createAttachment(\n null,\n {\n attachment: {\n file: updateRecord.thumbnail,\n refType: DataKeySet.name,\n refBy: result.id\n }\n },\n context\n )\n }\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete DataKeySet' })\n async deleteDataKeySet(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataKeySet).delete({ domain: { id: domain.id }, id })\n await deleteAttachmentsByRef(null, { refBys: [id] }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple DataKeySets' })\n async deleteDataKeySets(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(DataKeySet).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple DataKeySets' })\n async importDataKeySets(\n @Arg('dataKeySets', type => [DataKeySetPatch]) dataKeySets: DataKeySetPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n dataKeySets.map(async (dataKeySet: DataKeySetPatch) => {\n const createdDataKeySet: DataKeySet = await tx.getRepository(DataKeySet).save({ domain, ...dataKeySet })\n })\n )\n\n return true\n }\n}\n"]}
|
@@ -1,10 +1,8 @@
|
|
1
1
|
"use strict";
|
2
|
-
var _a;
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
4
3
|
exports.DataKeySetQuery = void 0;
|
5
4
|
const tslib_1 = require("tslib");
|
6
5
|
const type_graphql_1 = require("type-graphql");
|
7
|
-
const typeorm_1 = require("typeorm");
|
8
6
|
const attachment_base_1 = require("@things-factory/attachment-base");
|
9
7
|
const auth_base_1 = require("@things-factory/auth-base");
|
10
8
|
const shell_1 = require("@things-factory/shell");
|
@@ -13,8 +11,8 @@ const data_key_set_type_1 = require("./data-key-set-type");
|
|
13
11
|
let DataKeySetQuery = class DataKeySetQuery {
|
14
12
|
async dataKeySet(id, context) {
|
15
13
|
const { domain } = context.state;
|
16
|
-
return await (0,
|
17
|
-
where: { domain, id }
|
14
|
+
return await (0, shell_1.getRepository)(data_key_set_1.DataKeySet).findOne({
|
15
|
+
where: { domain: { id: domain.id }, id }
|
18
16
|
});
|
19
17
|
}
|
20
18
|
async dataKeySets(params, context) {
|
@@ -22,16 +20,16 @@ let DataKeySetQuery = class DataKeySetQuery {
|
|
22
20
|
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
23
21
|
domain,
|
24
22
|
params,
|
25
|
-
repository: await (0,
|
23
|
+
repository: await (0, shell_1.getRepository)(data_key_set_1.DataKeySet),
|
26
24
|
searchables: ['name', 'description']
|
27
25
|
});
|
28
26
|
const [items, total] = await queryBuilder.getManyAndCount();
|
29
27
|
return { items, total };
|
30
28
|
}
|
31
29
|
async thumbnail(dataKeySet) {
|
32
|
-
const attachment = await (0,
|
30
|
+
const attachment = await (0, shell_1.getRepository)(attachment_base_1.Attachment).findOne({
|
33
31
|
where: {
|
34
|
-
domain: dataKeySet.domainId,
|
32
|
+
domain: { id: dataKeySet.domainId },
|
35
33
|
refType: data_key_set_1.DataKeySet.name,
|
36
34
|
refBy: dataKeySet.id
|
37
35
|
}
|
@@ -39,13 +37,13 @@ let DataKeySetQuery = class DataKeySetQuery {
|
|
39
37
|
return attachment === null || attachment === void 0 ? void 0 : attachment.fullpath;
|
40
38
|
}
|
41
39
|
async domain(dataKeySet) {
|
42
|
-
return await (0,
|
40
|
+
return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: dataKeySet.domainId });
|
43
41
|
}
|
44
42
|
async updater(dataKeySet) {
|
45
|
-
return await (0,
|
43
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: dataKeySet.updaterId });
|
46
44
|
}
|
47
45
|
async creator(dataKeySet) {
|
48
|
-
return await (0,
|
46
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: dataKeySet.creatorId });
|
49
47
|
}
|
50
48
|
};
|
51
49
|
tslib_1.__decorate([
|
@@ -61,7 +59,7 @@ tslib_1.__decorate([
|
|
61
59
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
62
60
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
63
61
|
tslib_1.__metadata("design:type", Function),
|
64
|
-
tslib_1.__metadata("design:paramtypes", [
|
62
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
65
63
|
tslib_1.__metadata("design:returntype", Promise)
|
66
64
|
], DataKeySetQuery.prototype, "dataKeySets", null);
|
67
65
|
tslib_1.__decorate([
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-key-set-query.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-set-query.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"data-key-set-query.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-set-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { DataKeySet } from './data-key-set'\nimport { DataKeySetList } from './data-key-set-type'\n\n@Resolver(DataKeySet)\nexport class DataKeySetQuery {\n @Query(returns => DataKeySet!, { nullable: true, description: 'To fetch a DataKeySet' })\n async dataKeySet(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<DataKeySet> {\n const { domain } = context.state\n\n return await getRepository(DataKeySet).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => DataKeySetList, { description: 'To fetch multiple DataKeySets' })\n async dataKeySets(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<DataKeySetList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(DataKeySet),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => String)\n async thumbnail(@Root() dataKeySet: DataKeySet): Promise<string | undefined> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: dataKeySet.domainId },\n refType: DataKeySet.name,\n refBy: dataKeySet.id\n }\n })\n\n return attachment?.fullpath\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() dataKeySet: DataKeySet): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: dataKeySet.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() dataKeySet: DataKeySet): Promise<User> {\n return await getRepository(User).findOneBy({ id: dataKeySet.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() dataKeySet: DataKeySet): Promise<User> {\n return await getRepository(User).findOneBy({ id: dataKeySet.creatorId })\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-key-set-type.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-set-type.ts"],"names":[],"mappings":";;;;AACA,+FAA2D;AAC3D,+CAAoE;AAEpE,6DAAuD;AACvD,iDAA2C;AAC3C,mDAAwD;
|
1
|
+
{"version":3,"file":"data-key-set-type.js","sourceRoot":"","sources":["../../../server/service/data-key-set/data-key-set-type.ts"],"names":[],"mappings":";;;;AACA,+FAA2D;AAC3D,+CAAoE;AAEpE,6DAAuD;AACvD,iDAA2C;AAC3C,mDAAwD;AAGxD,IAAa,aAAa,GAA1B,MAAa,aAAa;CAqBzB,CAAA;AAnBC;IADC,IAAA,oBAAK,GAAE;;2CACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACI;AAG9B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACP;AAGnB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,qCAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACrB;AAGjC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC3B;AApBX,aAAa;IADzB,IAAA,wBAAS,GAAE;GACC,aAAa,CAqBzB;AArBY,sCAAa;AAwB1B,IAAa,eAAe,GAA5B,MAAa,eAAe;CA2B3B,CAAA;AAzBC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACV;AAGhB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACI;AAG9B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACP;AAGnB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,qCAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACrB;AAGjC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAC3B;AAGtB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACX;AA1BJ,eAAe;IAD3B,IAAA,wBAAS,GAAE;GACC,eAAe,CA2B3B;AA3BY,0CAAe;AA8B5B,IAAa,cAAc,GAA3B,MAAa,cAAc;CAM1B,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,yBAAU,CAAC,CAAC;;6CACT;AAGnB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;6CACN;AALF,cAAc;IAD1B,IAAA,yBAAU,GAAE;GACA,cAAc,CAM1B;AANY,wCAAc","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Field, ID, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { DataKeyItemPatch } from './data-key-item-type'\nimport { DataKeySet } from './data-key-set'\nimport { DataSetReportType } from '../data-set/data-set'\n\n@InputType()\nexport class NewDataKeySet {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field({ nullable: true })\n reportType?: DataSetReportType\n\n @Field({ nullable: true })\n reportView?: string\n\n @Field(type => [DataKeyItemPatch], { nullable: true })\n dataKeyItems?: DataKeyItemPatch[]\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n}\n\n@InputType()\nexport class DataKeySetPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n active?: boolean\n\n @Field({ nullable: true })\n reportType?: DataSetReportType\n\n @Field({ nullable: true })\n reportView?: string\n\n @Field(type => [DataKeyItemPatch], { nullable: true })\n dataKeyItems?: DataKeyItemPatch[]\n\n @Field(type => GraphQLUpload, { nullable: true })\n thumbnail?: FileUpload\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class DataKeySetList {\n @Field(type => [DataKeySet])\n items: DataKeySet[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|