@things-factory/id-rule-base 6.2.177 → 6.3.0

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 (45) hide show
  1. package/dist-server/constants/index.d.ts +1 -0
  2. package/dist-server/constants/sequence-type.d.ts +3 -0
  3. package/dist-server/controllers/id-generator.d.ts +13 -0
  4. package/dist-server/controllers/id-generator.js +2 -3
  5. package/dist-server/controllers/id-generator.js.map +1 -1
  6. package/dist-server/controllers/index.d.ts +1 -0
  7. package/dist-server/index.d.ts +5 -0
  8. package/dist-server/migrations/index.d.ts +1 -0
  9. package/dist-server/routes.d.ts +1 -0
  10. package/dist-server/service/doc-number/doc-number-mutation.d.ts +9 -0
  11. package/dist-server/service/doc-number/doc-number-mutation.js +2 -2
  12. package/dist-server/service/doc-number/doc-number-mutation.js.map +1 -1
  13. package/dist-server/service/doc-number/doc-number-query.d.ts +13 -0
  14. package/dist-server/service/doc-number/doc-number-query.js +2 -2
  15. package/dist-server/service/doc-number/doc-number-query.js.map +1 -1
  16. package/dist-server/service/doc-number/doc-number-type.d.ts +41 -0
  17. package/dist-server/service/doc-number/doc-number-type.js +6 -6
  18. package/dist-server/service/doc-number/doc-number-type.js.map +1 -1
  19. package/dist-server/service/doc-number/doc-number.d.ts +29 -0
  20. package/dist-server/service/doc-number/doc-number.js +2 -2
  21. package/dist-server/service/doc-number/doc-number.js.map +1 -1
  22. package/dist-server/service/doc-number/index.d.ts +5 -0
  23. package/dist-server/service/id-rule/id-rule-mutation.d.ts +10 -0
  24. package/dist-server/service/id-rule/id-rule-mutation.js +2 -2
  25. package/dist-server/service/id-rule/id-rule-mutation.js.map +1 -1
  26. package/dist-server/service/id-rule/id-rule-query.d.ts +6 -0
  27. package/dist-server/service/id-rule/id-rule-query.js +2 -2
  28. package/dist-server/service/id-rule/id-rule-query.js.map +1 -1
  29. package/dist-server/service/id-rule/id-rule-types.d.ts +8 -0
  30. package/dist-server/service/id-rule/id-rule-types.js +4 -4
  31. package/dist-server/service/id-rule/id-rule-types.js.map +1 -1
  32. package/dist-server/service/id-rule/id-rule.d.ts +10 -0
  33. package/dist-server/service/id-rule/id-rule.js +2 -2
  34. package/dist-server/service/id-rule/id-rule.js.map +1 -1
  35. package/dist-server/service/id-rule/index.d.ts +5 -0
  36. package/dist-server/service/index.d.ts +8 -0
  37. package/dist-server/service/sequence/index.d.ts +4 -0
  38. package/dist-server/service/sequence/sequence-mutation.d.ts +4 -0
  39. package/dist-server/service/sequence/sequence-mutation.js +2 -2
  40. package/dist-server/service/sequence/sequence-mutation.js.map +1 -1
  41. package/dist-server/service/sequence/sequence.d.ts +12 -0
  42. package/dist-server/service/sequence/sequence.js +2 -2
  43. package/dist-server/service/sequence/sequence.js.map +1 -1
  44. package/dist-server/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ export * from './sequence-type';
@@ -0,0 +1,3 @@
1
+ export declare const SEQUENCE_TYPE: {
2
+ PRODUCT_LABEL_COUNTER: string;
3
+ };
@@ -0,0 +1,13 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ type getNextArgs = {
3
+ domain: Domain;
4
+ pattern: string;
5
+ expirationDate?: Date;
6
+ };
7
+ export declare function generateId({ domain, type, seed }: {
8
+ domain: any;
9
+ type: any;
10
+ seed: any;
11
+ }): Promise<any>;
12
+ export declare function getNext({ domain, pattern, expirationDate }: getNextArgs): Promise<number>;
13
+ export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNext = exports.generateId = void 0;
3
+ exports.generateId = generateId;
4
+ exports.getNext = getNext;
4
5
  const typeorm_1 = require("typeorm");
5
6
  const shell_1 = require("@things-factory/shell");
6
7
  const id_rule_1 = require("../service/id-rule/id-rule");
@@ -21,7 +22,6 @@ async function generateId({ domain, type, seed }) {
21
22
  const nextId = await evalFunc(domain, Object.assign({}, seed));
22
23
  return nextId;
23
24
  }
24
- exports.generateId = generateId;
25
25
  async function getNext({ domain, pattern, expirationDate }) {
26
26
  const seqRepo = (0, shell_1.getRepository)(sequence_1.Sequence);
27
27
  const now = new Date();
@@ -50,5 +50,4 @@ async function getNext({ domain, pattern, expirationDate }) {
50
50
  }
51
51
  return last.seq;
52
52
  }
53
- exports.getNext = getNext;
54
53
  //# sourceMappingURL=id-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-generator.js","sourceRoot":"","sources":["../../server/controllers/id-generator.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAElC,iDAA6D;AAE7D,wDAAmD;AACnD,2DAAuD;AAQhD,KAAK,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;IACrD,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QACpC,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI;SACL;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI;QAAE,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAExC,IAAI,QAAQ,GAAG,IAAI,CAAC;MAChB,IAAI,CAAC,IAAI;IACX,CAAC,CAAA;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,oBAC/B,IAAI,EACP,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AApBD,gCAoBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAe;IAC5E,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;QACzB,OAAO;QACP,SAAS,EAAE,IAAA,kBAAQ,EAAC,GAAG,CAAC;KACzB,CAAC,CAAA;IAEF,IAAI,SAAS,GAAG,cAAc,CAAA;IAC9B,IAAI,CAAC,cAAc;QAAE,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAE3E,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,GAAG,EAAE,CAAA;QACV,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACzB;SAAM;QACL,IAAI,CAAC,cAAc;YAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QAErD,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,MAAM;YACN,OAAO;YACP,GAAG,EAAE,CAAC;YACN,SAAS;SACV,CAAC,CAAA;KACH;IAED,OAAO,IAAI,CAAC,GAAG,CAAA;AACjB,CAAC;AA5BD,0BA4BC","sourcesContent":["import { MoreThan } from 'typeorm'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { IdRule } from '../service/id-rule/id-rule'\nimport { Sequence } from '../service/sequence/sequence'\n\ntype getNextArgs = {\n domain: Domain\n pattern: string\n expirationDate?: Date\n}\n\nexport async function generateId({ domain, type, seed }) {\n const idRuleRepo = getRepository(IdRule)\n const rule = await idRuleRepo.findOne({\n where: {\n domain: { id: domain.id },\n type\n }\n })\n\n if (!rule) throw Error('Rule not found')\n\n let evalFunc = eval(`async (domain, seed) => {\n ${rule.rule}\n }`)\n\n const nextId = await evalFunc(domain, {\n ...seed\n })\n\n return nextId\n}\n\nexport async function getNext({ domain, pattern, expirationDate }: getNextArgs) {\n const seqRepo = getRepository(Sequence)\n const now = new Date()\n let last = await seqRepo.findOneBy({\n domain: { id: domain.id },\n pattern,\n expiresAt: MoreThan(now)\n })\n\n var expiresAt = expirationDate\n if (!expirationDate) expiresAt = new Date(now.setMonth(now.getMonth() + 6))\n\n if (last) {\n last.seq++\n last.expiresAt = expiresAt\n await seqRepo.save(last)\n } else {\n if (!expirationDate) now.setMonth(now.getMonth() + 6)\n\n last = await seqRepo.save({\n domain,\n pattern,\n seq: 1,\n expiresAt\n })\n }\n\n return last.seq\n}\n"]}
1
+ {"version":3,"file":"id-generator.js","sourceRoot":"","sources":["../../server/controllers/id-generator.ts"],"names":[],"mappings":";;AAaA,gCAoBC;AAED,0BA4BC;AA/DD,qCAAkC;AAElC,iDAA6D;AAE7D,wDAAmD;AACnD,2DAAuD;AAQhD,KAAK,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;IACrD,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QACpC,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI;SACL;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI;QAAE,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAExC,IAAI,QAAQ,GAAG,IAAI,CAAC;MAChB,IAAI,CAAC,IAAI;IACX,CAAC,CAAA;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,oBAC/B,IAAI,EACP,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAe;IAC5E,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;QACzB,OAAO;QACP,SAAS,EAAE,IAAA,kBAAQ,EAAC,GAAG,CAAC;KACzB,CAAC,CAAA;IAEF,IAAI,SAAS,GAAG,cAAc,CAAA;IAC9B,IAAI,CAAC,cAAc;QAAE,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAE3E,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,GAAG,EAAE,CAAA;QACV,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,cAAc;YAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QAErD,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,MAAM;YACN,OAAO;YACP,GAAG,EAAE,CAAC;YACN,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAA;AACjB,CAAC","sourcesContent":["import { MoreThan } from 'typeorm'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { IdRule } from '../service/id-rule/id-rule'\nimport { Sequence } from '../service/sequence/sequence'\n\ntype getNextArgs = {\n domain: Domain\n pattern: string\n expirationDate?: Date\n}\n\nexport async function generateId({ domain, type, seed }) {\n const idRuleRepo = getRepository(IdRule)\n const rule = await idRuleRepo.findOne({\n where: {\n domain: { id: domain.id },\n type\n }\n })\n\n if (!rule) throw Error('Rule not found')\n\n let evalFunc = eval(`async (domain, seed) => {\n ${rule.rule}\n }`)\n\n const nextId = await evalFunc(domain, {\n ...seed\n })\n\n return nextId\n}\n\nexport async function getNext({ domain, pattern, expirationDate }: getNextArgs) {\n const seqRepo = getRepository(Sequence)\n const now = new Date()\n let last = await seqRepo.findOneBy({\n domain: { id: domain.id },\n pattern,\n expiresAt: MoreThan(now)\n })\n\n var expiresAt = expirationDate\n if (!expirationDate) expiresAt = new Date(now.setMonth(now.getMonth() + 6))\n\n if (last) {\n last.seq++\n last.expiresAt = expiresAt\n await seqRepo.save(last)\n } else {\n if (!expirationDate) now.setMonth(now.getMonth() + 6)\n\n last = await seqRepo.save({\n domain,\n pattern,\n seq: 1,\n expiresAt\n })\n }\n\n return last.seq\n}\n"]}
@@ -0,0 +1 @@
1
+ export * from './id-generator';
@@ -0,0 +1,5 @@
1
+ import './routes';
2
+ export * from './service';
3
+ export * from './migrations';
4
+ export * from './controllers';
5
+ export * from './constants';
@@ -0,0 +1 @@
1
+ export declare var migrations: any[];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { DocNumber } from './doc-number';
2
+ import { NewDocNumber, DocNumberPatch } from './doc-number-type';
3
+ export declare class DocNumberMutation {
4
+ createDocNumber(docNumber: NewDocNumber, context: any): Promise<DocNumber>;
5
+ updateDocNumber(id: string, patch: DocNumberPatch, context: any): Promise<DocNumber>;
6
+ updateMultipleDocNumber(patches: DocNumberPatch[], context: any): Promise<DocNumber[]>;
7
+ deleteDocNumber(id: string, context: any): Promise<boolean>;
8
+ deleteDocNumbers(ids: string[], context: any): Promise<boolean>;
9
+ }
@@ -59,6 +59,7 @@ let DocNumberMutation = class DocNumberMutation {
59
59
  return true;
60
60
  }
61
61
  };
62
+ exports.DocNumberMutation = DocNumberMutation;
62
63
  tslib_1.__decorate([
63
64
  (0, type_graphql_1.Directive)('@transaction'),
64
65
  (0, type_graphql_1.Mutation)(returns => doc_number_1.DocNumber, { description: 'To create new DocNumber' }),
@@ -105,8 +106,7 @@ tslib_1.__decorate([
105
106
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
106
107
  tslib_1.__metadata("design:returntype", Promise)
107
108
  ], DocNumberMutation.prototype, "deleteDocNumbers", null);
108
- DocNumberMutation = tslib_1.__decorate([
109
+ exports.DocNumberMutation = DocNumberMutation = tslib_1.__decorate([
109
110
  (0, type_graphql_1.Resolver)(doc_number_1.DocNumber)
110
111
  ], DocNumberMutation);
111
- exports.DocNumberMutation = DocNumberMutation;
112
112
  //# sourceMappingURL=doc-number-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc-number-mutation.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { DocNumber } from './doc-number'\nimport { NewDocNumber, DocNumberPatch } from './doc-number-type'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\n@Resolver(DocNumber)\nexport class DocNumberMutation {\n @Directive('@transaction')\n @Mutation(returns => DocNumber, { description: 'To create new DocNumber' })\n async createDocNumber(@Arg('docNumber') docNumber: NewDocNumber, @Ctx() context: any): Promise<DocNumber> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(DocNumber).save({\n ...docNumber,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => DocNumber, { description: 'To modify DocNumber information' })\n async updateDocNumber(\n @Arg('id') id: string,\n @Arg('patch') patch: DocNumberPatch,\n @Ctx() context: any\n ): Promise<DocNumber> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(DocNumber)\n const docNumber = await repository.findOne(\n {\n where: { domain: { id: domain.id }, id },\n relations: ['domain','updater','creator']\n }\n )\n\n return await repository.save({\n ...docNumber,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [DocNumber], { description: \"To modify multiple DocNumbers' information\" })\n async updateMultipleDocNumber(\n @Arg('patches', type => [DocNumberPatch]) patches: DocNumberPatch[],\n @Ctx() context: any\n ): Promise<DocNumber[]> {\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 docNumberRepo = tx.getRepository(DocNumber)\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 docNumberRepo.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 updRecord = _updateRecords[i]\n const docNumber = await docNumberRepo.findOne({\n where: { domain: { id: domain.id }, id:updRecord.id },\n relations: ['domain','updater','creator']\n })\n \n const result = await docNumberRepo.save({\n ...docNumber,\n ...updRecord,\n updater: user\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 DocNumber' })\n async deleteDocNumber(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { domain, tx, user } = context.state\n await tx.getRepository(DocNumber).remove({ domain, id, updater:user })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple docNumbers' })\n async deleteDocNumbers(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: any\n ): Promise<boolean> {\n const { domain, tx, user } = context.state\n\n let delEntitis = ids.map(id=>{\n return {domain,id,updater:user}\n })\n\n await tx.getRepository(DocNumber).remove(delEntitis)\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"doc-number-mutation.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { DocNumber } from './doc-number'\nimport { NewDocNumber, DocNumberPatch } from './doc-number-type'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\n@Resolver(DocNumber)\nexport class DocNumberMutation {\n @Directive('@transaction')\n @Mutation(returns => DocNumber, { description: 'To create new DocNumber' })\n async createDocNumber(@Arg('docNumber') docNumber: NewDocNumber, @Ctx() context: any): Promise<DocNumber> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(DocNumber).save({\n ...docNumber,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => DocNumber, { description: 'To modify DocNumber information' })\n async updateDocNumber(\n @Arg('id') id: string,\n @Arg('patch') patch: DocNumberPatch,\n @Ctx() context: any\n ): Promise<DocNumber> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(DocNumber)\n const docNumber = await repository.findOne(\n {\n where: { domain: { id: domain.id }, id },\n relations: ['domain','updater','creator']\n }\n )\n\n return await repository.save({\n ...docNumber,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [DocNumber], { description: \"To modify multiple DocNumbers' information\" })\n async updateMultipleDocNumber(\n @Arg('patches', type => [DocNumberPatch]) patches: DocNumberPatch[],\n @Ctx() context: any\n ): Promise<DocNumber[]> {\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 docNumberRepo = tx.getRepository(DocNumber)\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 docNumberRepo.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 updRecord = _updateRecords[i]\n const docNumber = await docNumberRepo.findOne({\n where: { domain: { id: domain.id }, id:updRecord.id },\n relations: ['domain','updater','creator']\n })\n \n const result = await docNumberRepo.save({\n ...docNumber,\n ...updRecord,\n updater: user\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 DocNumber' })\n async deleteDocNumber(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {\n const { domain, tx, user } = context.state\n await tx.getRepository(DocNumber).remove({ domain, id, updater:user })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple docNumbers' })\n async deleteDocNumbers(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: any\n ): Promise<boolean> {\n const { domain, tx, user } = context.state\n\n let delEntitis = ids.map(id=>{\n return {domain,id,updater:user}\n })\n\n await tx.getRepository(DocNumber).remove(delEntitis)\n\n return true\n }\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import { ListParam } from '@things-factory/shell';
2
+ import { DocNumber } from './doc-number';
3
+ import { DocNumberList } from './doc-number-type';
4
+ import { User } from '@things-factory/auth-base';
5
+ import { Domain } from '@things-factory/shell';
6
+ export declare class DocNumberQuery {
7
+ docNumber(id: string, context: any): Promise<DocNumber>;
8
+ docNumbers(params: ListParam, context: any): Promise<DocNumberList>;
9
+ getNewDocNumber(id: string, context: any): Promise<DocNumber>;
10
+ domain(docNumber: DocNumber): Promise<Domain>;
11
+ creator(docNumber: DocNumber): Promise<User>;
12
+ updater(docNumber: DocNumber): Promise<User>;
13
+ }
@@ -116,6 +116,7 @@ let DocNumberQuery = class DocNumberQuery {
116
116
  return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: docNumber.updaterId });
117
117
  }
118
118
  };
119
+ exports.DocNumberQuery = DocNumberQuery;
119
120
  tslib_1.__decorate([
120
121
  (0, type_graphql_1.Query)(returns => doc_number_1.DocNumber, { description: 'To fetch a DocNumber' }),
121
122
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
@@ -161,8 +162,7 @@ tslib_1.__decorate([
161
162
  tslib_1.__metadata("design:paramtypes", [doc_number_1.DocNumber]),
162
163
  tslib_1.__metadata("design:returntype", Promise)
163
164
  ], DocNumberQuery.prototype, "updater", null);
164
- DocNumberQuery = tslib_1.__decorate([
165
+ exports.DocNumberQuery = DocNumberQuery = tslib_1.__decorate([
165
166
  (0, type_graphql_1.Resolver)(doc_number_1.DocNumber)
166
167
  ], DocNumberQuery);
167
- exports.DocNumberQuery = DocNumberQuery;
168
168
  //# sourceMappingURL=doc-number-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc-number-query.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number-query.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { ListParam, convertListParams, getRepository, getQueryBuilderFromListParams } from '@things-factory/shell'\nimport { DocNumber } from './doc-number'\nimport { DocNumberList } from './doc-number-type'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\n\n@Resolver(DocNumber)\nexport class DocNumberQuery {\n @Query(returns => DocNumber, { description: 'To fetch a DocNumber' })\n async docNumber(@Arg('id') id: string, @Ctx() context: any): Promise<DocNumber> {\n const { domain } = context.state\n return await getRepository(DocNumber).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => DocNumberList, { description: 'To fetch multiple DocNumbers' })\n async docNumbers(@Args() params: ListParam, @Ctx() context: any): Promise<DocNumberList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(DocNumber),\n searchables: ['code', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n return { items, total }\n }\n\n @Query(returns => DocNumber, { description: 'To generate a new DocNumber' })\n async getNewDocNumber(@Arg('id') id: string, @Ctx() context: any): Promise<DocNumber> {\n const { domain } = context.state\n\n // 1. find one by id - TODO by Lock\n let docNumber = await getRepository(DocNumber).findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n // 2. find one by code - TODO by Lock\n if(docNumber == null) {\n docNumber = await getRepository(DocNumber).findOne({\n where: { domain: { id: domain.id }, code : id }\n })\n }\n\n // 3. TODO throw exception\n if(docNumber == null) {\n return null\n } \n\n // 4. 시퀀스 증가\n let newDocNum = docNumber.currentNo\n\n if(docNumber.useDbSeqFlag) {\n // TODO DATABASE SEQUENCE 호출\n newDocNum += 1\n } else {\n newDocNum = docNumber.currentNo ? docNumber.currentNo + 1 : 1\n }\n\n // 5. 문서 번호 expression 구성\n if(!docNumber.expression) {\n docNumber.updateExpression()\n }\n\n let expression = docNumber.expression\n\n // 6. 시퀀스 번호 사이클 처리\n if(newDocNum > docNumber.endNo) {\n newDocNum = docNumber.startNo\n }\n\n // 7. 자리수 설정\n let newDocNoStr = newDocNum.toString()\n let docNumLength = newDocNoStr.length\n let docNoDigit = docNumber.seqDigitNum ? docNumber.seqDigitNum : 1\n\n // 8. 시퀀스 번호가 시퀀스 번호 사이즈보다 작은 경우 앞에 0을 붙임\n if(docNoDigit > docNumLength) {\n let addZeroCnt = docNoDigit - docNumLength\n for(let i = 0 ; i < addZeroCnt ; i++) {\n newDocNoStr = '0' + newDocNoStr\n }\n } \n\n // 9. 문서 번호 구성\n let newDocNumber = expression.replace('${SEQ}', newDocNoStr)\n let docUpdateInterval = docNumber.updateInterval\n if(docUpdateInterval && docUpdateInterval != 'NONE') {\n const today = new Date();\n let todayStr = today.getFullYear() + (today.getMonth() > 9 ? '' + today.getMonth() + 1 : '0' + today.getMonth() + 1) + today.getDate()\n let intervalVal = ''\n\n if(docUpdateInterval == 'yy') {\n intervalVal = todayStr.substring(2, 4)\n\n } else if(docUpdateInterval == 'yyyy') {\n intervalVal = todayStr.substring(0, 4)\n\n } else if(docUpdateInterval == 'yyMM') {\n intervalVal = todayStr.substring(2, 6)\n\n } else if(docUpdateInterval == 'yyyyMM') {\n intervalVal = todayStr.substring(0, 6)\n\n } else if(docUpdateInterval == 'yyMMdd') {\n intervalVal = todayStr.substring(2, 8)\n\n } else if(docUpdateInterval == 'yyyyMMdd') {\n intervalVal = todayStr\n }\n\n newDocNumber = newDocNumber.replace('${' + docUpdateInterval + '}', intervalVal)\n }\n\n // 10. 현재 시퀀스 번호 저장\n docNumber.domain = domain\n docNumber.currentNo = newDocNum\n docNumber.lastDocNumber = newDocNumber\n await getRepository(DocNumber).save(docNumber)\n\n // 11. 최종 \n return docNumber\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() docNumber: DocNumber): Promise<Domain> {\n return await getRepository(Domain).findOneBy({id:docNumber.domainId})\n }\n\n @FieldResolver(type => User)\n async creator(@Root() docNumber: DocNumber): Promise<User> {\n return await getRepository(User).findOneBy({id:docNumber.creatorId})\n }\n\n @FieldResolver(type => User)\n async updater(@Root() docNumber: DocNumber): Promise<User> {\n return await getRepository(User).findOneBy({id:docNumber.updaterId})\n }\n}\n"]}
1
+ {"version":3,"file":"doc-number-query.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number-query.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { ListParam, convertListParams, getRepository, getQueryBuilderFromListParams } from '@things-factory/shell'\nimport { DocNumber } from './doc-number'\nimport { DocNumberList } from './doc-number-type'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\n\n@Resolver(DocNumber)\nexport class DocNumberQuery {\n @Query(returns => DocNumber, { description: 'To fetch a DocNumber' })\n async docNumber(@Arg('id') id: string, @Ctx() context: any): Promise<DocNumber> {\n const { domain } = context.state\n return await getRepository(DocNumber).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => DocNumberList, { description: 'To fetch multiple DocNumbers' })\n async docNumbers(@Args() params: ListParam, @Ctx() context: any): Promise<DocNumberList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(DocNumber),\n searchables: ['code', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n return { items, total }\n }\n\n @Query(returns => DocNumber, { description: 'To generate a new DocNumber' })\n async getNewDocNumber(@Arg('id') id: string, @Ctx() context: any): Promise<DocNumber> {\n const { domain } = context.state\n\n // 1. find one by id - TODO by Lock\n let docNumber = await getRepository(DocNumber).findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n // 2. find one by code - TODO by Lock\n if(docNumber == null) {\n docNumber = await getRepository(DocNumber).findOne({\n where: { domain: { id: domain.id }, code : id }\n })\n }\n\n // 3. TODO throw exception\n if(docNumber == null) {\n return null\n } \n\n // 4. 시퀀스 증가\n let newDocNum = docNumber.currentNo\n\n if(docNumber.useDbSeqFlag) {\n // TODO DATABASE SEQUENCE 호출\n newDocNum += 1\n } else {\n newDocNum = docNumber.currentNo ? docNumber.currentNo + 1 : 1\n }\n\n // 5. 문서 번호 expression 구성\n if(!docNumber.expression) {\n docNumber.updateExpression()\n }\n\n let expression = docNumber.expression\n\n // 6. 시퀀스 번호 사이클 처리\n if(newDocNum > docNumber.endNo) {\n newDocNum = docNumber.startNo\n }\n\n // 7. 자리수 설정\n let newDocNoStr = newDocNum.toString()\n let docNumLength = newDocNoStr.length\n let docNoDigit = docNumber.seqDigitNum ? docNumber.seqDigitNum : 1\n\n // 8. 시퀀스 번호가 시퀀스 번호 사이즈보다 작은 경우 앞에 0을 붙임\n if(docNoDigit > docNumLength) {\n let addZeroCnt = docNoDigit - docNumLength\n for(let i = 0 ; i < addZeroCnt ; i++) {\n newDocNoStr = '0' + newDocNoStr\n }\n } \n\n // 9. 문서 번호 구성\n let newDocNumber = expression.replace('${SEQ}', newDocNoStr)\n let docUpdateInterval = docNumber.updateInterval\n if(docUpdateInterval && docUpdateInterval != 'NONE') {\n const today = new Date();\n let todayStr = today.getFullYear() + (today.getMonth() > 9 ? '' + today.getMonth() + 1 : '0' + today.getMonth() + 1) + today.getDate()\n let intervalVal = ''\n\n if(docUpdateInterval == 'yy') {\n intervalVal = todayStr.substring(2, 4)\n\n } else if(docUpdateInterval == 'yyyy') {\n intervalVal = todayStr.substring(0, 4)\n\n } else if(docUpdateInterval == 'yyMM') {\n intervalVal = todayStr.substring(2, 6)\n\n } else if(docUpdateInterval == 'yyyyMM') {\n intervalVal = todayStr.substring(0, 6)\n\n } else if(docUpdateInterval == 'yyMMdd') {\n intervalVal = todayStr.substring(2, 8)\n\n } else if(docUpdateInterval == 'yyyyMMdd') {\n intervalVal = todayStr\n }\n\n newDocNumber = newDocNumber.replace('${' + docUpdateInterval + '}', intervalVal)\n }\n\n // 10. 현재 시퀀스 번호 저장\n docNumber.domain = domain\n docNumber.currentNo = newDocNum\n docNumber.lastDocNumber = newDocNumber\n await getRepository(DocNumber).save(docNumber)\n\n // 11. 최종 \n return docNumber\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() docNumber: DocNumber): Promise<Domain> {\n return await getRepository(Domain).findOneBy({id:docNumber.domainId})\n }\n\n @FieldResolver(type => User)\n async creator(@Root() docNumber: DocNumber): Promise<User> {\n return await getRepository(User).findOneBy({id:docNumber.creatorId})\n }\n\n @FieldResolver(type => User)\n async updater(@Root() docNumber: DocNumber): Promise<User> {\n return await getRepository(User).findOneBy({id:docNumber.updaterId})\n }\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { DocNumber } from './doc-number';
2
+ export declare class NewDocNumber {
3
+ code: string;
4
+ description: string;
5
+ startNo: number;
6
+ endNo: number;
7
+ currentNo?: number;
8
+ prefix?: string;
9
+ suffix?: string;
10
+ updateInterval?: string;
11
+ useDbSeqFlag?: boolean;
12
+ seqName: string;
13
+ seqDigitNum?: number;
14
+ separator?: string;
15
+ expression?: string;
16
+ lastDocNumber?: string;
17
+ activeFlag?: boolean;
18
+ }
19
+ export declare class DocNumberPatch {
20
+ id?: string;
21
+ code?: string;
22
+ description?: string;
23
+ startNo?: number;
24
+ endNo?: number;
25
+ currentNo?: number;
26
+ prefix?: string;
27
+ suffix?: string;
28
+ updateInterval?: string;
29
+ useDbSeqFlag?: boolean;
30
+ seqName?: string;
31
+ seqDigitNum?: number;
32
+ separator?: string;
33
+ expression?: string;
34
+ lastDocNumber?: string;
35
+ activeFlag?: boolean;
36
+ cuFlag: string;
37
+ }
38
+ export declare class DocNumberList {
39
+ items: DocNumber[];
40
+ total: number;
41
+ }
@@ -6,6 +6,7 @@ const type_graphql_1 = require("type-graphql");
6
6
  const doc_number_1 = require("./doc-number");
7
7
  let NewDocNumber = class NewDocNumber {
8
8
  };
9
+ exports.NewDocNumber = NewDocNumber;
9
10
  tslib_1.__decorate([
10
11
  (0, type_graphql_1.Field)({ nullable: false }),
11
12
  tslib_1.__metadata("design:type", String)
@@ -66,12 +67,12 @@ tslib_1.__decorate([
66
67
  (0, type_graphql_1.Field)({ nullable: true }),
67
68
  tslib_1.__metadata("design:type", Boolean)
68
69
  ], NewDocNumber.prototype, "activeFlag", void 0);
69
- NewDocNumber = tslib_1.__decorate([
70
+ exports.NewDocNumber = NewDocNumber = tslib_1.__decorate([
70
71
  (0, type_graphql_1.InputType)()
71
72
  ], NewDocNumber);
72
- exports.NewDocNumber = NewDocNumber;
73
73
  let DocNumberPatch = class DocNumberPatch {
74
74
  };
75
+ exports.DocNumberPatch = DocNumberPatch;
75
76
  tslib_1.__decorate([
76
77
  (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
77
78
  tslib_1.__metadata("design:type", String)
@@ -140,12 +141,12 @@ tslib_1.__decorate([
140
141
  (0, type_graphql_1.Field)(),
141
142
  tslib_1.__metadata("design:type", String)
142
143
  ], DocNumberPatch.prototype, "cuFlag", void 0);
143
- DocNumberPatch = tslib_1.__decorate([
144
+ exports.DocNumberPatch = DocNumberPatch = tslib_1.__decorate([
144
145
  (0, type_graphql_1.InputType)()
145
146
  ], DocNumberPatch);
146
- exports.DocNumberPatch = DocNumberPatch;
147
147
  let DocNumberList = class DocNumberList {
148
148
  };
149
+ exports.DocNumberList = DocNumberList;
149
150
  tslib_1.__decorate([
150
151
  (0, type_graphql_1.Field)(type => [doc_number_1.DocNumber]),
151
152
  tslib_1.__metadata("design:type", Array)
@@ -154,8 +155,7 @@ tslib_1.__decorate([
154
155
  (0, type_graphql_1.Field)(type => type_graphql_1.Int),
155
156
  tslib_1.__metadata("design:type", Number)
156
157
  ], DocNumberList.prototype, "total", void 0);
157
- DocNumberList = tslib_1.__decorate([
158
+ exports.DocNumberList = DocNumberList = tslib_1.__decorate([
158
159
  (0, type_graphql_1.ObjectType)()
159
160
  ], DocNumberList);
160
- exports.DocNumberList = DocNumberList;
161
161
  //# sourceMappingURL=doc-number-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc-number-type.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number-type.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { ObjectType, Field, InputType, Int, ID, Float, registerEnumType } from 'type-graphql'\nimport { DocNumber } from './doc-number'\n\n@InputType()\nexport class NewDocNumber {\n\n @Field({ nullable: false })\n code: string\n\n @Field({ nullable: false })\n description: string\n\n @Field(type => Int, { nullable: true })\n startNo: number\n\n @Field(type => Int, { nullable: true })\n endNo: number\n\n @Field(type => Int, { nullable: true })\n currentNo?: number\n\n @Field({ nullable:true })\n prefix?: string\n\n @Field({ nullable:true })\n suffix?: string\n\n @Field({ nullable: true })\n updateInterval?: string\n\n @Field({ nullable: true })\n useDbSeqFlag?: boolean\n\n @Field({ nullable: false })\n seqName: string\n\n @Field(type => Int, { nullable: true })\n seqDigitNum?: number\n\n @Field({ nullable: true })\n separator?: string\n\n @Field({ nullable: true })\n expression?: string\n\n @Field({ nullable: true })\n lastDocNumber?: string\n\n @Field({ nullable: true })\n activeFlag?: boolean\n}\n\n@InputType()\nexport class DocNumberPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n code?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => Int, { nullable: true })\n startNo?: number\n\n @Field(type => Int, { nullable: true })\n endNo?: number\n\n @Field(type => Int, { nullable: true })\n currentNo?: number\n\n @Field({ nullable:true })\n prefix?: string\n\n @Field({ nullable:true })\n suffix?: string\n\n @Field({ nullable: true })\n updateInterval?: string\n\n @Field({ nullable: true })\n useDbSeqFlag?: boolean\n\n @Field({ nullable: true })\n seqName?: string\n\n @Field(type => Int, { nullable: true })\n seqDigitNum?: number\n\n @Field({ nullable: true })\n separator?: string\n\n @Field({ nullable: true })\n expression?: string\n\n @Field({ nullable: true })\n lastDocNumber?: string\n\n @Field({ nullable: true })\n activeFlag?: boolean\n\n @Field()\n cuFlag: string\n}\n\n@ObjectType()\nexport class DocNumberList {\n @Field(type => [DocNumber])\n items: DocNumber[]\n\n @Field(type => Int)\n total: number\n}\n"]}
1
+ {"version":3,"file":"doc-number-type.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number-type.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { ObjectType, Field, InputType, Int, ID, Float, registerEnumType } from 'type-graphql'\nimport { DocNumber } from './doc-number'\n\n@InputType()\nexport class NewDocNumber {\n\n @Field({ nullable: false })\n code: string\n\n @Field({ nullable: false })\n description: string\n\n @Field(type => Int, { nullable: true })\n startNo: number\n\n @Field(type => Int, { nullable: true })\n endNo: number\n\n @Field(type => Int, { nullable: true })\n currentNo?: number\n\n @Field({ nullable:true })\n prefix?: string\n\n @Field({ nullable:true })\n suffix?: string\n\n @Field({ nullable: true })\n updateInterval?: string\n\n @Field({ nullable: true })\n useDbSeqFlag?: boolean\n\n @Field({ nullable: false })\n seqName: string\n\n @Field(type => Int, { nullable: true })\n seqDigitNum?: number\n\n @Field({ nullable: true })\n separator?: string\n\n @Field({ nullable: true })\n expression?: string\n\n @Field({ nullable: true })\n lastDocNumber?: string\n\n @Field({ nullable: true })\n activeFlag?: boolean\n}\n\n@InputType()\nexport class DocNumberPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n code?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => Int, { nullable: true })\n startNo?: number\n\n @Field(type => Int, { nullable: true })\n endNo?: number\n\n @Field(type => Int, { nullable: true })\n currentNo?: number\n\n @Field({ nullable:true })\n prefix?: string\n\n @Field({ nullable:true })\n suffix?: string\n\n @Field({ nullable: true })\n updateInterval?: string\n\n @Field({ nullable: true })\n useDbSeqFlag?: boolean\n\n @Field({ nullable: true })\n seqName?: string\n\n @Field(type => Int, { nullable: true })\n seqDigitNum?: number\n\n @Field({ nullable: true })\n separator?: string\n\n @Field({ nullable: true })\n expression?: string\n\n @Field({ nullable: true })\n lastDocNumber?: string\n\n @Field({ nullable: true })\n activeFlag?: boolean\n\n @Field()\n cuFlag: string\n}\n\n@ObjectType()\nexport class DocNumberList {\n @Field(type => [DocNumber])\n items: DocNumber[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,29 @@
1
+ import { User } from '@things-factory/auth-base';
2
+ import { Domain } from '@things-factory/shell';
3
+ export declare class DocNumber {
4
+ readonly id: string;
5
+ code: string;
6
+ description: string;
7
+ prefix?: string;
8
+ suffix?: string;
9
+ startNo?: number;
10
+ endNo?: number;
11
+ currentNo?: number;
12
+ updateInterval?: string;
13
+ useDbSeqFlag?: boolean;
14
+ seqName?: string;
15
+ seqDigitNum: number;
16
+ separator?: string;
17
+ expression?: string;
18
+ lastDocNumber?: string;
19
+ activeFlag?: boolean;
20
+ domain: Domain;
21
+ domainId: string;
22
+ creator?: User;
23
+ creatorId?: string;
24
+ updater?: User;
25
+ updaterId?: string;
26
+ createdAt?: Date;
27
+ updatedAt?: Date;
28
+ updateExpression(): void;
29
+ }
@@ -43,6 +43,7 @@ let DocNumber = class DocNumber {
43
43
  }
44
44
  }
45
45
  };
46
+ exports.DocNumber = DocNumber;
46
47
  tslib_1.__decorate([
47
48
  (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
48
49
  (0, type_graphql_1.Field)(type => type_graphql_1.ID),
@@ -166,10 +167,9 @@ tslib_1.__decorate([
166
167
  tslib_1.__metadata("design:paramtypes", []),
167
168
  tslib_1.__metadata("design:returntype", void 0)
168
169
  ], DocNumber.prototype, "updateExpression", null);
169
- DocNumber = tslib_1.__decorate([
170
+ exports.DocNumber = DocNumber = tslib_1.__decorate([
170
171
  (0, typeorm_1.Entity)('doc_numbers'),
171
172
  (0, typeorm_1.Index)('ix_doc_number_0', (docNumber) => [docNumber.domain, docNumber.code], { unique: true }),
172
173
  (0, type_graphql_1.ObjectType)({ description: 'Entity for DocNumber' })
173
174
  ], DocNumber);
174
- exports.DocNumber = DocNumber;
175
175
  //# sourceMappingURL=doc-number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc-number.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport {\n CreateDateColumn,\n UpdateDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn,\n BeforeInsert\n} from 'typeorm'\nimport { ObjectType, Field, Int, ID } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\n@Entity('doc_numbers')\n@Index('ix_doc_number_0', (docNumber: DocNumber) => [docNumber.domain,docNumber.code], { unique: true })\n@ObjectType({ description: 'Entity for DocNumber' })\nexport class DocNumber {\n\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ name:'code', type:'character varying', nullable:false })\n @Field({ nullable:false })\n code: string\n\n @Column({ name:'description', type:'character varying', nullable:false })\n @Field({ nullable:false })\n description: string\n\n @Column({ name:'prefix', type:'character varying', nullable:true })\n @Field({ nullable:true })\n prefix?: string\n\n @Column({ name:'suffix', type:'character varying', nullable:true })\n @Field({ nullable:true })\n suffix?: string\n\n @Column({ name:'start_no', type:'integer', nullable:true })\n @Field(type =>Int, { nullable:true })\n startNo?: number\n\n @Column({ name:'end_no', type:'integer', nullable:true })\n @Field(type =>Int, { nullable:true })\n endNo?: number\n\n @Column({ name:'current_no', type:'integer', nullable:true })\n @Field(type =>Int, { nullable:true })\n currentNo?: number\n\n @Column({ name:'update_interval', type:'character varying', nullable:true })\n @Field({ nullable:true })\n updateInterval?: string\n\n @Column({ name:'use_db_seq_flag', type:'boolean', nullable:true, default: false})\n @Field({ nullable:true })\n useDbSeqFlag?: boolean\n\n @Column({ name:'seq_name', type:'character varying', nullable:true })\n @Field({ nullable:true })\n seqName?: string\n\n @Column({ name:'seq_digit_num', type:'integer', nullable:false })\n @Field(type =>Int, { nullable:false })\n seqDigitNum: number\n\n @Column({ name:'separator', type:'character varying', nullable:true })\n @Field({ nullable:true })\n separator?: string\n\n @Column({ name:'expression', type:'character varying', nullable:true })\n @Field({ nullable:true })\n expression?: string\n\n @Column({ name:'last_doc_number', type:'character varying', nullable:true })\n @Field({ nullable:true })\n lastDocNumber?: string\n\n @Column({ name:'active_flag', type:'boolean', nullable:true ,default:false})\n @Field({ nullable:true })\n activeFlag?: boolean\n\n @ManyToOne(type => Domain, {createForeignKeyConstraints: false, nullable: false})\n @Field({ nullable: false })\n domain: Domain\n\n @RelationId((docNumber: DocNumber) => docNumber.domain)\n domainId: string\n\n @ManyToOne(type => User, {createForeignKeyConstraints: false, nullable: true})\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((docNumber: DocNumber) => docNumber.creator)\n creatorId?: string\n\n @ManyToOne(type => User, {createForeignKeyConstraints: false, nullable: true})\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((docNumber: DocNumber) => docNumber.updater)\n updaterId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @BeforeInsert()\n updateExpression() {\n if(!this.expression || this.expression.length == 0) {\n if(!this.startNo || this.startNo < 1) {\n this.startNo = 1\n }\n\n if(!this.endNo || this.endNo <= 1) {\n let maxNo = ''\n for(let i = 0 ; i < this.seqDigitNum ; i++) {\n maxNo = maxNo + '9'\n }\n this.endNo = Number(maxNo)\n }\n\n let expr = ''\n\n if(this.prefix) {\n expr = this.prefix\n \n if(this.separator) {\n expr += this.separator\n } \n }\n\n if(this.updateInterval && this.updateInterval != 'NONE') {\n expr += '${' + this.updateInterval + '}'\n\n if(this.separator) {\n expr += this.separator\n }\n }\n\n expr += '${SEQ}'\n\n if(this.suffix) {\n if(this.separator) {\n expr += this.separator\n }\n \n expr += this.suffix\n }\n\n this.expression = expr\n }\n }\n}\n"]}
1
+ {"version":3,"file":"doc-number.js","sourceRoot":"","sources":["../../../server/service/doc-number/doc-number.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport {\n CreateDateColumn,\n UpdateDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn,\n BeforeInsert\n} from 'typeorm'\nimport { ObjectType, Field, Int, ID } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\n@Entity('doc_numbers')\n@Index('ix_doc_number_0', (docNumber: DocNumber) => [docNumber.domain,docNumber.code], { unique: true })\n@ObjectType({ description: 'Entity for DocNumber' })\nexport class DocNumber {\n\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ name:'code', type:'character varying', nullable:false })\n @Field({ nullable:false })\n code: string\n\n @Column({ name:'description', type:'character varying', nullable:false })\n @Field({ nullable:false })\n description: string\n\n @Column({ name:'prefix', type:'character varying', nullable:true })\n @Field({ nullable:true })\n prefix?: string\n\n @Column({ name:'suffix', type:'character varying', nullable:true })\n @Field({ nullable:true })\n suffix?: string\n\n @Column({ name:'start_no', type:'integer', nullable:true })\n @Field(type =>Int, { nullable:true })\n startNo?: number\n\n @Column({ name:'end_no', type:'integer', nullable:true })\n @Field(type =>Int, { nullable:true })\n endNo?: number\n\n @Column({ name:'current_no', type:'integer', nullable:true })\n @Field(type =>Int, { nullable:true })\n currentNo?: number\n\n @Column({ name:'update_interval', type:'character varying', nullable:true })\n @Field({ nullable:true })\n updateInterval?: string\n\n @Column({ name:'use_db_seq_flag', type:'boolean', nullable:true, default: false})\n @Field({ nullable:true })\n useDbSeqFlag?: boolean\n\n @Column({ name:'seq_name', type:'character varying', nullable:true })\n @Field({ nullable:true })\n seqName?: string\n\n @Column({ name:'seq_digit_num', type:'integer', nullable:false })\n @Field(type =>Int, { nullable:false })\n seqDigitNum: number\n\n @Column({ name:'separator', type:'character varying', nullable:true })\n @Field({ nullable:true })\n separator?: string\n\n @Column({ name:'expression', type:'character varying', nullable:true })\n @Field({ nullable:true })\n expression?: string\n\n @Column({ name:'last_doc_number', type:'character varying', nullable:true })\n @Field({ nullable:true })\n lastDocNumber?: string\n\n @Column({ name:'active_flag', type:'boolean', nullable:true ,default:false})\n @Field({ nullable:true })\n activeFlag?: boolean\n\n @ManyToOne(type => Domain, {createForeignKeyConstraints: false, nullable: false})\n @Field({ nullable: false })\n domain: Domain\n\n @RelationId((docNumber: DocNumber) => docNumber.domain)\n domainId: string\n\n @ManyToOne(type => User, {createForeignKeyConstraints: false, nullable: true})\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((docNumber: DocNumber) => docNumber.creator)\n creatorId?: string\n\n @ManyToOne(type => User, {createForeignKeyConstraints: false, nullable: true})\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((docNumber: DocNumber) => docNumber.updater)\n updaterId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @BeforeInsert()\n updateExpression() {\n if(!this.expression || this.expression.length == 0) {\n if(!this.startNo || this.startNo < 1) {\n this.startNo = 1\n }\n\n if(!this.endNo || this.endNo <= 1) {\n let maxNo = ''\n for(let i = 0 ; i < this.seqDigitNum ; i++) {\n maxNo = maxNo + '9'\n }\n this.endNo = Number(maxNo)\n }\n\n let expr = ''\n\n if(this.prefix) {\n expr = this.prefix\n \n if(this.separator) {\n expr += this.separator\n } \n }\n\n if(this.updateInterval && this.updateInterval != 'NONE') {\n expr += '${' + this.updateInterval + '}'\n\n if(this.separator) {\n expr += this.separator\n }\n }\n\n expr += '${SEQ}'\n\n if(this.suffix) {\n if(this.separator) {\n expr += this.separator\n }\n \n expr += this.suffix\n }\n\n this.expression = expr\n }\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { DocNumber } from './doc-number';
2
+ import { DocNumberQuery } from './doc-number-query';
3
+ import { DocNumberMutation } from './doc-number-mutation';
4
+ export declare const entities: (typeof DocNumber)[];
5
+ export declare const resolvers: (typeof DocNumberQuery | typeof DocNumberMutation)[];
@@ -0,0 +1,10 @@
1
+ import { IdRule } from './id-rule';
2
+ import { IdRulePatch, NewIdRule } from './id-rule-types';
3
+ export declare class IdRuleMutation {
4
+ createIdRule(idRule: NewIdRule, context: any): Promise<{
5
+ domain: any;
6
+ type: string;
7
+ rule: string;
8
+ } & IdRule>;
9
+ updateIdRule(type: string, patch: IdRulePatch, context: any): Promise<IdRule>;
10
+ }
@@ -18,6 +18,7 @@ let IdRuleMutation = class IdRuleMutation {
18
18
  return await repository.save(Object.assign(Object.assign({}, idRule), patch));
19
19
  }
20
20
  };
21
+ exports.IdRuleMutation = IdRuleMutation;
21
22
  tslib_1.__decorate([
22
23
  (0, type_graphql_1.Mutation)(returns => id_rule_1.IdRule),
23
24
  tslib_1.__param(0, (0, type_graphql_1.Arg)('idRule')),
@@ -35,8 +36,7 @@ tslib_1.__decorate([
35
36
  tslib_1.__metadata("design:paramtypes", [String, id_rule_types_1.IdRulePatch, Object]),
36
37
  tslib_1.__metadata("design:returntype", Promise)
37
38
  ], IdRuleMutation.prototype, "updateIdRule", null);
38
- IdRuleMutation = tslib_1.__decorate([
39
+ exports.IdRuleMutation = IdRuleMutation = tslib_1.__decorate([
39
40
  (0, type_graphql_1.Resolver)(id_rule_1.IdRule)
40
41
  ], IdRuleMutation);
41
- exports.IdRuleMutation = IdRuleMutation;
42
42
  //# sourceMappingURL=id-rule-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-rule-mutation.js","sourceRoot":"","sources":["../../../server/service/id-rule/id-rule-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;AAE3D,iDAAqD;AAErD,uCAAkC;AAClC,mDAAwD;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEnB,AAAN,KAAK,CAAC,YAAY,CAAgB,MAAiB,EAAS,OAAY;QACtE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAC,IAAI,iCAClC,MAAM,KACT,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAC5B,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CACH,IAAY,EACX,KAAkB,EACzB,OAAY;QAEnB,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAW,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE;SACtE,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,MAAM,GACN,KAAK,EACR,CAAA;IACJ,CAAC;CACF,CAAA;AAvBO;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,gBAAM,CAAC;IACR,mBAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,yBAAS;;kDAKlD;AAGK;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,gBAAM,CAAC;IAEzB,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDADe,2BAAW;;kDAYjC;AAxBU,cAAc;IAD1B,IAAA,uBAAQ,EAAC,gBAAM,CAAC;GACJ,cAAc,CAyB1B;AAzBY,wCAAc","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { IdRule } from './id-rule'\nimport { IdRulePatch, NewIdRule } from './id-rule-types'\n\n@Resolver(IdRule)\nexport class IdRuleMutation {\n @Mutation(returns => IdRule)\n async createIdRule(@Arg('idRule') idRule: NewIdRule, @Ctx() context: any) {\n return await getRepository(IdRule).save({\n ...idRule,\n domain: context.state.domain\n })\n }\n\n @Mutation(returns => IdRule)\n async updateIdRule(\n @Arg('type') type: string,\n @Arg('patch') patch: IdRulePatch,\n @Ctx() context: any\n ): Promise<IdRule> {\n const repository = getRepository(IdRule)\n const idRule = await repository.findOne({\n where: { type: type as any, domain: { id: context.state.domain.id } }\n })\n\n return await repository.save({\n ...idRule,\n ...patch\n })\n }\n}\n"]}
1
+ {"version":3,"file":"id-rule-mutation.js","sourceRoot":"","sources":["../../../server/service/id-rule/id-rule-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;AAE3D,iDAAqD;AAErD,uCAAkC;AAClC,mDAAwD;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEnB,AAAN,KAAK,CAAC,YAAY,CAAgB,MAAiB,EAAS,OAAY;QACtE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAC,IAAI,iCAClC,MAAM,KACT,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAC5B,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CACH,IAAY,EACX,KAAkB,EACzB,OAAY;QAEnB,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAW,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE;SACtE,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,MAAM,GACN,KAAK,EACR,CAAA;IACJ,CAAC;CACF,CAAA;AAzBY,wCAAc;AAEnB;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,gBAAM,CAAC;IACR,mBAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,yBAAS;;kDAKlD;AAGK;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,gBAAM,CAAC;IAEzB,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDADe,2BAAW;;kDAYjC;yBAxBU,cAAc;IAD1B,IAAA,uBAAQ,EAAC,gBAAM,CAAC;GACJ,cAAc,CAyB1B","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { IdRule } from './id-rule'\nimport { IdRulePatch, NewIdRule } from './id-rule-types'\n\n@Resolver(IdRule)\nexport class IdRuleMutation {\n @Mutation(returns => IdRule)\n async createIdRule(@Arg('idRule') idRule: NewIdRule, @Ctx() context: any) {\n return await getRepository(IdRule).save({\n ...idRule,\n domain: context.state.domain\n })\n }\n\n @Mutation(returns => IdRule)\n async updateIdRule(\n @Arg('type') type: string,\n @Arg('patch') patch: IdRulePatch,\n @Ctx() context: any\n ): Promise<IdRule> {\n const repository = getRepository(IdRule)\n const idRule = await repository.findOne({\n where: { type: type as any, domain: { id: context.state.domain.id } }\n })\n\n return await repository.save({\n ...idRule,\n ...patch\n })\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ import { IdRule } from './id-rule';
3
+ export declare class IdRuleQuery {
4
+ idRule(type: string, context: any): Promise<IdRule>;
5
+ domain(idRule: IdRule): Promise<Domain>;
6
+ }
@@ -19,6 +19,7 @@ let IdRuleQuery = class IdRuleQuery {
19
19
  return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: idRule.domainId });
20
20
  }
21
21
  };
22
+ exports.IdRuleQuery = IdRuleQuery;
22
23
  tslib_1.__decorate([
23
24
  (0, type_graphql_1.Query)(returns => id_rule_1.IdRule, { nullable: true }),
24
25
  tslib_1.__param(0, (0, type_graphql_1.Arg)('type')),
@@ -34,8 +35,7 @@ tslib_1.__decorate([
34
35
  tslib_1.__metadata("design:paramtypes", [id_rule_1.IdRule]),
35
36
  tslib_1.__metadata("design:returntype", Promise)
36
37
  ], IdRuleQuery.prototype, "domain", null);
37
- IdRuleQuery = tslib_1.__decorate([
38
+ exports.IdRuleQuery = IdRuleQuery = tslib_1.__decorate([
38
39
  (0, type_graphql_1.Resolver)(id_rule_1.IdRule)
39
40
  ], IdRuleQuery);
40
- exports.IdRuleQuery = IdRuleQuery;
41
41
  //# sourceMappingURL=id-rule-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-rule-query.js","sourceRoot":"","sources":["../../../server/service/id-rule/id-rule-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA6E;AAE7E,iDAA6D;AAE7D,uCAAkC;AAG3B,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEhB,AAAN,KAAK,CAAC,MAAM,CAAc,IAAY,EAAS,OAAY;QACzD,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;gBACvC,IAAI,EAAE,IAAW;aAClB;SACF,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,MAAc;QACjC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvE,CAAC;CACF,CAAA;AAfO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,gBAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/B,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yCAS7C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,gBAAM;;yCAElC;AAhBU,WAAW;IADvB,IAAA,uBAAQ,EAAC,gBAAM,CAAC;GACJ,WAAW,CAiBvB;AAjBY,kCAAW","sourcesContent":["import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { IdRule } from './id-rule'\n\n@Resolver(IdRule)\nexport class IdRuleQuery {\n @Query(returns => IdRule, { nullable: true })\n async idRule(@Arg('type') type: string, @Ctx() context: any): Promise<IdRule> {\n const rule = await getRepository(IdRule).findOne({\n where: {\n domain: { id: context.state.domain.id },\n type: type as any\n }\n })\n\n return rule\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() idRule: IdRule) {\n return await getRepository(Domain).findOneBy({ id: idRule.domainId })\n }\n}\n"]}
1
+ {"version":3,"file":"id-rule-query.js","sourceRoot":"","sources":["../../../server/service/id-rule/id-rule-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA6E;AAE7E,iDAA6D;AAE7D,uCAAkC;AAG3B,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEhB,AAAN,KAAK,CAAC,MAAM,CAAc,IAAY,EAAS,OAAY;QACzD,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,gBAAM,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;gBACvC,IAAI,EAAE,IAAW;aAClB;SACF,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,MAAc;QACjC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvE,CAAC;CACF,CAAA;AAjBY,kCAAW;AAEhB;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,gBAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/B,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yCAS7C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,gBAAM;;yCAElC;sBAhBU,WAAW;IADvB,IAAA,uBAAQ,EAAC,gBAAM,CAAC;GACJ,WAAW,CAiBvB","sourcesContent":["import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { IdRule } from './id-rule'\n\n@Resolver(IdRule)\nexport class IdRuleQuery {\n @Query(returns => IdRule, { nullable: true })\n async idRule(@Arg('type') type: string, @Ctx() context: any): Promise<IdRule> {\n const rule = await getRepository(IdRule).findOne({\n where: {\n domain: { id: context.state.domain.id },\n type: type as any\n }\n })\n\n return rule\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() idRule: IdRule) {\n return await getRepository(Domain).findOneBy({ id: idRule.domainId })\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ export declare class IdRulePatch {
2
+ type?: string;
3
+ rule?: string;
4
+ }
5
+ export declare class NewIdRule {
6
+ type: string;
7
+ rule: string;
8
+ }
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const type_graphql_1 = require("type-graphql");
6
6
  let IdRulePatch = class IdRulePatch {
7
7
  };
8
+ exports.IdRulePatch = IdRulePatch;
8
9
  tslib_1.__decorate([
9
10
  (0, type_graphql_1.Field)({ nullable: true }),
10
11
  tslib_1.__metadata("design:type", String)
@@ -13,12 +14,12 @@ tslib_1.__decorate([
13
14
  (0, type_graphql_1.Field)({ nullable: true }),
14
15
  tslib_1.__metadata("design:type", String)
15
16
  ], IdRulePatch.prototype, "rule", void 0);
16
- IdRulePatch = tslib_1.__decorate([
17
+ exports.IdRulePatch = IdRulePatch = tslib_1.__decorate([
17
18
  (0, type_graphql_1.InputType)()
18
19
  ], IdRulePatch);
19
- exports.IdRulePatch = IdRulePatch;
20
20
  let NewIdRule = class NewIdRule {
21
21
  };
22
+ exports.NewIdRule = NewIdRule;
22
23
  tslib_1.__decorate([
23
24
  (0, type_graphql_1.Field)(),
24
25
  tslib_1.__metadata("design:type", String)
@@ -27,8 +28,7 @@ tslib_1.__decorate([
27
28
  (0, type_graphql_1.Field)(),
28
29
  tslib_1.__metadata("design:type", String)
29
30
  ], NewIdRule.prototype, "rule", void 0);
30
- NewIdRule = tslib_1.__decorate([
31
+ exports.NewIdRule = NewIdRule = tslib_1.__decorate([
31
32
  (0, type_graphql_1.InputType)()
32
33
  ], NewIdRule);
33
- exports.NewIdRule = NewIdRule;
34
34
  //# sourceMappingURL=id-rule-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-rule-types.js","sourceRoot":"","sources":["../../../server/service/id-rule/id-rule-types.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAIxC,IAAM,WAAW,GAAjB,MAAM,WAAW;CAMvB,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AALF,WAAW;IADvB,IAAA,wBAAS,GAAE;GACC,WAAW,CAMvB;AANY,kCAAW;AASjB,IAAM,SAAS,GAAf,MAAM,SAAS;CAMrB,CAAA;AALC;IAAC,IAAA,oBAAK,GAAE;;uCACI;AAEZ;IAAC,IAAA,oBAAK,GAAE;;uCACI;AALD,SAAS;IADrB,IAAA,wBAAS,GAAE;GACC,SAAS,CAMrB;AANY,8BAAS","sourcesContent":["import { Field, InputType } from 'type-graphql'\n\n\n@InputType()\nexport class IdRulePatch {\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n rule?: string\n}\n\n@InputType()\nexport class NewIdRule {\n @Field()\n type: string\n\n @Field()\n rule: string\n}\n"]}
1
+ {"version":3,"file":"id-rule-types.js","sourceRoot":"","sources":["../../../server/service/id-rule/id-rule-types.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAIxC,IAAM,WAAW,GAAjB,MAAM,WAAW;CAMvB,CAAA;AANY,kCAAW;AAEtB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;sBALF,WAAW;IADvB,IAAA,wBAAS,GAAE;GACC,WAAW,CAMvB;AAGM,IAAM,SAAS,GAAf,MAAM,SAAS;CAMrB,CAAA;AANY,8BAAS;AAEpB;IADC,IAAA,oBAAK,GAAE;;uCACI;AAGZ;IADC,IAAA,oBAAK,GAAE;;uCACI;oBALD,SAAS;IADrB,IAAA,wBAAS,GAAE;GACC,SAAS,CAMrB","sourcesContent":["import { Field, InputType } from 'type-graphql'\n\n\n@InputType()\nexport class IdRulePatch {\n @Field({ nullable: true })\n type?: string\n\n @Field({ nullable: true })\n rule?: string\n}\n\n@InputType()\nexport class NewIdRule {\n @Field()\n type: string\n\n @Field()\n rule: string\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ export declare class IdRule {
3
+ readonly id: string;
4
+ domain: Domain;
5
+ domainId: string;
6
+ type: string;
7
+ rule: string;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ }