@things-factory/organization 6.2.177 → 6.2.178

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 (95) hide show
  1. package/client/component/department-view.ts +1 -1
  2. package/dist-client/component/approval-line-brief.js.map +1 -1
  3. package/dist-client/component/approval-line-items-editor-popup.js.map +1 -1
  4. package/dist-client/component/approval-line-items-editor.js.map +1 -1
  5. package/dist-client/component/approval-line-selector.js.map +1 -1
  6. package/dist-client/component/approval-line-templates-manager.js.map +1 -1
  7. package/dist-client/component/approval-line-view.js.map +1 -1
  8. package/dist-client/component/assignees-editor-popup.js.map +1 -1
  9. package/dist-client/component/assignees-editor.js.map +1 -1
  10. package/dist-client/component/assignees-view.js.map +1 -1
  11. package/dist-client/component/department-selector.js.map +1 -1
  12. package/dist-client/component/department-view.js.map +1 -1
  13. package/dist-client/component/recipients-editor-popup.js.map +1 -1
  14. package/dist-client/component/recipients-editor.js.map +1 -1
  15. package/dist-client/component/recipients-view.js.map +1 -1
  16. package/dist-client/grist-editor/grist-editor-approval-line.js.map +1 -1
  17. package/dist-client/grist-editor/grist-editor-assignees.js.map +1 -1
  18. package/dist-client/grist-editor/grist-editor-department-object.js.map +1 -1
  19. package/dist-client/grist-editor/grist-editor-recipients.js.map +1 -1
  20. package/dist-client/grist-editor/grist-renderer-department-object.js.map +1 -1
  21. package/dist-client/pages/approval-line/common-approval-line-templates-page.js.map +1 -1
  22. package/dist-client/pages/approval-line/my-approval-line-templates-page.js.map +1 -1
  23. package/dist-client/pages/department/department-importer.js.map +1 -1
  24. package/dist-client/pages/department/department-list-page.js.map +1 -1
  25. package/dist-client/pages/department/department-tree-page.js.map +1 -1
  26. package/dist-client/pages/employee/employee-importer.js.map +1 -1
  27. package/dist-client/pages/employee/employee-list-page.js.map +1 -1
  28. package/dist-client/pages/employee/employees-by-department.js.map +1 -1
  29. package/dist-client/route.js.map +1 -1
  30. package/dist-client/tsconfig.tsbuildinfo +1 -1
  31. package/dist-server/index.d.ts +1 -0
  32. package/dist-server/index.js +0 -1
  33. package/dist-server/index.js.map +1 -1
  34. package/dist-server/service/approval-line/approval-line-item.d.ts +19 -0
  35. package/dist-server/service/approval-line/approval-line-item.js +5 -5
  36. package/dist-server/service/approval-line/approval-line-item.js.map +1 -1
  37. package/dist-server/service/approval-line/approval-line-mutation.d.ts +15 -0
  38. package/dist-server/service/approval-line/approval-line-mutation.js +2 -2
  39. package/dist-server/service/approval-line/approval-line-mutation.js.map +1 -1
  40. package/dist-server/service/approval-line/approval-line-query.d.ts +17 -0
  41. package/dist-server/service/approval-line/approval-line-query.js +2 -2
  42. package/dist-server/service/approval-line/approval-line-query.js.map +1 -1
  43. package/dist-server/service/approval-line/approval-line-type.d.ts +26 -0
  44. package/dist-server/service/approval-line/approval-line-type.js +8 -8
  45. package/dist-server/service/approval-line/approval-line-type.js.map +1 -1
  46. package/dist-server/service/approval-line/approval-line.d.ts +33 -0
  47. package/dist-server/service/approval-line/approval-line.js +5 -5
  48. package/dist-server/service/approval-line/approval-line.js.map +1 -1
  49. package/dist-server/service/approval-line/index.d.ts +6 -0
  50. package/dist-server/service/department/department-history.d.ts +31 -0
  51. package/dist-server/service/department/department-history.js +2 -2
  52. package/dist-server/service/department/department-history.js.map +1 -1
  53. package/dist-server/service/department/department-mutation.d.ts +10 -0
  54. package/dist-server/service/department/department-mutation.js +2 -2
  55. package/dist-server/service/department/department-mutation.js.map +1 -1
  56. package/dist-server/service/department/department-query.d.ts +17 -0
  57. package/dist-server/service/department/department-query.js +2 -2
  58. package/dist-server/service/department/department-query.js.map +1 -1
  59. package/dist-server/service/department/department-type.d.ts +29 -0
  60. package/dist-server/service/department/department-type.js +6 -6
  61. package/dist-server/service/department/department-type.js.map +1 -1
  62. package/dist-server/service/department/department.d.ts +28 -0
  63. package/dist-server/service/department/department.js +6 -7
  64. package/dist-server/service/department/department.js.map +1 -1
  65. package/dist-server/service/department/event-subscriber.d.ts +7 -0
  66. package/dist-server/service/department/event-subscriber.js +2 -2
  67. package/dist-server/service/department/event-subscriber.js.map +1 -1
  68. package/dist-server/service/department/index.d.ts +8 -0
  69. package/dist-server/service/employee/employee-history.d.ts +41 -0
  70. package/dist-server/service/employee/employee-history.js +3 -4
  71. package/dist-server/service/employee/employee-history.js.map +1 -1
  72. package/dist-server/service/employee/employee-mutation.d.ts +12 -0
  73. package/dist-server/service/employee/employee-mutation.js +2 -2
  74. package/dist-server/service/employee/employee-mutation.js.map +1 -1
  75. package/dist-server/service/employee/employee-query.d.ts +22 -0
  76. package/dist-server/service/employee/employee-query.js +2 -2
  77. package/dist-server/service/employee/employee-query.js.map +1 -1
  78. package/dist-server/service/employee/employee-type.d.ts +56 -0
  79. package/dist-server/service/employee/employee-type.js +10 -10
  80. package/dist-server/service/employee/employee-type.js.map +1 -1
  81. package/dist-server/service/employee/employee.d.ts +49 -0
  82. package/dist-server/service/employee/employee.js +10 -12
  83. package/dist-server/service/employee/employee.js.map +1 -1
  84. package/dist-server/service/employee/event-subscriber.d.ts +7 -0
  85. package/dist-server/service/employee/event-subscriber.js +2 -2
  86. package/dist-server/service/employee/event-subscriber.js.map +1 -1
  87. package/dist-server/service/employee/index.d.ts +8 -0
  88. package/dist-server/service/index.d.ts +8 -0
  89. package/dist-server/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +5 -5
  91. package/server/index.ts +0 -2
  92. package/server/service/employee/employee-query.ts +1 -1
  93. package/dist-server/routes.js +0 -25
  94. package/dist-server/routes.js.map +0 -1
  95. package/server/routes.ts +0 -28
@@ -0,0 +1 @@
1
+ export * from './service';
@@ -2,5 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./service"), exports);
5
- require("./routes");
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AAEzB,oBAAiB","sourcesContent":["export * from './service'\n\nimport './routes'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB","sourcesContent":["export * from './service'\n"]}
@@ -0,0 +1,19 @@
1
+ export declare enum OrgMemberTargetType {
2
+ Employee = "Employee",
3
+ Department = "Department",
4
+ Role = "Role",
5
+ Myself = "Myself",
6
+ MyDepartment = "MyDepartment",
7
+ MySupervisor = "MySupervisor"
8
+ }
9
+ export declare class OrgMemberTarget {
10
+ id?: string;
11
+ name?: string;
12
+ description?: string;
13
+ controlNo?: string;
14
+ }
15
+ export declare class ApprovalLineItem {
16
+ type?: OrgMemberTargetType;
17
+ value?: string;
18
+ approver?: OrgMemberTarget;
19
+ }
@@ -11,13 +11,14 @@ var OrgMemberTargetType;
11
11
  OrgMemberTargetType["Myself"] = "Myself";
12
12
  OrgMemberTargetType["MyDepartment"] = "MyDepartment";
13
13
  OrgMemberTargetType["MySupervisor"] = "MySupervisor";
14
- })(OrgMemberTargetType = exports.OrgMemberTargetType || (exports.OrgMemberTargetType = {}));
14
+ })(OrgMemberTargetType || (exports.OrgMemberTargetType = OrgMemberTargetType = {}));
15
15
  (0, type_graphql_1.registerEnumType)(OrgMemberTargetType, {
16
16
  name: 'OrgMemberTargetType',
17
17
  description: 'type enumeration of a approval line item'
18
18
  });
19
19
  let OrgMemberTarget = class OrgMemberTarget {
20
20
  };
21
+ exports.OrgMemberTarget = OrgMemberTarget;
21
22
  tslib_1.__decorate([
22
23
  (0, type_graphql_1.Field)(() => type_graphql_1.ID, { description: 'Field id' }),
23
24
  tslib_1.__metadata("design:type", String)
@@ -34,12 +35,12 @@ tslib_1.__decorate([
34
35
  (0, type_graphql_1.Field)({ nullable: true }),
35
36
  tslib_1.__metadata("design:type", String)
36
37
  ], OrgMemberTarget.prototype, "controlNo", void 0);
37
- OrgMemberTarget = tslib_1.__decorate([
38
+ exports.OrgMemberTarget = OrgMemberTarget = tslib_1.__decorate([
38
39
  (0, type_graphql_1.ObjectType)()
39
40
  ], OrgMemberTarget);
40
- exports.OrgMemberTarget = OrgMemberTarget;
41
41
  let ApprovalLineItem = class ApprovalLineItem {
42
42
  };
43
+ exports.ApprovalLineItem = ApprovalLineItem;
43
44
  tslib_1.__decorate([
44
45
  (0, type_graphql_1.Field)({ nullable: true }),
45
46
  tslib_1.__metadata("design:type", String)
@@ -52,8 +53,7 @@ tslib_1.__decorate([
52
53
  (0, type_graphql_1.Field)(type => OrgMemberTarget, { nullable: true }),
53
54
  tslib_1.__metadata("design:type", OrgMemberTarget)
54
55
  ], ApprovalLineItem.prototype, "approver", void 0);
55
- ApprovalLineItem = tslib_1.__decorate([
56
+ exports.ApprovalLineItem = ApprovalLineItem = tslib_1.__decorate([
56
57
  (0, type_graphql_1.ObjectType)({ description: 'Entity for approval line item' })
57
58
  ], ApprovalLineItem);
58
- exports.ApprovalLineItem = ApprovalLineItem;
59
59
  //# sourceMappingURL=approval-line-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-line-item.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-item.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,oCAAa,CAAA;IACb,wCAAiB,CAAA;IACjB,oDAA6B,CAAA;IAC7B,oDAA6B,CAAA;AAC/B,CAAC,EAPW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAO9B;AAED,IAAA,+BAAgB,EAAC,mBAAmB,EAAE;IACpC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,0CAA0C;CACxD,CAAC,CAAA;AAGK,IAAM,eAAe,GAArB,MAAM,eAAe;CAY3B,CAAA;AAXC;IAAC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,iBAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;;2CAClC;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;;6CACxC;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;;oDACxC;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACR;AAXP,eAAe;IAD3B,IAAA,yBAAU,GAAE;GACA,eAAe,CAY3B;AAZY,0CAAe;AAerB,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAS5B,CAAA;AARC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACA;AAE1B;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC5B;AAEd;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACxC,eAAe;kDAAA;AARf,gBAAgB;IAD5B,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;GAChD,gBAAgB,CAS5B;AATY,4CAAgB","sourcesContent":["import { ObjectType, Field, ID, registerEnumType } from 'type-graphql'\n\nexport enum OrgMemberTargetType {\n Employee = 'Employee',\n Department = 'Department',\n Role = 'Role',\n Myself = 'Myself',\n MyDepartment = 'MyDepartment',\n MySupervisor = 'MySupervisor'\n}\n\nregisterEnumType(OrgMemberTargetType, {\n name: 'OrgMemberTargetType',\n description: 'type enumeration of a approval line item'\n})\n\n@ObjectType()\nexport class OrgMemberTarget {\n @Field(() => ID, { description: 'Field id' })\n id?: string\n\n @Field({ nullable: true, description: 'Field name' })\n name?: string\n\n @Field({ nullable: true, description: 'Field description' })\n description?: string\n\n @Field({ nullable: true })\n controlNo?: string\n}\n\n@ObjectType({ description: 'Entity for approval line item' })\nexport class ApprovalLineItem {\n @Field({ nullable: true })\n type?: OrgMemberTargetType\n\n @Field(type => String, { nullable: true })\n value?: string\n\n @Field(type => OrgMemberTarget, { nullable: true })\n approver?: OrgMemberTarget\n}\n"]}
1
+ {"version":3,"file":"approval-line-item.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-item.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,gDAAyB,CAAA;IACzB,oCAAa,CAAA;IACb,wCAAiB,CAAA;IACjB,oDAA6B,CAAA;IAC7B,oDAA6B,CAAA;AAC/B,CAAC,EAPW,mBAAmB,mCAAnB,mBAAmB,QAO9B;AAED,IAAA,+BAAgB,EAAC,mBAAmB,EAAE;IACpC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,0CAA0C;CACxD,CAAC,CAAA;AAGK,IAAM,eAAe,GAArB,MAAM,eAAe;CAY3B,CAAA;AAZY,0CAAe;AAE1B;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,iBAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;;2CAClC;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;;6CACxC;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;;oDACxC;AAGpB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACR;0BAXP,eAAe;IAD3B,IAAA,yBAAU,GAAE;GACA,eAAe,CAY3B;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAS5B,CAAA;AATY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACA;AAG1B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC5B;AAGd;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACxC,eAAe;kDAAA;2BARf,gBAAgB;IAD5B,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;GAChD,gBAAgB,CAS5B","sourcesContent":["import { ObjectType, Field, ID, registerEnumType } from 'type-graphql'\n\nexport enum OrgMemberTargetType {\n Employee = 'Employee',\n Department = 'Department',\n Role = 'Role',\n Myself = 'Myself',\n MyDepartment = 'MyDepartment',\n MySupervisor = 'MySupervisor'\n}\n\nregisterEnumType(OrgMemberTargetType, {\n name: 'OrgMemberTargetType',\n description: 'type enumeration of a approval line item'\n})\n\n@ObjectType()\nexport class OrgMemberTarget {\n @Field(() => ID, { description: 'Field id' })\n id?: string\n\n @Field({ nullable: true, description: 'Field name' })\n name?: string\n\n @Field({ nullable: true, description: 'Field description' })\n description?: string\n\n @Field({ nullable: true })\n controlNo?: string\n}\n\n@ObjectType({ description: 'Entity for approval line item' })\nexport class ApprovalLineItem {\n @Field({ nullable: true })\n type?: OrgMemberTargetType\n\n @Field(type => String, { nullable: true })\n value?: string\n\n @Field(type => OrgMemberTarget, { nullable: true })\n approver?: OrgMemberTarget\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { ApprovalLine } from './approval-line';
2
+ import { NewApprovalLine, ApprovalLinePatch } from './approval-line-type';
3
+ export declare class ApprovalLineMutation {
4
+ createApprovalLine(approvalLine: NewApprovalLine, context: ResolverContext): Promise<ApprovalLine>;
5
+ createMyApprovalLine(approvalLine: NewApprovalLine, context: ResolverContext): Promise<ApprovalLine>;
6
+ updateApprovalLine(id: string, patch: ApprovalLinePatch, context: ResolverContext): Promise<ApprovalLine>;
7
+ updateMyApprovalLine(id: string, patch: ApprovalLinePatch, context: ResolverContext): Promise<ApprovalLine>;
8
+ updateMultipleApprovalLine(patches: ApprovalLinePatch[], context: ResolverContext): Promise<ApprovalLine[]>;
9
+ updateMultipleMyApprovalLine(patches: ApprovalLinePatch[], context: ResolverContext): Promise<ApprovalLine[]>;
10
+ deleteApprovalLine(id: string, context: ResolverContext): Promise<boolean>;
11
+ deleteApprovalLines(ids: string[], context: ResolverContext): Promise<boolean>;
12
+ deleteMyApprovalLine(id: string, context: ResolverContext): Promise<boolean>;
13
+ deleteMyApprovalLines(ids: string[], context: ResolverContext): Promise<boolean>;
14
+ importApprovalLines(approvalLines: ApprovalLinePatch[], context: ResolverContext): Promise<boolean>;
15
+ }
@@ -206,6 +206,7 @@ let ApprovalLineMutation = class ApprovalLineMutation {
206
206
  return true;
207
207
  }
208
208
  };
209
+ exports.ApprovalLineMutation = ApprovalLineMutation;
209
210
  tslib_1.__decorate([
210
211
  (0, type_graphql_1.Directive)('@transaction'),
211
212
  (0, type_graphql_1.Directive)('@privilege(category: "organization", privilege: "mutation", domainOwnerGranted: true)'),
@@ -315,8 +316,7 @@ tslib_1.__decorate([
315
316
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
316
317
  tslib_1.__metadata("design:returntype", Promise)
317
318
  ], ApprovalLineMutation.prototype, "importApprovalLines", null);
318
- ApprovalLineMutation = tslib_1.__decorate([
319
+ exports.ApprovalLineMutation = ApprovalLineMutation = tslib_1.__decorate([
319
320
  (0, type_graphql_1.Resolver)(approval_line_1.ApprovalLine)
320
321
  ], ApprovalLineMutation);
321
- exports.ApprovalLineMutation = ApprovalLineMutation;
322
322
  //# sourceMappingURL=approval-line-mutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-line-mutation.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Employee } from '../employee/employee'\nimport { ApprovalLine, ApprovalLineOwnerType } from './approval-line'\nimport { ApprovalLineItem, OrgMemberTargetType } from './approval-line-item'\nimport { NewApprovalLine, ApprovalLinePatch } from './approval-line-type'\n\nasync function getOwnerValue(\n approvalLine: ApprovalLine | NewApprovalLine | ApprovalLinePatch,\n patch: NewApprovalLine | ApprovalLinePatch,\n context: ResolverContext\n) {\n if (!('owner' in patch || 'ownerType' in patch)) {\n /* owner 또는 ownerType 하나도 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n const { domain, tx } = context.state\n const { ownerType, owner } = patch\n\n if (!ownerType || !owner) {\n /* ownerType이 클리어되거나, owner가 지정되지 않았다면, 클리어시킨다. */\n return null\n }\n\n var ownerObject\n\n switch (ownerType || approvalLine.ownerType) {\n case ApprovalLineOwnerType.Employee:\n ownerObject = await tx.getRepository(Employee).findOneBy({ domain: { id: domain.id }, id: owner.id })\n break\n default:\n }\n\n return ownerObject?.id || null\n}\n\nfunction getModelValue(patch: NewApprovalLine | ApprovalLinePatch): ApprovalLineItem[] {\n if (!('model' in patch)) {\n /* model이 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n const { model } = patch\n\n if (!model || !(model instanceof Array)) {\n /* model의 값이 없거나 배열이 아니라면, 클리어시킨다. */\n return null\n }\n\n return model\n .map(m => {\n return {\n type: m.type,\n approver: m.approver\n } as ApprovalLineItem\n })\n .filter(m => m.type)\n .filter(m => {\n switch (m.type) {\n case OrgMemberTargetType.Employee:\n case OrgMemberTargetType.Department:\n case OrgMemberTargetType.Role:\n return !!m.approver?.id\n default:\n return true\n }\n })\n}\n\n@Resolver(ApprovalLine)\nexport class ApprovalLineMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ApprovalLine, { description: 'To create new ApprovalLine' })\n async createApprovalLine(\n @Arg('approvalLine') approvalLine: NewApprovalLine,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(ApprovalLine).save({\n ...approvalLine,\n ownerValue: await getOwnerValue(approvalLine, approvalLine, context),\n model: getModelValue(approvalLine),\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => ApprovalLine, { description: 'To create new ApprovalLine for current user' })\n async createMyApprovalLine(\n @Arg('approvalLine') approvalLine: NewApprovalLine,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\n\n const result = await tx.getRepository(ApprovalLine).save({\n ...approvalLine,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(approvalLine),\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ApprovalLine, { description: 'To modify ApprovalLine information' })\n async updateApprovalLine(\n @Arg('id') id: string,\n @Arg('patch') patch: ApprovalLinePatch,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ApprovalLine)\n const approvalLine = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...approvalLine,\n ...patch,\n ownerValue: await getOwnerValue(approvalLine, patch, context),\n model: getModelValue(patch),\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => ApprovalLine, { description: 'To modify ApprovalLine information for current user' })\n async updateMyApprovalLine(\n @Arg('id') id: string,\n @Arg('patch') patch: ApprovalLinePatch,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n const repository = tx.getRepository(ApprovalLine)\n const approvalLine = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...approvalLine,\n ...patch,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(patch),\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [ApprovalLine], { description: \"To modify multiple ApprovalLines' information\" })\n async updateMultipleApprovalLine(\n @Arg('patches', type => [ApprovalLinePatch]) patches: ApprovalLinePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine[]> {\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 approvalLineRepo = tx.getRepository(ApprovalLine)\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 approvalLineRepo.save({\n ...newRecord,\n ownerValue: await getOwnerValue(newRecord, newRecord, context),\n model: getModelValue(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 approvalLine = await approvalLineRepo.findOneBy({ id: updateRecord.id })\n\n const result = await approvalLineRepo.save({\n ...approvalLine,\n ...updateRecord,\n ownerValue: await getOwnerValue(approvalLine, updateRecord, context),\n model: getModelValue(updateRecord),\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 => [ApprovalLine], {\n description: \"To modify multiple ApprovalLines' information for current user\"\n })\n async updateMultipleMyApprovalLine(\n @Arg('patches', type => [ApprovalLinePatch]) patches: ApprovalLinePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine[]> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\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 approvalLineRepo = tx.getRepository(ApprovalLine)\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 approvalLineRepo.save({\n ...newRecord,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(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 approvalLine = await approvalLineRepo.findOneBy({ id: updateRecord.id })\n\n const result = await approvalLineRepo.save({\n ...approvalLine,\n ...updateRecord,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(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: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete ApprovalLine' })\n async deleteApprovalLine(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ApprovalLine).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple ApprovalLines' })\n async deleteApprovalLines(\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(ApprovalLine).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ApprovalLine for current user' })\n async deleteMyApprovalLine(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\n\n await tx.getRepository(ApprovalLine).delete({\n id,\n domain: { id: domain.id },\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple ApprovalLines for current user' })\n async deleteMyApprovalLines(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\n\n await tx.getRepository(ApprovalLine).delete({\n domain: { id: domain.id },\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To import multiple ApprovalLines' })\n async importApprovalLines(\n @Arg('approvalLines', type => [ApprovalLinePatch]) approvalLines: ApprovalLinePatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n approvalLines.map(async (approvalLine: ApprovalLinePatch) => {\n const createdApprovalLine: ApprovalLine = await tx.getRepository(ApprovalLine).save({ domain, ...approvalLine })\n })\n )\n\n return true\n }\n}\n"]}
1
+ {"version":3,"file":"approval-line-mutation.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Employee } from '../employee/employee'\nimport { ApprovalLine, ApprovalLineOwnerType } from './approval-line'\nimport { ApprovalLineItem, OrgMemberTargetType } from './approval-line-item'\nimport { NewApprovalLine, ApprovalLinePatch } from './approval-line-type'\n\nasync function getOwnerValue(\n approvalLine: ApprovalLine | NewApprovalLine | ApprovalLinePatch,\n patch: NewApprovalLine | ApprovalLinePatch,\n context: ResolverContext\n) {\n if (!('owner' in patch || 'ownerType' in patch)) {\n /* owner 또는 ownerType 하나도 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n const { domain, tx } = context.state\n const { ownerType, owner } = patch\n\n if (!ownerType || !owner) {\n /* ownerType이 클리어되거나, owner가 지정되지 않았다면, 클리어시킨다. */\n return null\n }\n\n var ownerObject\n\n switch (ownerType || approvalLine.ownerType) {\n case ApprovalLineOwnerType.Employee:\n ownerObject = await tx.getRepository(Employee).findOneBy({ domain: { id: domain.id }, id: owner.id })\n break\n default:\n }\n\n return ownerObject?.id || null\n}\n\nfunction getModelValue(patch: NewApprovalLine | ApprovalLinePatch): ApprovalLineItem[] {\n if (!('model' in patch)) {\n /* model이 언급되지 않았다면, 업데이트하지 않는다. */\n return\n }\n\n const { model } = patch\n\n if (!model || !(model instanceof Array)) {\n /* model의 값이 없거나 배열이 아니라면, 클리어시킨다. */\n return null\n }\n\n return model\n .map(m => {\n return {\n type: m.type,\n approver: m.approver\n } as ApprovalLineItem\n })\n .filter(m => m.type)\n .filter(m => {\n switch (m.type) {\n case OrgMemberTargetType.Employee:\n case OrgMemberTargetType.Department:\n case OrgMemberTargetType.Role:\n return !!m.approver?.id\n default:\n return true\n }\n })\n}\n\n@Resolver(ApprovalLine)\nexport class ApprovalLineMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ApprovalLine, { description: 'To create new ApprovalLine' })\n async createApprovalLine(\n @Arg('approvalLine') approvalLine: NewApprovalLine,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n\n const result = await tx.getRepository(ApprovalLine).save({\n ...approvalLine,\n ownerValue: await getOwnerValue(approvalLine, approvalLine, context),\n model: getModelValue(approvalLine),\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => ApprovalLine, { description: 'To create new ApprovalLine for current user' })\n async createMyApprovalLine(\n @Arg('approvalLine') approvalLine: NewApprovalLine,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\n\n const result = await tx.getRepository(ApprovalLine).save({\n ...approvalLine,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(approvalLine),\n domain,\n creator: user,\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => ApprovalLine, { description: 'To modify ApprovalLine information' })\n async updateApprovalLine(\n @Arg('id') id: string,\n @Arg('patch') patch: ApprovalLinePatch,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ApprovalLine)\n const approvalLine = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...approvalLine,\n ...patch,\n ownerValue: await getOwnerValue(approvalLine, patch, context),\n model: getModelValue(patch),\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => ApprovalLine, { description: 'To modify ApprovalLine information for current user' })\n async updateMyApprovalLine(\n @Arg('id') id: string,\n @Arg('patch') patch: ApprovalLinePatch,\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine> {\n const { domain, user, tx } = context.state\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n const repository = tx.getRepository(ApprovalLine)\n const approvalLine = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n const result = await repository.save({\n ...approvalLine,\n ...patch,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(patch),\n updater: user\n })\n\n return result\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => [ApprovalLine], { description: \"To modify multiple ApprovalLines' information\" })\n async updateMultipleApprovalLine(\n @Arg('patches', type => [ApprovalLinePatch]) patches: ApprovalLinePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine[]> {\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 approvalLineRepo = tx.getRepository(ApprovalLine)\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 approvalLineRepo.save({\n ...newRecord,\n ownerValue: await getOwnerValue(newRecord, newRecord, context),\n model: getModelValue(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 approvalLine = await approvalLineRepo.findOneBy({ id: updateRecord.id })\n\n const result = await approvalLineRepo.save({\n ...approvalLine,\n ...updateRecord,\n ownerValue: await getOwnerValue(approvalLine, updateRecord, context),\n model: getModelValue(updateRecord),\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 => [ApprovalLine], {\n description: \"To modify multiple ApprovalLines' information for current user\"\n })\n async updateMultipleMyApprovalLine(\n @Arg('patches', type => [ApprovalLinePatch]) patches: ApprovalLinePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ApprovalLine[]> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\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 approvalLineRepo = tx.getRepository(ApprovalLine)\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 approvalLineRepo.save({\n ...newRecord,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(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 approvalLine = await approvalLineRepo.findOneBy({ id: updateRecord.id })\n\n const result = await approvalLineRepo.save({\n ...approvalLine,\n ...updateRecord,\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n model: getModelValue(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: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete ApprovalLine' })\n async deleteApprovalLine(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ApprovalLine).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To delete multiple ApprovalLines' })\n async deleteApprovalLines(\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(ApprovalLine).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ApprovalLine for current user' })\n async deleteMyApprovalLine(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\n\n await tx.getRepository(ApprovalLine).delete({\n id,\n domain: { id: domain.id },\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple ApprovalLines for current user' })\n async deleteMyApprovalLines(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, user, tx } = context.state\n\n const employee = await tx.getRepository(Employee).findOneBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n if (!employee) {\n throw new Error('There is no employee object associated with the user.')\n }\n\n await tx.getRepository(ApprovalLine).delete({\n domain: { id: domain.id },\n ownerType: ApprovalLineOwnerType.Employee,\n ownerValue: employee.id,\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"organization\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Boolean, { description: 'To import multiple ApprovalLines' })\n async importApprovalLines(\n @Arg('approvalLines', type => [ApprovalLinePatch]) approvalLines: ApprovalLinePatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n approvalLines.map(async (approvalLine: ApprovalLinePatch) => {\n const createdApprovalLine: ApprovalLine = await tx.getRepository(ApprovalLine).save({ domain, ...approvalLine })\n })\n )\n\n return true\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import { Domain, ListParam } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { ApprovalLineItem } from './approval-line-item';
4
+ import { ApprovalLine, ApprovalLineOwner } from './approval-line';
5
+ import { ApprovalLineList } from './approval-line-type';
6
+ export declare class ApprovalLineQuery {
7
+ approvalLine(id: string, context: ResolverContext): Promise<ApprovalLine>;
8
+ approvalLines(params: ListParam, context: ResolverContext): Promise<ApprovalLineList>;
9
+ approvalLineReferences(params: ListParam, context: ResolverContext): Promise<ApprovalLineList>;
10
+ myApprovalLines(params: ListParam, context: ResolverContext): Promise<ApprovalLineList>;
11
+ commonApprovalLines(params: ListParam, context: ResolverContext): Promise<ApprovalLineList>;
12
+ model(approvalLine: ApprovalLine, context: ResolverContext): Promise<ApprovalLineItem[]>;
13
+ owner(approvalLine: ApprovalLine, context: ResolverContext): Promise<ApprovalLineOwner>;
14
+ domain(approvalLine: ApprovalLine): Promise<Domain>;
15
+ updater(approvalLine: ApprovalLine): Promise<User>;
16
+ creator(approvalLine: ApprovalLine): Promise<User>;
17
+ }
@@ -149,6 +149,7 @@ let ApprovalLineQuery = class ApprovalLineQuery {
149
149
  return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: approvalLine.creatorId });
150
150
  }
151
151
  };
152
+ exports.ApprovalLineQuery = ApprovalLineQuery;
152
153
  tslib_1.__decorate([
153
154
  (0, type_graphql_1.Query)(returns => approval_line_1.ApprovalLine, { nullable: true, description: 'To fetch a approval line' }),
154
155
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
@@ -227,8 +228,7 @@ tslib_1.__decorate([
227
228
  tslib_1.__metadata("design:paramtypes", [approval_line_1.ApprovalLine]),
228
229
  tslib_1.__metadata("design:returntype", Promise)
229
230
  ], ApprovalLineQuery.prototype, "creator", null);
230
- ApprovalLineQuery = tslib_1.__decorate([
231
+ exports.ApprovalLineQuery = ApprovalLineQuery = tslib_1.__decorate([
231
232
  (0, type_graphql_1.Resolver)(approval_line_1.ApprovalLine)
232
233
  ], ApprovalLineQuery);
233
- exports.ApprovalLineQuery = ApprovalLineQuery;
234
234
  //# sourceMappingURL=approval-line-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-line-query.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { Brackets, In } from 'typeorm'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { Role, User } from '@things-factory/auth-base'\nimport { ApprovalLineItem, OrgMemberTargetType } from './approval-line-item'\nimport { ApprovalLine, ApprovalLineOwner, ApprovalLineOwnerType } from './approval-line'\nimport { ApprovalLineList } from './approval-line-type'\nimport { Employee } from '../employee/employee'\nimport { Department } from '../department/department'\n\nasync function getOwnerValue(approvalLine: ApprovalLine, context: ResolverContext) {\n const { domain } = context.state\n const { ownerType, ownerValue } = approvalLine\n\n if (!ownerType || !ownerValue) {\n /* ownerType이 클리어되거나, owner가 지정되지 않았다면, 클리어시킨다. */\n return null\n }\n\n var ownerObject\n\n switch (ownerType) {\n case ApprovalLineOwnerType.Employee:\n ownerObject = await getRepository(Employee).findOneBy({ domain: { id: domain.id }, id: ownerValue })\n break\n default:\n return null\n }\n\n return ownerObject\n}\n\nasync function getModel(approvalLine: ApprovalLine, context: ResolverContext): Promise<ApprovalLineItem[]> {\n const { domain } = context.state\n const { model } = approvalLine\n\n if (!model || !(model instanceof Array)) {\n return null\n }\n\n var approvalLineItemList = []\n\n for (let item of model) {\n /* deprecated \"value\", use approver */\n var { type, value, approver } = item\n var id = approver?.id || value\n approver = null\n\n switch (type) {\n case OrgMemberTargetType.Employee:\n approver = id && (await getRepository(Employee).findOneBy({ domain: { id: domain.id }, id }))\n break\n case OrgMemberTargetType.Department:\n approver = id && (await getRepository(Department).findOneBy({ domain: { id: domain.id }, id }))\n break\n case OrgMemberTargetType.Role:\n approver = id && (await getRepository(Role).findOneBy({ domain: { id: domain.id }, id }))\n break\n case OrgMemberTargetType.Myself:\n case OrgMemberTargetType.MyDepartment:\n case OrgMemberTargetType.MySupervisor:\n break\n default:\n continue\n }\n\n approvalLineItemList.push({ type, approver })\n }\n\n return approvalLineItemList\n}\n\n@Resolver(ApprovalLine)\nexport class ApprovalLineQuery {\n @Query(returns => ApprovalLine!, { nullable: true, description: 'To fetch a approval line' })\n async approvalLine(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ApprovalLine> {\n const { domain } = context.state\n\n return await getRepository(ApprovalLine).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"organization\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ApprovalLineList, { description: 'To fetch multiple approval lines' })\n async approvalLines(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ApprovalLineList, { description: 'To fetch referable approval lines for the user' })\n async approvalLineReferences(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain, user } = context.state\n const employees = await getRepository(Employee).findBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n }).andWhere(\n employees.length > 0\n ? new Brackets(qb => {\n qb.where({ ownerType: 'Common' })\n qb.orWhere({\n ownerType: 'Employee',\n ownerValue: In(employees.map(employee => employee.id))\n })\n })\n : { ownerType: 'Common' }\n )\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ApprovalLineList, { description: 'To fetch approval lines only for to the user' })\n async myApprovalLines(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain, user } = context.state\n const employees = await getRepository(Employee).findBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n }).andWhere({\n ownerType: 'Employee',\n ownerValue: In(employees.map(employee => employee.id))\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ApprovalLineList, { description: 'To fetch common approval lines' })\n async commonApprovalLines(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain, user } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n }).andWhere({\n ownerType: 'Common'\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [ApprovalLineItem])\n async model(@Root() approvalLine: ApprovalLine, @Ctx() context: ResolverContext): Promise<ApprovalLineItem[]> {\n return await getModel(approvalLine, context)\n }\n\n @FieldResolver(type => ApprovalLineOwner)\n async owner(@Root() approvalLine: ApprovalLine, @Ctx() context: ResolverContext): Promise<ApprovalLineOwner> {\n return await getOwnerValue(approvalLine, context)\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() approvalLine: ApprovalLine): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: approvalLine.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() approvalLine: ApprovalLine): Promise<User> {\n return await getRepository(User).findOneBy({ id: approvalLine.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() approvalLine: ApprovalLine): Promise<User> {\n return await getRepository(User).findOneBy({ id: approvalLine.creatorId })\n }\n}\n"]}
1
+ {"version":3,"file":"approval-line-query.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { Brackets, In } from 'typeorm'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { Role, User } from '@things-factory/auth-base'\nimport { ApprovalLineItem, OrgMemberTargetType } from './approval-line-item'\nimport { ApprovalLine, ApprovalLineOwner, ApprovalLineOwnerType } from './approval-line'\nimport { ApprovalLineList } from './approval-line-type'\nimport { Employee } from '../employee/employee'\nimport { Department } from '../department/department'\n\nasync function getOwnerValue(approvalLine: ApprovalLine, context: ResolverContext) {\n const { domain } = context.state\n const { ownerType, ownerValue } = approvalLine\n\n if (!ownerType || !ownerValue) {\n /* ownerType이 클리어되거나, owner가 지정되지 않았다면, 클리어시킨다. */\n return null\n }\n\n var ownerObject\n\n switch (ownerType) {\n case ApprovalLineOwnerType.Employee:\n ownerObject = await getRepository(Employee).findOneBy({ domain: { id: domain.id }, id: ownerValue })\n break\n default:\n return null\n }\n\n return ownerObject\n}\n\nasync function getModel(approvalLine: ApprovalLine, context: ResolverContext): Promise<ApprovalLineItem[]> {\n const { domain } = context.state\n const { model } = approvalLine\n\n if (!model || !(model instanceof Array)) {\n return null\n }\n\n var approvalLineItemList = []\n\n for (let item of model) {\n /* deprecated \"value\", use approver */\n var { type, value, approver } = item\n var id = approver?.id || value\n approver = null\n\n switch (type) {\n case OrgMemberTargetType.Employee:\n approver = id && (await getRepository(Employee).findOneBy({ domain: { id: domain.id }, id }))\n break\n case OrgMemberTargetType.Department:\n approver = id && (await getRepository(Department).findOneBy({ domain: { id: domain.id }, id }))\n break\n case OrgMemberTargetType.Role:\n approver = id && (await getRepository(Role).findOneBy({ domain: { id: domain.id }, id }))\n break\n case OrgMemberTargetType.Myself:\n case OrgMemberTargetType.MyDepartment:\n case OrgMemberTargetType.MySupervisor:\n break\n default:\n continue\n }\n\n approvalLineItemList.push({ type, approver })\n }\n\n return approvalLineItemList\n}\n\n@Resolver(ApprovalLine)\nexport class ApprovalLineQuery {\n @Query(returns => ApprovalLine!, { nullable: true, description: 'To fetch a approval line' })\n async approvalLine(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ApprovalLine> {\n const { domain } = context.state\n\n return await getRepository(ApprovalLine).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Directive('@privilege(category: \"organization\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => ApprovalLineList, { description: 'To fetch multiple approval lines' })\n async approvalLines(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ApprovalLineList, { description: 'To fetch referable approval lines for the user' })\n async approvalLineReferences(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain, user } = context.state\n const employees = await getRepository(Employee).findBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n }).andWhere(\n employees.length > 0\n ? new Brackets(qb => {\n qb.where({ ownerType: 'Common' })\n qb.orWhere({\n ownerType: 'Employee',\n ownerValue: In(employees.map(employee => employee.id))\n })\n })\n : { ownerType: 'Common' }\n )\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ApprovalLineList, { description: 'To fetch approval lines only for to the user' })\n async myApprovalLines(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain, user } = context.state\n const employees = await getRepository(Employee).findBy({\n domain: { id: domain.id },\n user: { id: user.id }\n })\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n }).andWhere({\n ownerType: 'Employee',\n ownerValue: In(employees.map(employee => employee.id))\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => ApprovalLineList, { description: 'To fetch common approval lines' })\n async commonApprovalLines(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApprovalLineList> {\n const { domain, user } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ApprovalLine),\n searchables: ['name', 'description']\n }).andWhere({\n ownerType: 'Common'\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => [ApprovalLineItem])\n async model(@Root() approvalLine: ApprovalLine, @Ctx() context: ResolverContext): Promise<ApprovalLineItem[]> {\n return await getModel(approvalLine, context)\n }\n\n @FieldResolver(type => ApprovalLineOwner)\n async owner(@Root() approvalLine: ApprovalLine, @Ctx() context: ResolverContext): Promise<ApprovalLineOwner> {\n return await getOwnerValue(approvalLine, context)\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() approvalLine: ApprovalLine): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: approvalLine.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() approvalLine: ApprovalLine): Promise<User> {\n return await getRepository(User).findOneBy({ id: approvalLine.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() approvalLine: ApprovalLine): Promise<User> {\n return await getRepository(User).findOneBy({ id: approvalLine.creatorId })\n }\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import { ObjectRef } from '@things-factory/shell';
2
+ import { ApprovalLine, ApprovalLineOwnerType } from './approval-line';
3
+ import { ApprovalLineItem } from './approval-line-item';
4
+ export declare class ObjectRefApprovalLineOwnerType extends ObjectRef {
5
+ controlNo?: string;
6
+ }
7
+ export declare class NewApprovalLine {
8
+ name: string;
9
+ description?: string;
10
+ ownerType: ApprovalLineOwnerType;
11
+ owner: ObjectRefApprovalLineOwnerType;
12
+ model?: ApprovalLineItem[];
13
+ }
14
+ export declare class ApprovalLinePatch {
15
+ id?: string;
16
+ name?: string;
17
+ description?: string;
18
+ ownerType?: ApprovalLineOwnerType;
19
+ owner?: ObjectRefApprovalLineOwnerType;
20
+ model?: ApprovalLineItem[];
21
+ cuFlag?: string;
22
+ }
23
+ export declare class ApprovalLineList {
24
+ items: ApprovalLine[];
25
+ total: number;
26
+ }
@@ -7,16 +7,17 @@ const shell_1 = require("@things-factory/shell");
7
7
  const approval_line_1 = require("./approval-line");
8
8
  let ObjectRefApprovalLineOwnerType = class ObjectRefApprovalLineOwnerType extends shell_1.ObjectRef {
9
9
  };
10
+ exports.ObjectRefApprovalLineOwnerType = ObjectRefApprovalLineOwnerType;
10
11
  tslib_1.__decorate([
11
12
  (0, type_graphql_1.Field)({ nullable: true }),
12
13
  tslib_1.__metadata("design:type", String)
13
14
  ], ObjectRefApprovalLineOwnerType.prototype, "controlNo", void 0);
14
- ObjectRefApprovalLineOwnerType = tslib_1.__decorate([
15
+ exports.ObjectRefApprovalLineOwnerType = ObjectRefApprovalLineOwnerType = tslib_1.__decorate([
15
16
  (0, type_graphql_1.InputType)()
16
17
  ], ObjectRefApprovalLineOwnerType);
17
- exports.ObjectRefApprovalLineOwnerType = ObjectRefApprovalLineOwnerType;
18
18
  let NewApprovalLine = class NewApprovalLine {
19
19
  };
20
+ exports.NewApprovalLine = NewApprovalLine;
20
21
  tslib_1.__decorate([
21
22
  (0, type_graphql_1.Field)(),
22
23
  tslib_1.__metadata("design:type", String)
@@ -37,12 +38,12 @@ tslib_1.__decorate([
37
38
  (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
38
39
  tslib_1.__metadata("design:type", Array)
39
40
  ], NewApprovalLine.prototype, "model", void 0);
40
- NewApprovalLine = tslib_1.__decorate([
41
+ exports.NewApprovalLine = NewApprovalLine = tslib_1.__decorate([
41
42
  (0, type_graphql_1.InputType)()
42
43
  ], NewApprovalLine);
43
- exports.NewApprovalLine = NewApprovalLine;
44
44
  let ApprovalLinePatch = class ApprovalLinePatch {
45
45
  };
46
+ exports.ApprovalLinePatch = ApprovalLinePatch;
46
47
  tslib_1.__decorate([
47
48
  (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
48
49
  tslib_1.__metadata("design:type", String)
@@ -71,12 +72,12 @@ tslib_1.__decorate([
71
72
  (0, type_graphql_1.Field)({ nullable: true }),
72
73
  tslib_1.__metadata("design:type", String)
73
74
  ], ApprovalLinePatch.prototype, "cuFlag", void 0);
74
- ApprovalLinePatch = tslib_1.__decorate([
75
+ exports.ApprovalLinePatch = ApprovalLinePatch = tslib_1.__decorate([
75
76
  (0, type_graphql_1.InputType)()
76
77
  ], ApprovalLinePatch);
77
- exports.ApprovalLinePatch = ApprovalLinePatch;
78
78
  let ApprovalLineList = class ApprovalLineList {
79
79
  };
80
+ exports.ApprovalLineList = ApprovalLineList;
80
81
  tslib_1.__decorate([
81
82
  (0, type_graphql_1.Field)(type => [approval_line_1.ApprovalLine]),
82
83
  tslib_1.__metadata("design:type", Array)
@@ -85,8 +86,7 @@ tslib_1.__decorate([
85
86
  (0, type_graphql_1.Field)(type => type_graphql_1.Int),
86
87
  tslib_1.__metadata("design:type", Number)
87
88
  ], ApprovalLineList.prototype, "total", void 0);
88
- ApprovalLineList = tslib_1.__decorate([
89
+ exports.ApprovalLineList = ApprovalLineList = tslib_1.__decorate([
89
90
  (0, type_graphql_1.ObjectType)()
90
91
  ], ApprovalLineList);
91
- exports.ApprovalLineList = ApprovalLineList;
92
92
  //# sourceMappingURL=approval-line-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-line-type.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AAEpE,iDAA+D;AAE/D,mDAAqE;AAI9D,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,iBAAS;CAG5D,CAAA;AAFC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACR;AAFP,8BAA8B;IAD1C,IAAA,wBAAS,GAAE;GACC,8BAA8B,CAG1C;AAHY,wEAA8B;AAMpC,IAAM,eAAe,GAArB,MAAM,eAAe;CAe3B,CAAA;AAdC;IAAC,IAAA,oBAAK,GAAE;;6CACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,qCAAqB,CAAC;;kDACL;AAEhC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC;sCACvC,8BAA8B;8CAAA;AAErC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACtB;AAdf,eAAe;IAD3B,IAAA,wBAAS,GAAE;GACC,eAAe,CAe3B;AAfY,0CAAe;AAkBrB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAqB7B,CAAA;AApBC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,qCAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACxB;AAEjC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC1D,8BAA8B;gDAAA;AAEtC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACtB;AAE1B;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACX;AApBJ,iBAAiB;IAD7B,IAAA,wBAAS,GAAE;GACC,iBAAiB,CAqB7B;AArBY,8CAAiB;AAwBvB,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAM5B,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4BAAY,CAAC,CAAC;;+CACT;AAErB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;+CACN;AALF,gBAAgB;IAD5B,IAAA,yBAAU,GAAE;GACA,gBAAgB,CAM5B;AANY,4CAAgB","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { ApprovalLine, ApprovalLineOwnerType } from './approval-line'\nimport { ApprovalLineItem } from './approval-line-item'\n\n@InputType()\nexport class ObjectRefApprovalLineOwnerType extends ObjectRef {\n @Field({ nullable: true })\n controlNo?: string\n}\n\n@InputType()\nexport class NewApprovalLine {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ApprovalLineOwnerType)\n ownerType: ApprovalLineOwnerType\n\n @Field(type => ObjectRefApprovalLineOwnerType)\n owner: ObjectRefApprovalLineOwnerType\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ApprovalLineItem[]\n}\n\n@InputType()\nexport class ApprovalLinePatch {\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(type => ApprovalLineOwnerType, { nullable: true })\n ownerType?: ApprovalLineOwnerType\n\n @Field(type => ObjectRefApprovalLineOwnerType, { nullable: true })\n owner?: ObjectRefApprovalLineOwnerType\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ApprovalLineItem[]\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ApprovalLineList {\n @Field(type => [ApprovalLine])\n items: ApprovalLine[]\n\n @Field(type => Int)\n total: number\n}\n"]}
1
+ {"version":3,"file":"approval-line-type.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AAEpE,iDAA+D;AAE/D,mDAAqE;AAI9D,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,iBAAS;CAG5D,CAAA;AAHY,wEAA8B;AAEzC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACR;yCAFP,8BAA8B;IAD1C,IAAA,wBAAS,GAAE;GACC,8BAA8B,CAG1C;AAGM,IAAM,eAAe,GAArB,MAAM,eAAe;CAe3B,CAAA;AAfY,0CAAe;AAE1B;IADC,IAAA,oBAAK,GAAE;;6CACI;AAGZ;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,qCAAqB,CAAC;;kDACL;AAGhC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC;sCACvC,8BAA8B;8CAAA;AAGrC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACtB;0BAdf,eAAe;IAD3B,IAAA,wBAAS,GAAE;GACC,eAAe,CAe3B;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAqB7B,CAAA;AArBY,8CAAiB;AAE5B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACN;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,qCAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACxB;AAGjC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC1D,8BAA8B;gDAAA;AAGtC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACtB;AAG1B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACX;4BApBJ,iBAAiB;IAD7B,IAAA,wBAAS,GAAE;GACC,iBAAiB,CAqB7B;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAM5B,CAAA;AANY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,4BAAY,CAAC,CAAC;;+CACT;AAGrB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;+CACN;2BALF,gBAAgB;IAD5B,IAAA,yBAAU,GAAE;GACA,gBAAgB,CAM5B","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { ApprovalLine, ApprovalLineOwnerType } from './approval-line'\nimport { ApprovalLineItem } from './approval-line-item'\n\n@InputType()\nexport class ObjectRefApprovalLineOwnerType extends ObjectRef {\n @Field({ nullable: true })\n controlNo?: string\n}\n\n@InputType()\nexport class NewApprovalLine {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field(type => ApprovalLineOwnerType)\n ownerType: ApprovalLineOwnerType\n\n @Field(type => ObjectRefApprovalLineOwnerType)\n owner: ObjectRefApprovalLineOwnerType\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ApprovalLineItem[]\n}\n\n@InputType()\nexport class ApprovalLinePatch {\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(type => ApprovalLineOwnerType, { nullable: true })\n ownerType?: ApprovalLineOwnerType\n\n @Field(type => ObjectRefApprovalLineOwnerType, { nullable: true })\n owner?: ObjectRefApprovalLineOwnerType\n\n @Field(type => ScalarObject, { nullable: true })\n model?: ApprovalLineItem[]\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ApprovalLineList {\n @Field(type => [ApprovalLine])\n items: ApprovalLine[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,33 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { ApprovalLineItem } from './approval-line-item';
4
+ import { Employee } from '../employee/employee';
5
+ export * from './approval-line-item';
6
+ export declare enum ApprovalLineOwnerType {
7
+ Employee = "Employee",
8
+ Common = "Common"
9
+ }
10
+ export declare class ApprovalLineOwner {
11
+ id: string;
12
+ name?: string;
13
+ description?: string;
14
+ controlNo?: string;
15
+ }
16
+ export declare class ApprovalLine {
17
+ readonly id: string;
18
+ domain?: Domain;
19
+ domainId?: string;
20
+ name?: string;
21
+ description?: string;
22
+ model?: ApprovalLineItem[];
23
+ ownerType?: ApprovalLineOwnerType;
24
+ ownerValue?: string;
25
+ ownerEmployee?: Employee;
26
+ owner?: ApprovalLineOwner;
27
+ createdAt?: Date;
28
+ updatedAt?: Date;
29
+ creator?: User;
30
+ creatorId?: string;
31
+ updater?: User;
32
+ updaterId?: string;
33
+ }
@@ -13,13 +13,14 @@ var ApprovalLineOwnerType;
13
13
  (function (ApprovalLineOwnerType) {
14
14
  ApprovalLineOwnerType["Employee"] = "Employee";
15
15
  ApprovalLineOwnerType["Common"] = "Common";
16
- })(ApprovalLineOwnerType = exports.ApprovalLineOwnerType || (exports.ApprovalLineOwnerType = {}));
16
+ })(ApprovalLineOwnerType || (exports.ApprovalLineOwnerType = ApprovalLineOwnerType = {}));
17
17
  (0, type_graphql_1.registerEnumType)(ApprovalLineOwnerType, {
18
18
  name: 'ApprovalLineOwnerType',
19
19
  description: 'type enumeration of a approvalLineOwner'
20
20
  });
21
21
  let ApprovalLineOwner = class ApprovalLineOwner {
22
22
  };
23
+ exports.ApprovalLineOwner = ApprovalLineOwner;
23
24
  tslib_1.__decorate([
24
25
  (0, type_graphql_1.Field)(() => type_graphql_1.ID, { description: 'Field id' }),
25
26
  tslib_1.__metadata("design:type", String)
@@ -36,12 +37,12 @@ tslib_1.__decorate([
36
37
  (0, type_graphql_1.Field)({ nullable: true }),
37
38
  tslib_1.__metadata("design:type", String)
38
39
  ], ApprovalLineOwner.prototype, "controlNo", void 0);
39
- ApprovalLineOwner = tslib_1.__decorate([
40
+ exports.ApprovalLineOwner = ApprovalLineOwner = tslib_1.__decorate([
40
41
  (0, type_graphql_1.ObjectType)()
41
42
  ], ApprovalLineOwner);
42
- exports.ApprovalLineOwner = ApprovalLineOwner;
43
43
  let ApprovalLine = class ApprovalLine {
44
44
  };
45
+ exports.ApprovalLine = ApprovalLine;
45
46
  tslib_1.__decorate([
46
47
  (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
47
48
  (0, type_graphql_1.Field)(type => type_graphql_1.ID),
@@ -118,7 +119,7 @@ tslib_1.__decorate([
118
119
  (0, typeorm_1.RelationId)((approvalLine) => approvalLine.updater),
119
120
  tslib_1.__metadata("design:type", String)
120
121
  ], ApprovalLine.prototype, "updaterId", void 0);
121
- ApprovalLine = tslib_1.__decorate([
122
+ exports.ApprovalLine = ApprovalLine = tslib_1.__decorate([
122
123
  (0, typeorm_1.Entity)(),
123
124
  (0, typeorm_1.Index)('ix_approval_line_0', (approvalLine) => [
124
125
  approvalLine.domain,
@@ -130,5 +131,4 @@ ApprovalLine = tslib_1.__decorate([
130
131
  }),
131
132
  (0, type_graphql_1.ObjectType)({ description: 'Entity for ApprovalLine' })
132
133
  ], ApprovalLine);
133
- exports.ApprovalLine = ApprovalLine;
134
134
  //# sourceMappingURL=approval-line.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-line.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line.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 { InputType, ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { Domain, ObjectRef } from '@things-factory/shell'\nimport { Role, User } from '@things-factory/auth-base'\n\nimport { ApprovalLineItem } from './approval-line-item'\nimport { Employee } from '../employee/employee'\nimport { Department } from '../department/department'\n\nexport * from './approval-line-item'\n\nexport enum ApprovalLineOwnerType {\n Employee = 'Employee',\n Common = 'Common'\n}\n\nregisterEnumType(ApprovalLineOwnerType, {\n name: 'ApprovalLineOwnerType',\n description: 'type enumeration of a approvalLineOwner'\n})\n\n@ObjectType()\nexport class ApprovalLineOwner {\n @Field(() => ID, { description: 'Field id' })\n id: string\n\n @Field({ nullable: true, description: 'Field name' })\n name?: string\n\n @Field({ nullable: true, description: 'Field description' })\n description?: string\n\n @Field({ nullable: true })\n controlNo?: string\n}\n\n@Entity()\n@Index(\n 'ix_approval_line_0',\n (approvalLine: ApprovalLine) => [\n approvalLine.domain,\n approvalLine.ownerType,\n approvalLine.ownerValue,\n approvalLine.name\n ],\n {\n unique: true\n }\n)\n@ObjectType({ description: 'Entity for ApprovalLine' })\nexport class ApprovalLine {\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((approvalLine: ApprovalLine) => approvalLine.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('simple-json', { nullable: true })\n @Field(type => [ApprovalLineItem], { nullable: true })\n model?: ApprovalLineItem[]\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ownerType?: ApprovalLineOwnerType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ownerValue?: string\n\n @ManyToOne(type => Employee, employee => employee.approvalLines, { nullable: true })\n @Field({ nullable: true })\n ownerEmployee?: Employee\n\n @Field(type => ApprovalLineOwner, { nullable: true })\n owner?: ApprovalLineOwner\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((approvalLine: ApprovalLine) => approvalLine.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((approvalLine: ApprovalLine) => approvalLine.updater)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"approval-line.js","sourceRoot":"","sources":["../../../server/service/approval-line/approval-line.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 { InputType, ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'\n\nimport { Domain, ObjectRef } from '@things-factory/shell'\nimport { Role, User } from '@things-factory/auth-base'\n\nimport { ApprovalLineItem } from './approval-line-item'\nimport { Employee } from '../employee/employee'\nimport { Department } from '../department/department'\n\nexport * from './approval-line-item'\n\nexport enum ApprovalLineOwnerType {\n Employee = 'Employee',\n Common = 'Common'\n}\n\nregisterEnumType(ApprovalLineOwnerType, {\n name: 'ApprovalLineOwnerType',\n description: 'type enumeration of a approvalLineOwner'\n})\n\n@ObjectType()\nexport class ApprovalLineOwner {\n @Field(() => ID, { description: 'Field id' })\n id: string\n\n @Field({ nullable: true, description: 'Field name' })\n name?: string\n\n @Field({ nullable: true, description: 'Field description' })\n description?: string\n\n @Field({ nullable: true })\n controlNo?: string\n}\n\n@Entity()\n@Index(\n 'ix_approval_line_0',\n (approvalLine: ApprovalLine) => [\n approvalLine.domain,\n approvalLine.ownerType,\n approvalLine.ownerValue,\n approvalLine.name\n ],\n {\n unique: true\n }\n)\n@ObjectType({ description: 'Entity for ApprovalLine' })\nexport class ApprovalLine {\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((approvalLine: ApprovalLine) => approvalLine.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('simple-json', { nullable: true })\n @Field(type => [ApprovalLineItem], { nullable: true })\n model?: ApprovalLineItem[]\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ownerType?: ApprovalLineOwnerType\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n ownerValue?: string\n\n @ManyToOne(type => Employee, employee => employee.approvalLines, { nullable: true })\n @Field({ nullable: true })\n ownerEmployee?: Employee\n\n @Field(type => ApprovalLineOwner, { nullable: true })\n owner?: ApprovalLineOwner\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((approvalLine: ApprovalLine) => approvalLine.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((approvalLine: ApprovalLine) => approvalLine.updater)\n updaterId?: string\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { ApprovalLine } from './approval-line';
2
+ import { ApprovalLineQuery } from './approval-line-query';
3
+ import { ApprovalLineMutation } from './approval-line-mutation';
4
+ export declare const entities: (typeof ApprovalLine)[];
5
+ export declare const resolvers: (typeof ApprovalLineQuery | typeof ApprovalLineMutation)[];
6
+ export declare const subscribers: any[];