@things-factory/integration-base 6.2.34 → 6.2.37

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 (66) hide show
  1. package/dist-server/engine/task/index.js +2 -0
  2. package/dist-server/engine/task/index.js.map +1 -1
  3. package/dist-server/engine/task/local-graphql-mutate.js +7 -2
  4. package/dist-server/engine/task/local-graphql-mutate.js.map +1 -1
  5. package/dist-server/engine/task/local-graphql-query.js +7 -2
  6. package/dist-server/engine/task/local-graphql-query.js.map +1 -1
  7. package/dist-server/engine/task/state-read.js +49 -0
  8. package/dist-server/engine/task/state-read.js.map +1 -0
  9. package/dist-server/engine/task/state-write.js +57 -0
  10. package/dist-server/engine/task/state-write.js.map +1 -0
  11. package/dist-server/service/index.js +6 -2
  12. package/dist-server/service/index.js.map +1 -1
  13. package/dist-server/service/scenario-instance/scenario-instance-mutation.js +3 -1
  14. package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -1
  15. package/dist-server/service/scenario-instance/scenario-instance-type.js +2 -1
  16. package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -1
  17. package/dist-server/service/state-register/index.js +10 -0
  18. package/dist-server/service/state-register/index.js.map +1 -0
  19. package/dist-server/service/state-register/state-register-mutation.js +153 -0
  20. package/dist-server/service/state-register/state-register-mutation.js.map +1 -0
  21. package/dist-server/service/state-register/state-register-query.js +123 -0
  22. package/dist-server/service/state-register/state-register-query.js.map +1 -0
  23. package/dist-server/service/state-register/state-register-type.js +90 -0
  24. package/dist-server/service/state-register/state-register-type.js.map +1 -0
  25. package/dist-server/service/state-register/state-register.js +105 -0
  26. package/dist-server/service/state-register/state-register.js.map +1 -0
  27. package/dist-server/tsconfig.tsbuildinfo +1 -1
  28. package/helps/integration/concept/scenario.ja.md +4 -0
  29. package/helps/integration/concept/scenario.ko.md +4 -0
  30. package/helps/integration/concept/scenario.md +3 -3
  31. package/helps/integration/concept/scenario.ms.md +4 -0
  32. package/helps/integration/concept/scenario.zh.md +4 -0
  33. package/helps/integration/concept/state-register.ja.md +8 -0
  34. package/helps/integration/concept/state-register.ko.md +8 -0
  35. package/helps/integration/concept/state-register.md +8 -0
  36. package/helps/integration/concept/state-register.ms.md +8 -0
  37. package/helps/integration/concept/state-register.zh.md +8 -0
  38. package/helps/integration/concept/task.ja.md +25 -0
  39. package/helps/integration/concept/task.ko.md +25 -0
  40. package/helps/integration/concept/task.md +17 -17
  41. package/helps/integration/concept/task.ms.md +28 -0
  42. package/helps/integration/concept/task.zh.md +25 -0
  43. package/helps/integration/task/state-read.ja.md +8 -0
  44. package/helps/integration/task/state-read.ko.md +8 -0
  45. package/helps/integration/task/state-read.md +8 -0
  46. package/helps/integration/task/state-read.ms.md +8 -0
  47. package/helps/integration/task/state-read.zh.md +8 -0
  48. package/helps/integration/task/state-write.ja.md +10 -0
  49. package/helps/integration/task/state-write.ko.md +10 -0
  50. package/helps/integration/task/state-write.md +10 -0
  51. package/helps/integration/task/state-write.ms.md +10 -0
  52. package/helps/integration/task/state-write.zh.md +10 -0
  53. package/package.json +2 -2
  54. package/server/engine/task/index.ts +2 -0
  55. package/server/engine/task/local-graphql-mutate.ts +8 -2
  56. package/server/engine/task/local-graphql-query.ts +8 -2
  57. package/server/engine/task/state-read.ts +54 -0
  58. package/server/engine/task/state-write.ts +63 -0
  59. package/server/service/index.ts +6 -2
  60. package/server/service/scenario-instance/scenario-instance-mutation.ts +3 -1
  61. package/server/service/scenario-instance/scenario-instance-type.ts +2 -1
  62. package/server/service/state-register/index.ts +7 -0
  63. package/server/service/state-register/state-register-mutation.ts +166 -0
  64. package/server/service/state-register/state-register-query.ts +77 -0
  65. package/server/service/state-register/state-register-type.ts +64 -0
  66. package/server/service/state-register/state-register.ts +91 -0
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StateRegisterMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const state_register_1 = require("./state-register");
9
+ const state_register_type_1 = require("./state-register-type");
10
+ let StateRegisterMutation = class StateRegisterMutation {
11
+ async createStateRegister(stateRegister, context) {
12
+ const { domain, user, tx } = context.state;
13
+ return await tx.getRepository(state_register_1.StateRegister).save(Object.assign(Object.assign({}, stateRegister), { domain, creator: user, updater: user }));
14
+ }
15
+ async updateStateRegister(id, patch, context) {
16
+ const { domain, user, tx } = context.state;
17
+ const repository = tx.getRepository(state_register_1.StateRegister);
18
+ const stateRegister = await repository.findOne({
19
+ where: { domain: { id: domain.id }, id }
20
+ });
21
+ return await repository.save(Object.assign(Object.assign(Object.assign({}, stateRegister), patch), { updater: user }));
22
+ }
23
+ async updateMultipleStateRegister(patches, context) {
24
+ const { domain, user, tx } = context.state;
25
+ let results = [];
26
+ const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
27
+ const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
28
+ const stateRegisterRepo = tx.getRepository(state_register_1.StateRegister);
29
+ if (_createRecords.length > 0) {
30
+ for (let i = 0; i < _createRecords.length; i++) {
31
+ const newRecord = _createRecords[i];
32
+ const result = await stateRegisterRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
33
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
34
+ }
35
+ }
36
+ if (_updateRecords.length > 0) {
37
+ for (let i = 0; i < _updateRecords.length; i++) {
38
+ const updateRecord = _updateRecords[i];
39
+ const stateRegister = await stateRegisterRepo.findOneBy({ id: updateRecord.id });
40
+ const result = await stateRegisterRepo.save(Object.assign(Object.assign(Object.assign({}, stateRegister), updateRecord), { updater: user }));
41
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
42
+ }
43
+ }
44
+ return results;
45
+ }
46
+ async updateStateRegisterByName(name, state, context) {
47
+ const { domain, user = null, tx } = context.state;
48
+ const repository = tx.getRepository(state_register_1.StateRegister);
49
+ const stateRegister = await repository.findOne({
50
+ where: { domain: { id: domain === null || domain === void 0 ? void 0 : domain.id }, name }
51
+ });
52
+ return await repository.save(Object.assign(Object.assign({}, stateRegister), { state, writer: user, wroteAt: new Date() }));
53
+ }
54
+ async deleteStateRegister(id, context) {
55
+ const { domain, tx } = context.state;
56
+ await tx.getRepository(state_register_1.StateRegister).delete({ domain: { id: domain.id }, id });
57
+ return true;
58
+ }
59
+ async deleteStateRegisters(ids, context) {
60
+ const { domain, tx } = context.state;
61
+ await tx.getRepository(state_register_1.StateRegister).delete({
62
+ domain: { id: domain.id },
63
+ id: (0, typeorm_1.In)(ids)
64
+ });
65
+ return true;
66
+ }
67
+ async importStateRegisters(stateRegisters, context) {
68
+ const { domain, tx } = context.state;
69
+ await Promise.all(stateRegisters.map(async (stateRegister) => {
70
+ const createdStateRegister = await tx
71
+ .getRepository(state_register_1.StateRegister)
72
+ .save(Object.assign({ domain }, stateRegister));
73
+ }));
74
+ return true;
75
+ }
76
+ };
77
+ tslib_1.__decorate([
78
+ (0, type_graphql_1.Directive)('@transaction'),
79
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
80
+ (0, type_graphql_1.Mutation)(returns => state_register_1.StateRegister, { description: 'To create new StateRegister' }),
81
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('stateRegister')),
82
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
83
+ tslib_1.__metadata("design:type", Function),
84
+ tslib_1.__metadata("design:paramtypes", [state_register_type_1.NewStateRegister, Object]),
85
+ tslib_1.__metadata("design:returntype", Promise)
86
+ ], StateRegisterMutation.prototype, "createStateRegister", null);
87
+ tslib_1.__decorate([
88
+ (0, type_graphql_1.Directive)('@transaction'),
89
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
90
+ (0, type_graphql_1.Mutation)(returns => state_register_1.StateRegister, { description: 'To modify StateRegister information' }),
91
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
92
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
93
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
94
+ tslib_1.__metadata("design:type", Function),
95
+ tslib_1.__metadata("design:paramtypes", [String, state_register_type_1.StateRegisterPatch, Object]),
96
+ tslib_1.__metadata("design:returntype", Promise)
97
+ ], StateRegisterMutation.prototype, "updateStateRegister", null);
98
+ tslib_1.__decorate([
99
+ (0, type_graphql_1.Directive)('@transaction'),
100
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
101
+ (0, type_graphql_1.Mutation)(returns => [state_register_1.StateRegister], { description: "To modify multiple StateRegisters' information" }),
102
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [state_register_type_1.StateRegisterPatch])),
103
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
104
+ tslib_1.__metadata("design:type", Function),
105
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
106
+ tslib_1.__metadata("design:returntype", Promise)
107
+ ], StateRegisterMutation.prototype, "updateMultipleStateRegister", null);
108
+ tslib_1.__decorate([
109
+ (0, type_graphql_1.Directive)('@transaction'),
110
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
111
+ (0, type_graphql_1.Mutation)(returns => state_register_1.StateRegister, { description: 'To update state of StateRegister by name' }),
112
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
113
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('state', type => shell_1.ScalarObject)),
114
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
115
+ tslib_1.__metadata("design:type", Function),
116
+ tslib_1.__metadata("design:paramtypes", [String, Object, Object]),
117
+ tslib_1.__metadata("design:returntype", Promise)
118
+ ], StateRegisterMutation.prototype, "updateStateRegisterByName", null);
119
+ tslib_1.__decorate([
120
+ (0, type_graphql_1.Directive)('@transaction'),
121
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
122
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete StateRegister' }),
123
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
124
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
125
+ tslib_1.__metadata("design:type", Function),
126
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
127
+ tslib_1.__metadata("design:returntype", Promise)
128
+ ], StateRegisterMutation.prototype, "deleteStateRegister", null);
129
+ tslib_1.__decorate([
130
+ (0, type_graphql_1.Directive)('@transaction'),
131
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
132
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple StateRegisters' }),
133
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
134
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
135
+ tslib_1.__metadata("design:type", Function),
136
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
137
+ tslib_1.__metadata("design:returntype", Promise)
138
+ ], StateRegisterMutation.prototype, "deleteStateRegisters", null);
139
+ tslib_1.__decorate([
140
+ (0, type_graphql_1.Directive)('@transaction'),
141
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "mutation", domainOwnerGranted: true)'),
142
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To import multiple StateRegisters' }),
143
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('stateRegisters', type => [state_register_type_1.StateRegisterPatch])),
144
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
145
+ tslib_1.__metadata("design:type", Function),
146
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
147
+ tslib_1.__metadata("design:returntype", Promise)
148
+ ], StateRegisterMutation.prototype, "importStateRegisters", null);
149
+ StateRegisterMutation = tslib_1.__decorate([
150
+ (0, type_graphql_1.Resolver)(state_register_1.StateRegister)
151
+ ], StateRegisterMutation);
152
+ exports.StateRegisterMutation = StateRegisterMutation;
153
+ //# sourceMappingURL=state-register-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-register-mutation.js","sourceRoot":"","sources":["../../../server/service/state-register/state-register-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { ScalarObject } from '@things-factory/shell'\nimport { StateRegister } from './state-register'\nimport { NewStateRegister, StateRegisterPatch } from './state-register-type'\n\n@Resolver(StateRegister)\nexport class StateRegisterMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => StateRegister, { description: 'To create new StateRegister' })\n async createStateRegister(\n @Arg('stateRegister') stateRegister: NewStateRegister,\n @Ctx() context: ResolverContext\n ): Promise<StateRegister> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(StateRegister).save({\n ...stateRegister,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => StateRegister, { description: 'To modify StateRegister information' })\n async updateStateRegister(\n @Arg('id') id: string,\n @Arg('patch') patch: StateRegisterPatch,\n @Ctx() context: ResolverContext\n ): Promise<StateRegister> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(StateRegister)\n const stateRegister = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...stateRegister,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [StateRegister], { description: \"To modify multiple StateRegisters' information\" })\n async updateMultipleStateRegister(\n @Arg('patches', type => [StateRegisterPatch]) patches: StateRegisterPatch[],\n @Ctx() context: ResolverContext\n ): Promise<StateRegister[]> {\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 stateRegisterRepo = tx.getRepository(StateRegister)\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 stateRegisterRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\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 stateRegister = await stateRegisterRepo.findOneBy({ id: updateRecord.id })\n\n const result = await stateRegisterRepo.save({\n ...stateRegister,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => StateRegister, { description: 'To update state of StateRegister by name' })\n async updateStateRegisterByName(\n @Arg('name') name: string,\n @Arg('state', type => ScalarObject) state: any,\n @Ctx() context: ResolverContext\n ): Promise<StateRegister> {\n const { domain, user = null, tx } = context.state\n\n const repository = tx.getRepository(StateRegister)\n const stateRegister = await repository.findOne({\n where: { domain: { id: domain?.id }, name }\n })\n\n return await repository.save({\n ...stateRegister,\n state,\n writer: user,\n wroteAt: new Date()\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete StateRegister' })\n async deleteStateRegister(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(StateRegister).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple StateRegisters' })\n async deleteStateRegisters(\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(StateRegister).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"state-register\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To import multiple StateRegisters' })\n async importStateRegisters(\n @Arg('stateRegisters', type => [StateRegisterPatch]) stateRegisters: StateRegisterPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n stateRegisters.map(async (stateRegister: StateRegisterPatch) => {\n const createdStateRegister: StateRegister = await tx\n .getRepository(StateRegister)\n .save({ domain, ...stateRegister })\n })\n )\n\n return true\n }\n}\n"]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StateRegisterQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const auth_base_1 = require("@things-factory/auth-base");
8
+ const state_register_1 = require("./state-register");
9
+ const state_register_type_1 = require("./state-register-type");
10
+ let StateRegisterQuery = class StateRegisterQuery {
11
+ async stateRegister(id, context) {
12
+ const { domain } = context.state;
13
+ return await (0, shell_1.getRepository)(state_register_1.StateRegister).findOne({
14
+ where: { domain: { id: domain.id }, id }
15
+ });
16
+ }
17
+ async stateRegisterByName(name, context) {
18
+ const { domain } = context.state;
19
+ return await (0, shell_1.getRepository)(state_register_1.StateRegister).findOne({
20
+ where: { domain: { id: domain.id }, name }
21
+ });
22
+ }
23
+ async stateRegisters(params, context) {
24
+ const { domain } = context.state;
25
+ const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
26
+ domain,
27
+ params,
28
+ repository: await (0, shell_1.getRepository)(state_register_1.StateRegister),
29
+ searchables: ['name', 'description']
30
+ });
31
+ const [items, total] = await queryBuilder.getManyAndCount();
32
+ return { items, total };
33
+ }
34
+ async state(stateRegister) {
35
+ const { state, wroteAt, ttl } = stateRegister;
36
+ if (!isNaN(ttl) && Number(ttl) > 0) {
37
+ const expired = ((wroteAt === null || wroteAt === void 0 ? void 0 : wroteAt.getTime()) || 0) + Number(ttl) * 1000 < Date.now();
38
+ return expired ? null : state;
39
+ }
40
+ else {
41
+ return state;
42
+ }
43
+ }
44
+ async domain(stateRegister) {
45
+ return stateRegister.domainId && (await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: stateRegister.domainId }));
46
+ }
47
+ async writer(stateRegister) {
48
+ return stateRegister.writerId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: stateRegister.writerId }));
49
+ }
50
+ async updater(stateRegister) {
51
+ return stateRegister.updaterId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: stateRegister.updaterId }));
52
+ }
53
+ async creator(stateRegister) {
54
+ return stateRegister.creatorId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: stateRegister.creatorId }));
55
+ }
56
+ };
57
+ tslib_1.__decorate([
58
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "query", domainOwnerGranted: true)'),
59
+ (0, type_graphql_1.Query)(returns => state_register_1.StateRegister, { nullable: true, description: 'To fetch a StateRegister' }),
60
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
61
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
62
+ tslib_1.__metadata("design:type", Function),
63
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
64
+ tslib_1.__metadata("design:returntype", Promise)
65
+ ], StateRegisterQuery.prototype, "stateRegister", null);
66
+ tslib_1.__decorate([
67
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "query", domainOwnerGranted: true)'),
68
+ (0, type_graphql_1.Query)(returns => state_register_1.StateRegister, { nullable: true, description: 'To fetch a StateRegister by name' }),
69
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
70
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
71
+ tslib_1.__metadata("design:type", Function),
72
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
73
+ tslib_1.__metadata("design:returntype", Promise)
74
+ ], StateRegisterQuery.prototype, "stateRegisterByName", null);
75
+ tslib_1.__decorate([
76
+ (0, type_graphql_1.Directive)('@privilege(category: "state-register", privilege: "query", domainOwnerGranted: true)'),
77
+ (0, type_graphql_1.Query)(returns => state_register_type_1.StateRegisterList, { description: 'To fetch multiple StateRegisters' }),
78
+ tslib_1.__param(0, (0, type_graphql_1.Args)()),
79
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
80
+ tslib_1.__metadata("design:type", Function),
81
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
82
+ tslib_1.__metadata("design:returntype", Promise)
83
+ ], StateRegisterQuery.prototype, "stateRegisters", null);
84
+ tslib_1.__decorate([
85
+ (0, type_graphql_1.FieldResolver)(type => shell_1.ScalarObject),
86
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
87
+ tslib_1.__metadata("design:type", Function),
88
+ tslib_1.__metadata("design:paramtypes", [state_register_1.StateRegister]),
89
+ tslib_1.__metadata("design:returntype", Promise)
90
+ ], StateRegisterQuery.prototype, "state", null);
91
+ tslib_1.__decorate([
92
+ (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
93
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
94
+ tslib_1.__metadata("design:type", Function),
95
+ tslib_1.__metadata("design:paramtypes", [state_register_1.StateRegister]),
96
+ tslib_1.__metadata("design:returntype", Promise)
97
+ ], StateRegisterQuery.prototype, "domain", null);
98
+ tslib_1.__decorate([
99
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
100
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
101
+ tslib_1.__metadata("design:type", Function),
102
+ tslib_1.__metadata("design:paramtypes", [state_register_1.StateRegister]),
103
+ tslib_1.__metadata("design:returntype", Promise)
104
+ ], StateRegisterQuery.prototype, "writer", null);
105
+ tslib_1.__decorate([
106
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
107
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
108
+ tslib_1.__metadata("design:type", Function),
109
+ tslib_1.__metadata("design:paramtypes", [state_register_1.StateRegister]),
110
+ tslib_1.__metadata("design:returntype", Promise)
111
+ ], StateRegisterQuery.prototype, "updater", null);
112
+ tslib_1.__decorate([
113
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
114
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
115
+ tslib_1.__metadata("design:type", Function),
116
+ tslib_1.__metadata("design:paramtypes", [state_register_1.StateRegister]),
117
+ tslib_1.__metadata("design:returntype", Promise)
118
+ ], StateRegisterQuery.prototype, "creator", null);
119
+ StateRegisterQuery = tslib_1.__decorate([
120
+ (0, type_graphql_1.Resolver)(state_register_1.StateRegister)
121
+ ], StateRegisterQuery);
122
+ exports.StateRegisterQuery = StateRegisterQuery;
123
+ //# sourceMappingURL=state-register-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-register-query.js","sourceRoot":"","sources":["../../../server/service/state-register/state-register-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam, ScalarObject } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { StateRegister } from './state-register'\nimport { StateRegisterList } from './state-register-type'\n\n@Resolver(StateRegister)\nexport class StateRegisterQuery {\n @Directive('@privilege(category: \"state-register\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => StateRegister!, { nullable: true, description: 'To fetch a StateRegister' })\n async stateRegister(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<StateRegister> {\n const { domain } = context.state\n\n return await getRepository(StateRegister).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"state-register\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => StateRegister!, { nullable: true, description: 'To fetch a StateRegister by name' })\n async stateRegisterByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<StateRegister> {\n const { domain } = context.state\n\n return await getRepository(StateRegister).findOne({\n where: { domain: { id: domain.id }, name }\n })\n }\n\n @Directive('@privilege(category: \"state-register\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => StateRegisterList, { description: 'To fetch multiple StateRegisters' })\n async stateRegisters(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<StateRegisterList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(StateRegister),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => ScalarObject)\n async state(@Root() stateRegister: StateRegister): Promise<any> {\n const { state, wroteAt, ttl } = stateRegister\n\n if (!isNaN(ttl) && Number(ttl) > 0) {\n const expired = (wroteAt?.getTime() || 0) + Number(ttl) * 1000 < Date.now()\n return expired ? null : state\n } else {\n return state\n }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() stateRegister: StateRegister): Promise<Domain> {\n return stateRegister.domainId && (await getRepository(Domain).findOneBy({ id: stateRegister.domainId }))\n }\n\n @FieldResolver(type => User)\n async writer(@Root() stateRegister: StateRegister): Promise<User> {\n return stateRegister.writerId && (await getRepository(User).findOneBy({ id: stateRegister.writerId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() stateRegister: StateRegister): Promise<User> {\n return stateRegister.updaterId && (await getRepository(User).findOneBy({ id: stateRegister.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() stateRegister: StateRegister): Promise<User> {\n return stateRegister.creatorId && (await getRepository(User).findOneBy({ id: stateRegister.creatorId }))\n }\n}\n"]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StateRegisterList = exports.StateRegisterPatch = exports.NewStateRegister = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const state_register_1 = require("./state-register");
8
+ let NewStateRegister = class NewStateRegister {
9
+ };
10
+ tslib_1.__decorate([
11
+ (0, type_graphql_1.Field)(),
12
+ tslib_1.__metadata("design:type", String)
13
+ ], NewStateRegister.prototype, "name", void 0);
14
+ tslib_1.__decorate([
15
+ (0, type_graphql_1.Field)({ nullable: true }),
16
+ tslib_1.__metadata("design:type", String)
17
+ ], NewStateRegister.prototype, "description", void 0);
18
+ tslib_1.__decorate([
19
+ (0, type_graphql_1.Field)({ nullable: true }),
20
+ tslib_1.__metadata("design:type", String)
21
+ ], NewStateRegister.prototype, "type", void 0);
22
+ tslib_1.__decorate([
23
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
24
+ tslib_1.__metadata("design:type", Object)
25
+ ], NewStateRegister.prototype, "state", void 0);
26
+ tslib_1.__decorate([
27
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
28
+ tslib_1.__metadata("design:type", Number)
29
+ ], NewStateRegister.prototype, "ttl", void 0);
30
+ tslib_1.__decorate([
31
+ (0, type_graphql_1.Field)({ nullable: true }),
32
+ tslib_1.__metadata("design:type", String)
33
+ ], NewStateRegister.prototype, "refBy", void 0);
34
+ NewStateRegister = tslib_1.__decorate([
35
+ (0, type_graphql_1.InputType)()
36
+ ], NewStateRegister);
37
+ exports.NewStateRegister = NewStateRegister;
38
+ let StateRegisterPatch = class StateRegisterPatch {
39
+ };
40
+ tslib_1.__decorate([
41
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
42
+ tslib_1.__metadata("design:type", String)
43
+ ], StateRegisterPatch.prototype, "id", void 0);
44
+ tslib_1.__decorate([
45
+ (0, type_graphql_1.Field)({ nullable: true }),
46
+ tslib_1.__metadata("design:type", String)
47
+ ], StateRegisterPatch.prototype, "name", void 0);
48
+ tslib_1.__decorate([
49
+ (0, type_graphql_1.Field)({ nullable: true }),
50
+ tslib_1.__metadata("design:type", String)
51
+ ], StateRegisterPatch.prototype, "description", void 0);
52
+ tslib_1.__decorate([
53
+ (0, type_graphql_1.Field)({ nullable: true }),
54
+ tslib_1.__metadata("design:type", String)
55
+ ], StateRegisterPatch.prototype, "type", void 0);
56
+ tslib_1.__decorate([
57
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
58
+ tslib_1.__metadata("design:type", Object)
59
+ ], StateRegisterPatch.prototype, "state", void 0);
60
+ tslib_1.__decorate([
61
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
62
+ tslib_1.__metadata("design:type", Number)
63
+ ], StateRegisterPatch.prototype, "ttl", void 0);
64
+ tslib_1.__decorate([
65
+ (0, type_graphql_1.Field)({ nullable: true }),
66
+ tslib_1.__metadata("design:type", String)
67
+ ], StateRegisterPatch.prototype, "refBy", void 0);
68
+ tslib_1.__decorate([
69
+ (0, type_graphql_1.Field)({ nullable: true }),
70
+ tslib_1.__metadata("design:type", String)
71
+ ], StateRegisterPatch.prototype, "cuFlag", void 0);
72
+ StateRegisterPatch = tslib_1.__decorate([
73
+ (0, type_graphql_1.InputType)()
74
+ ], StateRegisterPatch);
75
+ exports.StateRegisterPatch = StateRegisterPatch;
76
+ let StateRegisterList = class StateRegisterList {
77
+ };
78
+ tslib_1.__decorate([
79
+ (0, type_graphql_1.Field)(type => [state_register_1.StateRegister]),
80
+ tslib_1.__metadata("design:type", Array)
81
+ ], StateRegisterList.prototype, "items", void 0);
82
+ tslib_1.__decorate([
83
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int),
84
+ tslib_1.__metadata("design:type", Number)
85
+ ], StateRegisterList.prototype, "total", void 0);
86
+ StateRegisterList = tslib_1.__decorate([
87
+ (0, type_graphql_1.ObjectType)()
88
+ ], StateRegisterList);
89
+ exports.StateRegisterList = StateRegisterList;
90
+ //# sourceMappingURL=state-register-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-register-type.js","sourceRoot":"","sources":["../../../server/service/state-register/state-register-type.ts"],"names":[],"mappings":";;;;AAEA,+CAAsF;AAEtF,iDAA+D;AAE/D,qDAAgD;AAGzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAkB5B,CAAA;AAjBC;IAAC,IAAA,oBAAK,GAAE;;8CACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACrC;AAEX;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC3B;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACZ;AAjBH,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAkB5B;AAlBY,4CAAgB;AAqBtB,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAwB9B,CAAA;AAvBC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAEb;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACrC;AAEX;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC3B;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACZ;AAEd;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;AAvBJ,kBAAkB;IAD9B,IAAA,wBAAS,GAAE;GACC,kBAAkB,CAwB9B;AAxBY,gDAAkB;AA2BxB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAM7B,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAa,CAAC,CAAC;;gDACT;AAEtB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;gDACN;AALF,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAM7B;AANY,8CAAiB","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { ObjectType, Field, InputType, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { StateRegister } from './state-register'\n\n@InputType()\nexport class NewStateRegister {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n type?: string\n\n @Field(type => ScalarObject, { nullable: true })\n state?: any\n\n @Field(type => Int, { nullable: true })\n ttl?: number\n\n @Field({ nullable: true })\n refBy?: string\n}\n\n@InputType()\nexport class StateRegisterPatch {\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 type?: string\n\n @Field(type => ScalarObject, { nullable: true })\n state?: any\n\n @Field(type => Int, { nullable: true })\n ttl?: number\n\n @Field({ nullable: true })\n refBy?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class StateRegisterList {\n @Field(type => [StateRegister])\n items: StateRegister[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StateRegister = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const auth_base_1 = require("@things-factory/auth-base");
9
+ let StateRegister = class StateRegister {
10
+ };
11
+ tslib_1.__decorate([
12
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
13
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
14
+ tslib_1.__metadata("design:type", String)
15
+ ], StateRegister.prototype, "id", void 0);
16
+ tslib_1.__decorate([
17
+ (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
18
+ (0, type_graphql_1.Field)({ nullable: true }),
19
+ tslib_1.__metadata("design:type", shell_1.Domain)
20
+ ], StateRegister.prototype, "domain", void 0);
21
+ tslib_1.__decorate([
22
+ (0, typeorm_1.RelationId)((stateRegister) => stateRegister.domain),
23
+ tslib_1.__metadata("design:type", String)
24
+ ], StateRegister.prototype, "domainId", void 0);
25
+ tslib_1.__decorate([
26
+ (0, typeorm_1.Column)(),
27
+ (0, type_graphql_1.Field)({ nullable: true }),
28
+ tslib_1.__metadata("design:type", String)
29
+ ], StateRegister.prototype, "name", void 0);
30
+ tslib_1.__decorate([
31
+ (0, typeorm_1.Column)({ nullable: true }),
32
+ (0, type_graphql_1.Field)({ nullable: true }),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], StateRegister.prototype, "description", void 0);
35
+ tslib_1.__decorate([
36
+ (0, typeorm_1.Column)({ nullable: true }),
37
+ (0, type_graphql_1.Field)({ nullable: true }),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], StateRegister.prototype, "type", void 0);
40
+ tslib_1.__decorate([
41
+ (0, typeorm_1.Column)('simple-json', { nullable: true, default: null }),
42
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
43
+ tslib_1.__metadata("design:type", Object)
44
+ ], StateRegister.prototype, "state", void 0);
45
+ tslib_1.__decorate([
46
+ (0, typeorm_1.Column)({ nullable: true, default: null }),
47
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
48
+ tslib_1.__metadata("design:type", Number)
49
+ ], StateRegister.prototype, "ttl", void 0);
50
+ tslib_1.__decorate([
51
+ (0, typeorm_1.Column)({ nullable: true }),
52
+ (0, type_graphql_1.Field)({ nullable: true }),
53
+ tslib_1.__metadata("design:type", String)
54
+ ], StateRegister.prototype, "refBy", void 0);
55
+ tslib_1.__decorate([
56
+ (0, typeorm_1.Column)({ nullable: true }),
57
+ (0, type_graphql_1.Field)({ nullable: true }),
58
+ tslib_1.__metadata("design:type", Date)
59
+ ], StateRegister.prototype, "wroteAt", void 0);
60
+ tslib_1.__decorate([
61
+ (0, typeorm_1.CreateDateColumn)(),
62
+ (0, type_graphql_1.Field)({ nullable: true }),
63
+ tslib_1.__metadata("design:type", Date)
64
+ ], StateRegister.prototype, "createdAt", void 0);
65
+ tslib_1.__decorate([
66
+ (0, typeorm_1.UpdateDateColumn)(),
67
+ (0, type_graphql_1.Field)({ nullable: true }),
68
+ tslib_1.__metadata("design:type", Date)
69
+ ], StateRegister.prototype, "updatedAt", void 0);
70
+ tslib_1.__decorate([
71
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
72
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
73
+ tslib_1.__metadata("design:type", auth_base_1.User)
74
+ ], StateRegister.prototype, "writer", void 0);
75
+ tslib_1.__decorate([
76
+ (0, typeorm_1.RelationId)((stateRegister) => stateRegister.writer),
77
+ tslib_1.__metadata("design:type", String)
78
+ ], StateRegister.prototype, "writerId", void 0);
79
+ tslib_1.__decorate([
80
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
81
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
82
+ tslib_1.__metadata("design:type", auth_base_1.User)
83
+ ], StateRegister.prototype, "creator", void 0);
84
+ tslib_1.__decorate([
85
+ (0, typeorm_1.RelationId)((stateRegister) => stateRegister.creator),
86
+ tslib_1.__metadata("design:type", String)
87
+ ], StateRegister.prototype, "creatorId", void 0);
88
+ tslib_1.__decorate([
89
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
90
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
91
+ tslib_1.__metadata("design:type", auth_base_1.User)
92
+ ], StateRegister.prototype, "updater", void 0);
93
+ tslib_1.__decorate([
94
+ (0, typeorm_1.RelationId)((stateRegister) => stateRegister.updater),
95
+ tslib_1.__metadata("design:type", String)
96
+ ], StateRegister.prototype, "updaterId", void 0);
97
+ StateRegister = tslib_1.__decorate([
98
+ (0, typeorm_1.Entity)(),
99
+ (0, typeorm_1.Index)('ix_state_register_0', (stateRegister) => [stateRegister.domain, stateRegister.name], {
100
+ unique: true
101
+ }),
102
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for StateRegister' })
103
+ ], StateRegister);
104
+ exports.StateRegister = StateRegister;
105
+ //# sourceMappingURL=state-register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-register.js","sourceRoot":"","sources":["../../../server/service/state-register/state-register.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn,\n VersionColumn\n} from 'typeorm'\nimport { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\n@Entity()\n@Index('ix_state_register_0', (stateRegister: StateRegister) => [stateRegister.domain, stateRegister.name], {\n unique: true\n})\n@ObjectType({ description: 'Entity for StateRegister' })\nexport class StateRegister {\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((stateRegister: StateRegister) => stateRegister.domain)\n domainId?: string\n\n @Column()\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n type?: string\n\n @Column('simple-json', { nullable: true, default: null })\n @Field(type => ScalarObject, { nullable: true })\n state?: any\n\n @Column({ nullable: true, default: null })\n @Field(type => Int, { nullable: true })\n ttl?: number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refBy?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n wroteAt?: Date\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(type => User, { nullable: true })\n writer?: User\n\n @RelationId((stateRegister: StateRegister) => stateRegister.writer)\n writerId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((stateRegister: StateRegister) => stateRegister.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((stateRegister: StateRegister) => stateRegister.updater)\n updaterId?: string\n}\n"]}