@acorex/connectivity 20.8.13 → 20.8.15

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 (123) hide show
  1. package/{types/acorex-connectivity-api.d.ts → api/index.d.ts} +1 -12
  2. package/fesm2022/{acorex-connectivity-api-execute.command-CiBl7z_H.mjs → acorex-connectivity-api-execute.command-D2Q0ahw4.mjs} +4 -4
  3. package/fesm2022/acorex-connectivity-api-execute.command-D2Q0ahw4.mjs.map +1 -0
  4. package/fesm2022/acorex-connectivity-api.mjs +40 -126
  5. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  6. package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs +66 -0
  7. package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs.map +1 -0
  8. package/fesm2022/{acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs → acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs} +4 -4
  9. package/fesm2022/acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs.map +1 -0
  10. package/fesm2022/{acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs → acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs} +16 -8
  11. package/fesm2022/acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs.map +1 -0
  12. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs +80 -0
  13. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs.map +1 -0
  14. package/fesm2022/{acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs → acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs} +6 -18
  15. package/fesm2022/acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs.map +1 -0
  16. package/fesm2022/{acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs → acorex-connectivity-mock-get-application-versions-chart-data.query-uwDUrbFJ.mjs} +4 -4
  17. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-uwDUrbFJ.mjs.map +1 -0
  18. package/fesm2022/{acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs → acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs} +4 -4
  19. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs.map +1 -0
  20. package/fesm2022/{acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs → acorex-connectivity-mock-get-employee-list.query-Ch-Vh5GE.mjs} +4 -4
  21. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-Ch-Vh5GE.mjs.map +1 -0
  22. package/fesm2022/{acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs → acorex-connectivity-mock-get-location-list.query-Xbc6d8kb.mjs} +4 -4
  23. package/fesm2022/acorex-connectivity-mock-get-location-list.query-Xbc6d8kb.mjs.map +1 -0
  24. package/fesm2022/{acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs → acorex-connectivity-mock-get-product-chart-data.query-m8_ME45B.mjs} +4 -4
  25. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-m8_ME45B.mjs.map +1 -0
  26. package/fesm2022/{acorex-connectivity-mock-get-product-list.query-f-mTj4ah.mjs → acorex-connectivity-mock-get-product-list.query-DzkssYRw.mjs} +9 -16
  27. package/fesm2022/acorex-connectivity-mock-get-product-list.query-DzkssYRw.mjs.map +1 -0
  28. package/fesm2022/{acorex-connectivity-mock-get-product-pdf-data.query-Co1V52c4.mjs → acorex-connectivity-mock-get-product-pdf-data.query-wMD65pwR.mjs} +5 -5
  29. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-wMD65pwR.mjs.map +1 -0
  30. package/fesm2022/{acorex-connectivity-mock-get-subscriptions-chart-data.query-BQT5a_hn.mjs → acorex-connectivity-mock-get-subscriptions-chart-data.query-DBOT_0IN.mjs} +5 -5
  31. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-DBOT_0IN.mjs.map +1 -0
  32. package/fesm2022/{acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs → acorex-connectivity-mock-get-subscriptions-timeline.query-DBEEbeiS.mjs} +4 -4
  33. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-DBEEbeiS.mjs.map +1 -0
  34. package/fesm2022/{acorex-connectivity-mock-get-tenant-application-access.query-n1_Azada.mjs → acorex-connectivity-mock-get-tenant-application-access.query-BM9toJ45.mjs} +4 -4
  35. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BM9toJ45.mjs.map +1 -0
  36. package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-chart-data.query-Cg4ykZU2.mjs → acorex-connectivity-mock-get-tenant-registration-chart-data.query-CACCBXn-.mjs} +5 -5
  37. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-CACCBXn-.mjs.map +1 -0
  38. package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs → acorex-connectivity-mock-get-tenant-registration-timeline.query-CfDjhtaC.mjs} +4 -4
  39. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-CfDjhtaC.mjs.map +1 -0
  40. package/fesm2022/{acorex-connectivity-mock-get-tenant-user-distribution.query-rD811gtM.mjs → acorex-connectivity-mock-get-tenant-user-distribution.query-CZXvavUh.mjs} +4 -4
  41. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-CZXvavUh.mjs.map +1 -0
  42. package/fesm2022/acorex-connectivity-mock-notify-signers.command-BV-b8NBg.mjs +69 -0
  43. package/fesm2022/acorex-connectivity-mock-notify-signers.command-BV-b8NBg.mjs.map +1 -0
  44. package/fesm2022/acorex-connectivity-mock-request-signature.command-DZyVnhAp.mjs +72 -0
  45. package/fesm2022/acorex-connectivity-mock-request-signature.command-DZyVnhAp.mjs.map +1 -0
  46. package/fesm2022/{acorex-connectivity-mock-sample.command-CJmDL4pL.mjs → acorex-connectivity-mock-sample.command-CXz1poTn.mjs} +4 -4
  47. package/fesm2022/acorex-connectivity-mock-sample.command-CXz1poTn.mjs.map +1 -0
  48. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-leYngRtS.mjs +81 -0
  49. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-leYngRtS.mjs.map +1 -0
  50. package/fesm2022/acorex-connectivity-mock.mjs +51673 -2
  51. package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
  52. package/fesm2022/acorex-connectivity-utils.mjs +7 -7
  53. package/fesm2022/acorex-connectivity-utils.mjs.map +1 -1
  54. package/fesm2022/acorex-connectivity.mjs.map +1 -1
  55. package/mock/index.d.ts +3022 -0
  56. package/package.json +7 -8
  57. package/fesm2022/acorex-connectivity-api-execute.command-CiBl7z_H.mjs.map +0 -1
  58. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs +0 -78646
  59. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs.map +0 -1
  60. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs +0 -288
  61. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs.map +0 -1
  62. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs +0 -198
  63. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs.map +0 -1
  64. package/fesm2022/acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs.map +0 -1
  65. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs +0 -108
  66. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs.map +0 -1
  67. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs +0 -130
  68. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs.map +0 -1
  69. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs +0 -110
  70. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs.map +0 -1
  71. package/fesm2022/acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs.map +0 -1
  72. package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs +0 -56
  73. package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs.map +0 -1
  74. package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs +0 -968
  75. package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs.map +0 -1
  76. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs +0 -16
  77. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs.map +0 -1
  78. package/fesm2022/acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs.map +0 -1
  79. package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs +0 -60
  80. package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs.map +0 -1
  81. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs +0 -60
  82. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs.map +0 -1
  83. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs +0 -67
  84. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs.map +0 -1
  85. package/fesm2022/acorex-connectivity-mock-entity-update.activity-06HTKiQQ.mjs +0 -68
  86. package/fesm2022/acorex-connectivity-mock-entity-update.activity-06HTKiQQ.mjs.map +0 -1
  87. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs +0 -64
  88. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs.map +0 -1
  89. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map +0 -1
  90. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs.map +0 -1
  91. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-CsmxwXsM.mjs +0 -39
  92. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-CsmxwXsM.mjs.map +0 -1
  93. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs +0 -69
  94. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs.map +0 -1
  95. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs.map +0 -1
  96. package/fesm2022/acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs.map +0 -1
  97. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs.map +0 -1
  98. package/fesm2022/acorex-connectivity-mock-get-product-list.query-f-mTj4ah.mjs.map +0 -1
  99. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-Co1V52c4.mjs.map +0 -1
  100. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-BQT5a_hn.mjs.map +0 -1
  101. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs.map +0 -1
  102. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-n1_Azada.mjs.map +0 -1
  103. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-Cg4ykZU2.mjs.map +0 -1
  104. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs.map +0 -1
  105. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-rD811gtM.mjs.map +0 -1
  106. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs +0 -35
  107. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs.map +0 -1
  108. package/fesm2022/acorex-connectivity-mock-notification-management-email-send.command-DAQfIWoD.mjs +0 -73
  109. package/fesm2022/acorex-connectivity-mock-notification-management-email-send.command-DAQfIWoD.mjs.map +0 -1
  110. package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs +0 -49
  111. package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs.map +0 -1
  112. package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs +0 -60
  113. package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs.map +0 -1
  114. package/fesm2022/acorex-connectivity-mock-sample.command-CJmDL4pL.mjs.map +0 -1
  115. package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs +0 -38
  116. package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs.map +0 -1
  117. package/fesm2022/acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs +0 -30
  118. package/fesm2022/acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs.map +0 -1
  119. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs +0 -61
  120. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs.map +0 -1
  121. package/types/acorex-connectivity-mock.d.ts +0 -4127
  122. /package/{types/acorex-connectivity.d.ts → index.d.ts} +0 -0
  123. /package/{types/acorex-connectivity-utils.d.ts → utils/index.d.ts} +0 -0
@@ -0,0 +1,66 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { AXPSessionService } from '@acorex/platform/auth';
4
+ import { AXPEntityStorageService } from '@acorex/platform/layout/entity';
5
+
6
+ const LEAVE_REQUEST_ENTITY = 'HumanCapitalManagement.LeaveRequest';
7
+ /**
8
+ * Assign To Manager Activity (Backend - Mock)
9
+ *
10
+ * Assigns a workflow task to a manager. Outputs managerId and employee into workflow variables
11
+ * so later steps can use {{vars.employee.displayName}} etc.
12
+ *
13
+ * Execution Mode: backend
14
+ * Activity Type: workflow-activity:assign-to-manager
15
+ */
16
+ class AssignToManggerActivity {
17
+ constructor() {
18
+ this.sessionService = inject(AXPSessionService);
19
+ this.entityStorage = inject(AXPEntityStorageService);
20
+ }
21
+ async execute(input) {
22
+ const leaveRequestId = input?.leaveRequestId ?? input?.properties?.leaveRequestId;
23
+ const managerId = this.sessionService.user?.id ?? null;
24
+ let employee = { displayName: '' };
25
+ if (leaveRequestId) {
26
+ try {
27
+ const record = await this.entityStorage.getOne(LEAVE_REQUEST_ENTITY, leaveRequestId);
28
+ if (record) {
29
+ employee = {
30
+ displayName: record.employeeName ??
31
+ record.employee?.person?.displayName ??
32
+ record.employee?.displayName ??
33
+ '',
34
+ ...(record.employee ?? {}),
35
+ };
36
+ }
37
+ }
38
+ catch {
39
+ // keep default employee
40
+ }
41
+ }
42
+ console.log('[AssignToManggerActivity] leaveRequestId:', leaveRequestId, 'managerId:', managerId, 'employee:', employee);
43
+ return {
44
+ success: true,
45
+ data: {
46
+ outcomes: { done: true },
47
+ output: {
48
+ managerId,
49
+ employee,
50
+ leaveRequestId,
51
+ },
52
+ },
53
+ };
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AssignToManggerActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
56
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AssignToManggerActivity, providedIn: 'root' }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AssignToManggerActivity, decorators: [{
59
+ type: Injectable,
60
+ args: [{
61
+ providedIn: 'root',
62
+ }]
63
+ }] });
64
+
65
+ export { AssignToManggerActivity };
66
+ //# sourceMappingURL=acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs","sources":["../tmp-esm2022/mock/lib/workflow-management/commands/assign-to-manager.command.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport * as i0 from \"@angular/core\";\nconst LEAVE_REQUEST_ENTITY = 'HumanCapitalManagement.LeaveRequest';\n/**\n * Assign To Manager Activity (Backend - Mock)\n *\n * Assigns a workflow task to a manager. Outputs managerId and employee into workflow variables\n * so later steps can use {{vars.employee.displayName}} etc.\n *\n * Execution Mode: backend\n * Activity Type: workflow-activity:assign-to-manager\n */\nexport class AssignToManggerActivity {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n this.entityStorage = inject(AXPEntityStorageService);\n }\n async execute(input) {\n const leaveRequestId = input?.leaveRequestId ?? input?.properties?.leaveRequestId;\n const managerId = this.sessionService.user?.id ?? null;\n let employee = { displayName: '' };\n if (leaveRequestId) {\n try {\n const record = await this.entityStorage.getOne(LEAVE_REQUEST_ENTITY, leaveRequestId);\n if (record) {\n employee = {\n displayName: record.employeeName ??\n record.employee?.person?.displayName ??\n record.employee?.displayName ??\n '',\n ...(record.employee ?? {}),\n };\n }\n }\n catch {\n // keep default employee\n }\n }\n console.log('[AssignToManggerActivity] leaveRequestId:', leaveRequestId, 'managerId:', managerId, 'employee:', employee);\n return {\n success: true,\n data: {\n outcomes: { done: true },\n output: {\n managerId,\n employee,\n leaveRequestId,\n },\n },\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AssignToManggerActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AssignToManggerActivity, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AssignToManggerActivity, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLXRvLW1hbmFnZXIuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L21vY2svc3JjL2xpYi93b3JrZmxvdy1tYW5hZ2VtZW50L2NvbW1hbmRzL2Fzc2lnbi10by1tYW5hZ2VyLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRXpFLE1BQU0sb0JBQW9CLEdBQUcscUNBQXFDLENBQUM7QUFFbkU7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sdUJBQXVCO0lBSHBDO1FBS21CLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0Msa0JBQWEsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQXlDbEU7SUF2Q0MsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUFVO1FBRVYsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLGNBQWMsSUFBSSxLQUFLLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksSUFBSSxDQUFDO1FBRXZELElBQUksUUFBUSxHQUFnRCxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNoRixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBUSxDQUFDO2dCQUM1RixJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLFFBQVEsR0FBRzt3QkFDVCxXQUFXLEVBQ1QsTUFBTSxDQUFDLFlBQVk7NEJBQ25CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVc7NEJBQ3BDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsV0FBVzs0QkFDNUIsRUFBRTt3QkFDSixHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7cUJBQzNCLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1Asd0JBQXdCO1lBQzFCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFekgsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1lBQ2IsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7Z0JBQ3hCLE1BQU0sRUFBRTtvQkFDTixTQUFTO29CQUNULFFBQVE7b0JBQ1IsY0FBYztpQkFDZjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBM0NVLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUENvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQRW50aXR5U3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuXG5jb25zdCBMRUFWRV9SRVFVRVNUX0VOVElUWSA9ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50LkxlYXZlUmVxdWVzdCc7XG5cbi8qKlxuICogQXNzaWduIFRvIE1hbmFnZXIgQWN0aXZpdHkgKEJhY2tlbmQgLSBNb2NrKVxuICpcbiAqIEFzc2lnbnMgYSB3b3JrZmxvdyB0YXNrIHRvIGEgbWFuYWdlci4gT3V0cHV0cyBtYW5hZ2VySWQgYW5kIGVtcGxveWVlIGludG8gd29ya2Zsb3cgdmFyaWFibGVzXG4gKiBzbyBsYXRlciBzdGVwcyBjYW4gdXNlIHt7dmFycy5lbXBsb3llZS5kaXNwbGF5TmFtZX19IGV0Yy5cbiAqXG4gKiBFeGVjdXRpb24gTW9kZTogYmFja2VuZFxuICogQWN0aXZpdHkgVHlwZTogd29ya2Zsb3ctYWN0aXZpdHk6YXNzaWduLXRvLW1hbmFnZXJcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFzc2lnblRvTWFuZ2dlckFjdGl2aXR5XG4gIGltcGxlbWVudHMgQVhQQ29tbWFuZDxhbnksIHsgb3V0cHV0OiBhbnk7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50aXR5U3RvcmFnZSA9IGluamVjdChBWFBFbnRpdHlTdG9yYWdlU2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShcbiAgICBpbnB1dDogYW55XG4gICk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ8eyBvdXRwdXQ6IGFueTsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4+IHtcbiAgICBjb25zdCBsZWF2ZVJlcXVlc3RJZCA9IGlucHV0Py5sZWF2ZVJlcXVlc3RJZCA/PyBpbnB1dD8ucHJvcGVydGllcz8ubGVhdmVSZXF1ZXN0SWQ7XG4gICAgY29uc3QgbWFuYWdlcklkID0gdGhpcy5zZXNzaW9uU2VydmljZS51c2VyPy5pZCA/PyBudWxsO1xuXG4gICAgbGV0IGVtcGxveWVlOiB7IGRpc3BsYXlOYW1lOiBzdHJpbmc7IFtrZXk6IHN0cmluZ106IGFueSB9ID0geyBkaXNwbGF5TmFtZTogJycgfTtcbiAgICBpZiAobGVhdmVSZXF1ZXN0SWQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlY29yZCA9IGF3YWl0IHRoaXMuZW50aXR5U3RvcmFnZS5nZXRPbmUoTEVBVkVfUkVRVUVTVF9FTlRJVFksIGxlYXZlUmVxdWVzdElkKSBhcyBhbnk7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICBlbXBsb3llZSA9IHtcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOlxuICAgICAgICAgICAgICByZWNvcmQuZW1wbG95ZWVOYW1lID8/XG4gICAgICAgICAgICAgIHJlY29yZC5lbXBsb3llZT8ucGVyc29uPy5kaXNwbGF5TmFtZSA/P1xuICAgICAgICAgICAgICByZWNvcmQuZW1wbG95ZWU/LmRpc3BsYXlOYW1lID8/XG4gICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgLi4uKHJlY29yZC5lbXBsb3llZSA/PyB7fSksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIGtlZXAgZGVmYXVsdCBlbXBsb3llZVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCdbQXNzaWduVG9NYW5nZ2VyQWN0aXZpdHldIGxlYXZlUmVxdWVzdElkOicsIGxlYXZlUmVxdWVzdElkLCAnbWFuYWdlcklkOicsIG1hbmFnZXJJZCwgJ2VtcGxveWVlOicsIGVtcGxveWVlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgZGF0YToge1xuICAgICAgICBvdXRjb21lczogeyBkb25lOiB0cnVlIH0sXG4gICAgICAgIG91dHB1dDoge1xuICAgICAgICAgIG1hbmFnZXJJZCxcbiAgICAgICAgICBlbXBsb3llZSxcbiAgICAgICAgICBsZWF2ZVJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19"],"names":[],"mappings":";;;;;AAIA,MAAM,oBAAoB,GAAG,qCAAqC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,uBAAuB,CAAC;AACrC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC5D,IAAI;AACJ,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,MAAM,cAAc,GAAG,KAAK,EAAE,cAAc,IAAI,KAAK,EAAE,UAAU,EAAE,cAAc;AACzF,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI;AAC9D,QAAQ,IAAI,QAAQ,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;AAC1C,QAAQ,IAAI,cAAc,EAAE;AAC5B,YAAY,IAAI;AAChB,gBAAgB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC;AACpG,gBAAgB,IAAI,MAAM,EAAE;AAC5B,oBAAoB,QAAQ,GAAG;AAC/B,wBAAwB,WAAW,EAAE,MAAM,CAAC,YAAY;AACxD,4BAA4B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW;AAChE,4BAA4B,MAAM,CAAC,QAAQ,EAAE,WAAW;AACxD,4BAA4B,EAAE;AAC9B,wBAAwB,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;AAClD,qBAAqB;AACrB,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM;AAClB;AACA,YAAY;AACZ,QAAQ;AACR,QAAQ,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;AAChI,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,IAAI,EAAE;AAClB,gBAAgB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;AACxC,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,SAAS;AAC7B,oBAAoB,QAAQ;AAC5B,oBAAoB,cAAc;AAClC,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAClK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
@@ -102,10 +102,10 @@ class AXCQueryCategoryWithItemsQuery {
102
102
  }
103
103
  return node;
104
104
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
106
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, providedIn: 'root' }); }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
106
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, providedIn: 'root' }); }
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, decorators: [{
109
109
  type: Injectable,
110
110
  args: [{
111
111
  providedIn: 'root'
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
113
113
  }] });
114
114
 
115
115
  export { AXCQueryCategoryWithItemsQuery };
116
- //# sourceMappingURL=acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs.map
116
+ //# sourceMappingURL=acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs","sources":["../tmp-esm2022/mock/lib/data-management/metadata/category-with-items.query.js"],"sourcesContent":["import { AXMMetaDataDefinitionService, RootConfig } from '@acorex/modules/data-management';\nimport { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXCQueryCategoryWithItemsQuery {\n constructor() {\n this.injector = inject(Injector);\n this.categoryEntityService = runInInjectionContext(this.injector, () => new AXMEntityCrudServiceImpl(`${RootConfig.module.name}.${RootConfig.entities.metaDataDefinition.name}Category`));\n this.metaDataService = inject(AXMMetaDataDefinitionService);\n }\n fetch() {\n return this.getAllWithItems();\n }\n async getAllWithItems() {\n const rootCategories = await this.categoryEntityService.query({\n take: 1000,\n skip: 0,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'parentId',\n operator: {\n type: 'isNull',\n },\n },\n ],\n },\n });\n // Build the tree and prune empty categories (no children and no items)\n const builtRoots = await Promise.all(rootCategories.items.map((category) => this.buildCategoryTree(category)));\n const categories = builtRoots.filter((c) => Boolean(c));\n // Aggregate all items across remaining categories\n const allItems = [];\n const collectItems = (nodes) => {\n for (const node of nodes) {\n if (node.items?.length) {\n allItems.push(...node.items);\n }\n if (node.children?.length) {\n collectItems(node.children);\n }\n }\n };\n collectItems(categories);\n // Add synthetic 'All' node at the beginning\n const allNode = {\n id: 'all',\n title: 'All',\n childrenCount: 0,\n items: allItems,\n children: [],\n categories: []\n };\n return [allNode, ...categories];\n }\n async buildCategoryTree(category) {\n const itemsResult = await this.metaDataService.query({\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'categoryIds',\n operator: {\n type: 'contains',\n },\n value: category.id,\n },\n ],\n },\n take: 1000,\n skip: 0,\n });\n const childCategoriesResult = await this.categoryEntityService.query({\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'parentId',\n operator: {\n type: 'equal',\n },\n value: category.id,\n },\n ],\n },\n take: 1000,\n skip: 0,\n });\n const builtChildren = await Promise.all(childCategoriesResult.items.map((child) => this.buildCategoryTree(child)));\n const children = builtChildren.filter((c) => Boolean(c));\n const node = {\n ...category,\n items: itemsResult.items,\n categories: children,\n children: children,\n };\n // Prune node if it has no items and no children\n if ((!node.items || node.items.length === 0) && (!node.children || node.children.length === 0)) {\n return null;\n }\n return node;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCQueryCategoryWithItemsQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktd2l0aC1pdGVtcy5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L21vY2svc3JjL2xpYi9kYXRhLW1hbmFnZW1lbnQvbWV0YWRhdGEvY2F0ZWdvcnktd2l0aC1pdGVtcy5xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLDRCQUE0QixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLcEYsTUFBTSxPQUFPLDhCQUE4QjtJQUgzQztRQUtZLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsMEJBQXFCLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHdCQUF3QixDQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0wsb0JBQWUsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQThHbEU7SUEzR0csS0FBSztRQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZTtRQUN6QixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7WUFDMUQsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sRUFBRTtnQkFDSixLQUFLLEVBQUUsS0FBSztnQkFDWixP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QXFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1SCxNQUFNLElBQUksR0FBMEY7WUFDaEcsR0FBRyxRQUFRO1lBQ1gsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLO1lBQ3hCLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLFFBQVEsRUFBRSxRQUFRO1NBQ3JCLENBQUM7UUFFRixnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdGLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOytHQTlHUSw4QkFBOEI7bUhBQTlCLDhCQUE4QixjQUYzQixNQUFNOzs0RkFFVCw4QkFBOEI7a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwsIEFYTU1ldGFEYXRhRGVmaW5pdGlvblNlcnZpY2UsIFJvb3RDb25maWcgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvZGF0YS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYUENhdGVnb3J5RW50aXR5V2l0aEl0ZW1zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBRdWVyeSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBWENRdWVyeUNhdGVnb3J5V2l0aEl0ZW1zUXVlcnkgaW1wbGVtZW50cyBBWFBRdWVyeTx2b2lkLCBBWFBDYXRlZ29yeUVudGl0eVdpdGhJdGVtczxBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbD5bXT4ge1xuXG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSBjYXRlZ29yeUVudGl0eVNlcnZpY2UgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4gbmV3IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbDxhbnksIGFueT4oYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLm1ldGFEYXRhRGVmaW5pdGlvbi5uYW1lfUNhdGVnb3J5YCkpO1xuICAgIHByaXZhdGUgbWV0YURhdGFTZXJ2aWNlID0gaW5qZWN0KEFYTU1ldGFEYXRhRGVmaW5pdGlvblNlcnZpY2UpO1xuXG5cbiAgICBmZXRjaCgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxXaXRoSXRlbXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGdldEFsbFdpdGhJdGVtcygpOiBQcm9taXNlPEFYUENhdGVnb3J5RW50aXR5V2l0aEl0ZW1zPEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsPltdPiB7XG4gICAgICAgIGNvbnN0IHJvb3RDYXRlZ29yaWVzID0gYXdhaXQgdGhpcy5jYXRlZ29yeUVudGl0eVNlcnZpY2UucXVlcnkoe1xuICAgICAgICAgICAgdGFrZTogMTAwMCxcbiAgICAgICAgICAgIHNraXA6IDAsXG4gICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ3BhcmVudElkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lzTnVsbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBCdWlsZCB0aGUgdHJlZSBhbmQgcHJ1bmUgZW1wdHkgY2F0ZWdvcmllcyAobm8gY2hpbGRyZW4gYW5kIG5vIGl0ZW1zKVxuICAgICAgICBjb25zdCBidWlsdFJvb3RzID0gYXdhaXQgUHJvbWlzZS5hbGwocm9vdENhdGVnb3JpZXMuaXRlbXMubWFwKChjYXRlZ29yeSkgPT4gdGhpcy5idWlsZENhdGVnb3J5VHJlZShjYXRlZ29yeSkpKTtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGJ1aWx0Um9vdHMuZmlsdGVyKChjKTogYyBpcyBBWFBDYXRlZ29yeUVudGl0eVdpdGhJdGVtczxBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbD4gPT4gQm9vbGVhbihjKSk7XG5cbiAgICAgICAgLy8gQWdncmVnYXRlIGFsbCBpdGVtcyBhY3Jvc3MgcmVtYWluaW5nIGNhdGVnb3JpZXNcbiAgICAgICAgY29uc3QgYWxsSXRlbXM6IEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsW10gPSBbXTtcbiAgICAgICAgY29uc3QgY29sbGVjdEl0ZW1zID0gKG5vZGVzOiBBWFBDYXRlZ29yeUVudGl0eVdpdGhJdGVtczxBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbD5bXSkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5vZGUuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBhbGxJdGVtcy5wdXNoKC4uLm5vZGUuaXRlbXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobm9kZS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3RJdGVtcyhub2RlLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbGxlY3RJdGVtcyhjYXRlZ29yaWVzKTtcblxuICAgICAgICAvLyBBZGQgc3ludGhldGljICdBbGwnIG5vZGUgYXQgdGhlIGJlZ2lubmluZ1xuICAgICAgICBjb25zdCBhbGxOb2RlOiBBWFBDYXRlZ29yeUVudGl0eVdpdGhJdGVtczxBWE1NZXRhRGF0YURlZmluaXRpb25FbnRpdHlNb2RlbD4gJiB7IGNhdGVnb3JpZXM/OiBhbnlbXSB9ID0ge1xuICAgICAgICAgICAgaWQ6ICdhbGwnLFxuICAgICAgICAgICAgdGl0bGU6ICdBbGwnLFxuICAgICAgICAgICAgY2hpbGRyZW5Db3VudDogMCxcbiAgICAgICAgICAgIGl0ZW1zOiBhbGxJdGVtcyxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIGNhdGVnb3JpZXM6IFtdXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIFthbGxOb2RlLCAuLi5jYXRlZ29yaWVzXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGJ1aWxkQ2F0ZWdvcnlUcmVlKGNhdGVnb3J5OiBhbnkpOiBQcm9taXNlPEFYUENhdGVnb3J5RW50aXR5V2l0aEl0ZW1zPEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsPiB8IG51bGw+IHtcbiAgICAgICAgY29uc3QgaXRlbXNSZXN1bHQgPSBhd2FpdCB0aGlzLm1ldGFEYXRhU2VydmljZS5xdWVyeSh7XG4gICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2NhdGVnb3J5SWRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvbnRhaW5zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YWtlOiAxMDAwLFxuICAgICAgICAgICAgc2tpcDogMCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY2hpbGRDYXRlZ29yaWVzUmVzdWx0ID0gYXdhaXQgdGhpcy5jYXRlZ29yeUVudGl0eVNlcnZpY2UucXVlcnkoe1xuICAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdwYXJlbnRJZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlcXVhbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNhdGVnb3J5LmlkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGFrZTogMTAwMCxcbiAgICAgICAgICAgIHNraXA6IDAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJ1aWx0Q2hpbGRyZW4gPSBhd2FpdCBQcm9taXNlLmFsbChjaGlsZENhdGVnb3JpZXNSZXN1bHQuaXRlbXMubWFwKChjaGlsZCkgPT4gdGhpcy5idWlsZENhdGVnb3J5VHJlZShjaGlsZCkpKTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBidWlsdENoaWxkcmVuLmZpbHRlcigoYyk6IGMgaXMgQVhQQ2F0ZWdvcnlFbnRpdHlXaXRoSXRlbXM8QVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWw+ID0+IEJvb2xlYW4oYykpO1xuXG4gICAgICAgIGNvbnN0IG5vZGU6IEFYUENhdGVnb3J5RW50aXR5V2l0aEl0ZW1zPEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsPiAmIHsgY2F0ZWdvcmllcz86IGFueVtdIH0gPSB7XG4gICAgICAgICAgICAuLi5jYXRlZ29yeSxcbiAgICAgICAgICAgIGl0ZW1zOiBpdGVtc1Jlc3VsdC5pdGVtcyxcbiAgICAgICAgICAgIGNhdGVnb3JpZXM6IGNoaWxkcmVuLFxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFBydW5lIG5vZGUgaWYgaXQgaGFzIG5vIGl0ZW1zIGFuZCBubyBjaGlsZHJlblxuICAgICAgICBpZiAoKCFub2RlLml0ZW1zIHx8IG5vZGUuaXRlbXMubGVuZ3RoID09PSAwKSAmJiAoIW5vZGUuY2hpbGRyZW4gfHwgbm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDApKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuXG5cbn0iXX0="],"names":[],"mappings":"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"}
@@ -7,13 +7,18 @@ import { AXPSessionService } from '@acorex/platform/auth';
7
7
  * CheckPermission Activity (Backend - Mock)
8
8
  *
9
9
  * Checks if a user has specific permission.
10
+ * Mock implementation for backend/demo; in production would check against real permission system.
11
+ *
10
12
  * Execution Mode: backend
11
13
  * Activity Type: workflow-activity:check-permission
12
14
  *
13
- * Outcomes: HasPermission | NoPermission
15
+ * Outcomes:
16
+ * - HasPermission: User has the permission
17
+ * - NoPermission: User does not have the permission
14
18
  */
15
19
  class CheckPermissionActivity {
16
20
  constructor() {
21
+ //#region ---- AXPCommand Implementation ----
17
22
  this.sessionService = inject(AXPSessionService);
18
23
  }
19
24
  async execute(input) {
@@ -23,18 +28,21 @@ class CheckPermissionActivity {
23
28
  userId: input.userId || 'current-user',
24
29
  permission: input.permission,
25
30
  };
31
+ const outcomes = hasPermission
32
+ ? { HasPermission: true }
33
+ : { NoPermission: true };
26
34
  return {
27
35
  success: true,
28
- data: output,
29
- metadata: {
30
- outcome: hasPermission ? 'HasPermission' : 'NoPermission',
36
+ data: {
37
+ output,
38
+ outcomes,
31
39
  },
32
40
  };
33
41
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CheckPermissionActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CheckPermissionActivity, providedIn: 'root' }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CheckPermissionActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CheckPermissionActivity, providedIn: 'root' }); }
36
44
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CheckPermissionActivity, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CheckPermissionActivity, decorators: [{
38
46
  type: Injectable,
39
47
  args: [{
40
48
  providedIn: 'root',
@@ -42,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
42
50
  }] });
43
51
 
44
52
  export { CheckPermissionActivity };
45
- //# sourceMappingURL=acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs.map
53
+ //# sourceMappingURL=acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs","sources":["../tmp-esm2022/mock/lib/workflow-management/commands/check-permission.command.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * CheckPermission Activity (Backend - Mock)\n *\n * Checks if a user has specific permission.\n * Mock implementation for backend/demo; in production would check against real permission system.\n *\n * Execution Mode: backend\n * Activity Type: workflow-activity:check-permission\n *\n * Outcomes:\n * - HasPermission: User has the permission\n * - NoPermission: User does not have the permission\n */\nexport class CheckPermissionActivity {\n constructor() {\n //#region ---- AXPCommand Implementation ----\n this.sessionService = inject(AXPSessionService);\n }\n async execute(input) {\n const hasPermission = this.sessionService.authorize(input.permission);\n const output = {\n hasPermission,\n userId: input.userId || 'current-user',\n permission: input.permission,\n };\n const outcomes = hasPermission\n ? { HasPermission: true }\n : { NoPermission: true };\n return {\n success: true,\n data: {\n output,\n outcomes,\n },\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: CheckPermissionActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: CheckPermissionActivity, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: CheckPermissionActivity, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stcGVybWlzc2lvbi5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvbW9jay9zcmMvbGliL3dvcmtmbG93LW1hbmFnZW1lbnQvY29tbWFuZHMvY2hlY2stcGVybWlzc2lvbi5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQXVDMUQsWUFBWTtBQUVaOzs7Ozs7Ozs7Ozs7R0FZRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFIcEM7UUFTRSxpREFBaUQ7UUFFaEMsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQWdDN0Q7SUE5QkMsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUEyQjtRQU8zQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdEUsTUFBTSxNQUFNLEdBQTBCO1lBQ3BDLGFBQWE7WUFDYixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxjQUFjO1lBQ3RDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsYUFBYTtZQUM1QixDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFO1lBQ3pCLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUUzQixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixJQUFJLEVBQUU7Z0JBQ0osTUFBTTtnQkFDTixRQUFRO2FBQ1Q7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FyQ1UsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbi8qKlxuICogSW5wdXQgZm9yIENoZWNrUGVybWlzc2lvbiBhY3Rpdml0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja1Blcm1pc3Npb25JbnB1dCB7XG4gIC8qKlxuICAgKiBQZXJtaXNzaW9uIGtleSB0byBjaGVjayAoZS5nLiwgXCJVc2Vycy5DcmVhdGVcIilcbiAgICovXG4gIHBlcm1pc3Npb246IHN0cmluZztcblxuICAvKipcbiAgICogVXNlciBJRCB0byBjaGVjayAob3B0aW9uYWwsIGRlZmF1bHRzIHRvIGN1cnJlbnQgdXNlcilcbiAgICovXG4gIHVzZXJJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXQgZm9yIENoZWNrUGVybWlzc2lvbiBhY3Rpdml0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja1Blcm1pc3Npb25PdXRwdXQge1xuICAvKipcbiAgICogV2hldGhlciB1c2VyIGhhcyB0aGUgcGVybWlzc2lvblxuICAgKi9cbiAgaGFzUGVybWlzc2lvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlciBJRCB0aGF0IHdhcyBjaGVja2VkXG4gICAqL1xuICB1c2VySWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUGVybWlzc2lvbiB0aGF0IHdhcyBjaGVja2VkXG4gICAqL1xuICBwZXJtaXNzaW9uOiBzdHJpbmc7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vKipcbiAqIENoZWNrUGVybWlzc2lvbiBBY3Rpdml0eSAoQmFja2VuZCAtIE1vY2spXG4gKlxuICogQ2hlY2tzIGlmIGEgdXNlciBoYXMgc3BlY2lmaWMgcGVybWlzc2lvbi5cbiAqIE1vY2sgaW1wbGVtZW50YXRpb24gZm9yIGJhY2tlbmQvZGVtbzsgaW4gcHJvZHVjdGlvbiB3b3VsZCBjaGVjayBhZ2FpbnN0IHJlYWwgcGVybWlzc2lvbiBzeXN0ZW0uXG4gKlxuICogRXhlY3V0aW9uIE1vZGU6IGJhY2tlbmRcbiAqIEFjdGl2aXR5IFR5cGU6IHdvcmtmbG93LWFjdGl2aXR5OmNoZWNrLXBlcm1pc3Npb25cbiAqXG4gKiBPdXRjb21lczpcbiAqIC0gSGFzUGVybWlzc2lvbjogVXNlciBoYXMgdGhlIHBlcm1pc3Npb25cbiAqIC0gTm9QZXJtaXNzaW9uOiBVc2VyIGRvZXMgbm90IGhhdmUgdGhlIHBlcm1pc3Npb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrUGVybWlzc2lvbkFjdGl2aXR5XG4gIGltcGxlbWVudHNcbiAgICBBWFBDb21tYW5kPFxuICAgICAgQ2hlY2tQZXJtaXNzaW9uSW5wdXQsXG4gICAgICB7IG91dHB1dDogQ2hlY2tQZXJtaXNzaW9uT3V0cHV0OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9XG4gICAgPiB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgQVhQQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICBhc3luYyBleGVjdXRlKFxuICAgIGlucHV0OiBDaGVja1Blcm1pc3Npb25JbnB1dFxuICApOiBQcm9taXNlPFxuICAgIEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0PHtcbiAgICAgIG91dHB1dDogQ2hlY2tQZXJtaXNzaW9uT3V0cHV0O1xuICAgICAgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgfT5cbiAgPiB7XG4gICAgY29uc3QgaGFzUGVybWlzc2lvbiA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXV0aG9yaXplKGlucHV0LnBlcm1pc3Npb24pO1xuXG4gICAgY29uc3Qgb3V0cHV0OiBDaGVja1Blcm1pc3Npb25PdXRwdXQgPSB7XG4gICAgICBoYXNQZXJtaXNzaW9uLFxuICAgICAgdXNlcklkOiBpbnB1dC51c2VySWQgfHwgJ2N1cnJlbnQtdXNlcicsXG4gICAgICBwZXJtaXNzaW9uOiBpbnB1dC5wZXJtaXNzaW9uLFxuICAgIH07XG5cbiAgICBjb25zdCBvdXRjb21lcyA9IGhhc1Blcm1pc3Npb25cbiAgICAgID8geyBIYXNQZXJtaXNzaW9uOiB0cnVlIH1cbiAgICAgIDogeyBOb1Blcm1pc3Npb246IHRydWUgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgZGF0YToge1xuICAgICAgICBvdXRwdXQsXG4gICAgICAgIG91dGNvbWVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0="],"names":[],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,uBAAuB,CAAC;AACrC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,IAAI;AACJ,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;AAC7E,QAAQ,MAAM,MAAM,GAAG;AACvB,YAAY,aAAa;AACzB,YAAY,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,cAAc;AAClD,YAAY,UAAU,EAAE,KAAK,CAAC,UAAU;AACxC,SAAS;AACT,QAAQ,MAAM,QAAQ,GAAG;AACzB,cAAc,EAAE,aAAa,EAAE,IAAI;AACnC,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE;AACpC,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,IAAI,EAAE;AAClB,gBAAgB,MAAM;AACtB,gBAAgB,QAAQ;AACxB,aAAa;AACb,SAAS;AACT,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAClK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
@@ -0,0 +1,80 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { AXPEntityStorageService } from '@acorex/platform/layout/entity';
4
+
5
+ //#endregion
6
+ /**
7
+ * Complete Signature Process Command (Backend - Mock)
8
+ *
9
+ * Completes the signature process and updates the entity record.
10
+ * This command runs on the backend and finalizes the signature workflow.
11
+ */
12
+ class AXCCompleteSignatureProcessCommand {
13
+ constructor() {
14
+ //#region ---- Services & Dependencies ----
15
+ this.storageService = inject(AXPEntityStorageService);
16
+ }
17
+ //#endregion
18
+ //#region ---- AXPCommand Implementation ----
19
+ async execute(input) {
20
+ try {
21
+ console.log(`[AXCCompleteSignatureProcessCommand] Completing signature process for ${input.refType}:${input.refId}`);
22
+ // Validate inputs
23
+ if (!input.signatureRequestId || !input.refId || !input.refType) {
24
+ throw new Error('Invalid input: signatureRequestId, refId, and refType are required');
25
+ }
26
+ // In a real implementation, this would:
27
+ // 1. Mark signature request as completed
28
+ // 2. Update entity record with signature status
29
+ // 3. Store all signatures in the entity
30
+ // 4. Update audit trail
31
+ // 5. Send completion notifications
32
+ // Mock: simulate completion
33
+ // In production, we would update the entity record:
34
+ // await this.storageService.updateOne(input.refType, input.refId, {
35
+ // signatureStatus: 'completed',
36
+ // signatureCompletedAt: new Date().toISOString(),
37
+ // });
38
+ console.log(`[AXCCompleteSignatureProcessCommand] Signature process completed successfully`);
39
+ return {
40
+ success: true,
41
+ data: {
42
+ output: {
43
+ completed: true,
44
+ },
45
+ outcomes: {
46
+ Done: true,
47
+ },
48
+ },
49
+ };
50
+ }
51
+ catch (error) {
52
+ console.error(`[AXCCompleteSignatureProcessCommand] Failed to complete signature process:`, error);
53
+ return {
54
+ success: false,
55
+ message: {
56
+ text: error.message || 'Failed to complete signature process',
57
+ },
58
+ data: {
59
+ output: {
60
+ completed: false,
61
+ },
62
+ outcomes: {
63
+ Failed: true,
64
+ },
65
+ },
66
+ };
67
+ }
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCCompleteSignatureProcessCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
70
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCCompleteSignatureProcessCommand, providedIn: 'root' }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCCompleteSignatureProcessCommand, decorators: [{
73
+ type: Injectable,
74
+ args: [{
75
+ providedIn: 'root',
76
+ }]
77
+ }] });
78
+
79
+ export { AXCCompleteSignatureProcessCommand };
80
+ //# sourceMappingURL=acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs","sources":["../tmp-esm2022/mock/lib/workflow-management/commands/complete-signature-process.command.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Complete Signature Process Command (Backend - Mock)\n *\n * Completes the signature process and updates the entity record.\n * This command runs on the backend and finalizes the signature workflow.\n */\nexport class AXCCompleteSignatureProcessCommand {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.storageService = inject(AXPEntityStorageService);\n }\n //#endregion\n //#region ---- AXPCommand Implementation ----\n async execute(input) {\n try {\n console.log(`[AXCCompleteSignatureProcessCommand] Completing signature process for ${input.refType}:${input.refId}`);\n // Validate inputs\n if (!input.signatureRequestId || !input.refId || !input.refType) {\n throw new Error('Invalid input: signatureRequestId, refId, and refType are required');\n }\n // In a real implementation, this would:\n // 1. Mark signature request as completed\n // 2. Update entity record with signature status\n // 3. Store all signatures in the entity\n // 4. Update audit trail\n // 5. Send completion notifications\n // Mock: simulate completion\n // In production, we would update the entity record:\n // await this.storageService.updateOne(input.refType, input.refId, {\n // signatureStatus: 'completed',\n // signatureCompletedAt: new Date().toISOString(),\n // });\n console.log(`[AXCCompleteSignatureProcessCommand] Signature process completed successfully`);\n return {\n success: true,\n data: {\n output: {\n completed: true,\n },\n outcomes: {\n Done: true,\n },\n },\n };\n }\n catch (error) {\n console.error(`[AXCCompleteSignatureProcessCommand] Failed to complete signature process:`, error);\n return {\n success: false,\n message: {\n text: error.message || 'Failed to complete signature process',\n },\n data: {\n output: {\n completed: false,\n },\n outcomes: {\n Failed: true,\n },\n },\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCCompleteSignatureProcessCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCCompleteSignatureProcessCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCCompleteSignatureProcessCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtc2lnbmF0dXJlLXByb2Nlc3MuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L21vY2svc3JjL2xpYi93b3JrZmxvdy1tYW5hZ2VtZW50L2NvbW1hbmRzL2NvbXBsZXRlLXNpZ25hdHVyZS1wcm9jZXNzLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWN2QyxZQUFZO0FBRVo7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8sa0NBQWtDO0lBSC9DO1FBS0UsK0NBQStDO1FBRTlCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FtRW5FO0lBakVDLFlBQVk7SUFFWixpREFBaUQ7SUFFakQsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUEyQztRQUUzQyxJQUFJLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUNULHlFQUF5RSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FDeEcsQ0FBQztZQUVGLGtCQUFrQjtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1lBQ3hGLENBQUM7WUFFRCx3Q0FBd0M7WUFDeEMseUNBQXlDO1lBQ3pDLGdEQUFnRDtZQUNoRCx3Q0FBd0M7WUFDeEMsd0JBQXdCO1lBQ3hCLG1DQUFtQztZQUVuQyw0QkFBNEI7WUFDNUIsb0RBQW9EO1lBQ3BELG9FQUFvRTtZQUNwRSxrQ0FBa0M7WUFDbEMsb0RBQW9EO1lBQ3BELE1BQU07WUFFTixPQUFPLENBQUMsR0FBRyxDQUFDLCtFQUErRSxDQUFDLENBQUM7WUFFN0YsT0FBTztnQkFDTCxPQUFPLEVBQUUsSUFBSTtnQkFDYixJQUFJLEVBQUU7b0JBQ0osTUFBTSxFQUFFO3dCQUNOLFNBQVMsRUFBRSxJQUFJO3FCQUNoQjtvQkFDRCxRQUFRLEVBQUU7d0JBQ1IsSUFBSSxFQUFFLElBQUk7cUJBQ1g7aUJBQ0Y7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyw0RUFBNEUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVuRyxPQUFPO2dCQUNMLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxzQ0FBc0M7aUJBQzlEO2dCQUNELElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLEtBQUs7cUJBQ2pCO29CQUNELFFBQVEsRUFBRTt3QkFDUixNQUFNLEVBQUUsSUFBSTtxQkFDYjtpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0FwRVUsa0NBQWtDO21IQUFsQyxrQ0FBa0MsY0FGakMsTUFBTTs7NEZBRVAsa0NBQWtDO2tCQUg5QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUENvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQVhQRW50aXR5U3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVTaWduYXR1cmVQcm9jZXNzQ29tbWFuZElucHV0IHtcbiAgc2lnbmF0dXJlUmVxdWVzdElkOiBzdHJpbmc7XG4gIHJlZklkOiBzdHJpbmc7XG4gIHJlZlR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0ZVNpZ25hdHVyZVByb2Nlc3NDb21tYW5kT3V0cHV0IHtcbiAgY29tcGxldGVkOiBib29sZWFuO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLyoqXG4gKiBDb21wbGV0ZSBTaWduYXR1cmUgUHJvY2VzcyBDb21tYW5kIChCYWNrZW5kIC0gTW9jaylcbiAqIFxuICogQ29tcGxldGVzIHRoZSBzaWduYXR1cmUgcHJvY2VzcyBhbmQgdXBkYXRlcyB0aGUgZW50aXR5IHJlY29yZC5cbiAqIFRoaXMgY29tbWFuZCBydW5zIG9uIHRoZSBiYWNrZW5kIGFuZCBmaW5hbGl6ZXMgdGhlIHNpZ25hdHVyZSB3b3JrZmxvdy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ0NvbXBsZXRlU2lnbmF0dXJlUHJvY2Vzc0NvbW1hbmRcbiAgaW1wbGVtZW50cyBBWFBDb21tYW5kPENvbXBsZXRlU2lnbmF0dXJlUHJvY2Vzc0NvbW1hbmRJbnB1dCwgeyBvdXRwdXQ6IENvbXBsZXRlU2lnbmF0dXJlUHJvY2Vzc0NvbW1hbmRPdXRwdXQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEFYUENvbW1hbmQgSW1wbGVtZW50YXRpb24gICAtLS0tXG5cbiAgYXN5bmMgZXhlY3V0ZShcbiAgICBpbnB1dDogQ29tcGxldGVTaWduYXR1cmVQcm9jZXNzQ29tbWFuZElucHV0LFxuICApOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0PHsgb3V0cHV0OiBDb21wbGV0ZVNpZ25hdHVyZVByb2Nlc3NDb21tYW5kT3V0cHV0OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFtBWENDb21wbGV0ZVNpZ25hdHVyZVByb2Nlc3NDb21tYW5kXSBDb21wbGV0aW5nIHNpZ25hdHVyZSBwcm9jZXNzIGZvciAke2lucHV0LnJlZlR5cGV9OiR7aW5wdXQucmVmSWR9YCxcbiAgICAgICk7XG5cbiAgICAgIC8vIFZhbGlkYXRlIGlucHV0c1xuICAgICAgaWYgKCFpbnB1dC5zaWduYXR1cmVSZXF1ZXN0SWQgfHwgIWlucHV0LnJlZklkIHx8ICFpbnB1dC5yZWZUeXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dDogc2lnbmF0dXJlUmVxdWVzdElkLCByZWZJZCwgYW5kIHJlZlR5cGUgYXJlIHJlcXVpcmVkJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIEluIGEgcmVhbCBpbXBsZW1lbnRhdGlvbiwgdGhpcyB3b3VsZDpcbiAgICAgIC8vIDEuIE1hcmsgc2lnbmF0dXJlIHJlcXVlc3QgYXMgY29tcGxldGVkXG4gICAgICAvLyAyLiBVcGRhdGUgZW50aXR5IHJlY29yZCB3aXRoIHNpZ25hdHVyZSBzdGF0dXNcbiAgICAgIC8vIDMuIFN0b3JlIGFsbCBzaWduYXR1cmVzIGluIHRoZSBlbnRpdHlcbiAgICAgIC8vIDQuIFVwZGF0ZSBhdWRpdCB0cmFpbFxuICAgICAgLy8gNS4gU2VuZCBjb21wbGV0aW9uIG5vdGlmaWNhdGlvbnNcblxuICAgICAgLy8gTW9jazogc2ltdWxhdGUgY29tcGxldGlvblxuICAgICAgLy8gSW4gcHJvZHVjdGlvbiwgd2Ugd291bGQgdXBkYXRlIHRoZSBlbnRpdHkgcmVjb3JkOlxuICAgICAgLy8gYXdhaXQgdGhpcy5zdG9yYWdlU2VydmljZS51cGRhdGVPbmUoaW5wdXQucmVmVHlwZSwgaW5wdXQucmVmSWQsIHtcbiAgICAgIC8vICAgc2lnbmF0dXJlU3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgIC8vICAgc2lnbmF0dXJlQ29tcGxldGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIC8vIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZyhgW0FYQ0NvbXBsZXRlU2lnbmF0dXJlUHJvY2Vzc0NvbW1hbmRdIFNpZ25hdHVyZSBwcm9jZXNzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHlgKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIG91dHB1dDoge1xuICAgICAgICAgICAgY29tcGxldGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3V0Y29tZXM6IHtcbiAgICAgICAgICAgIERvbmU6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgY29uc29sZS5lcnJvcihgW0FYQ0NvbXBsZXRlU2lnbmF0dXJlUHJvY2Vzc0NvbW1hbmRdIEZhaWxlZCB0byBjb21wbGV0ZSBzaWduYXR1cmUgcHJvY2VzczpgLCBlcnJvcik7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgdGV4dDogZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNvbXBsZXRlIHNpZ25hdHVyZSBwcm9jZXNzJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIG91dHB1dDoge1xuICAgICAgICAgICAgY29tcGxldGVkOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG91dGNvbWVzOiB7XG4gICAgICAgICAgICBGYWlsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbiJdfQ=="],"names":[],"mappings":";;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,kCAAkC,CAAC;AAChD,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC7D,IAAI;AACJ;AACA;AACA,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI;AACZ,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,sEAAsE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAChI;AACA,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAC7E,gBAAgB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC;AACrG,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,6EAA6E,CAAC,CAAC;AACxG,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB,SAAS,EAAE,IAAI;AACvC,qBAAqB;AACrB,oBAAoB,QAAQ,EAAE;AAC9B,wBAAwB,IAAI,EAAE,IAAI;AAClC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC,0EAA0E,CAAC,EAAE,KAAK,CAAC;AAC9G,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,sCAAsC;AACjF,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB,SAAS,EAAE,KAAK;AACxC,qBAAqB;AACrB,oBAAoB,QAAQ,EAAE;AAC9B,wBAAwB,MAAM,EAAE,IAAI;AACpC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACtM,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7K;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,UAAU,EAAE,CAAC;AAC7I,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
@@ -2,13 +2,7 @@ import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Injector, runInInjectionContext, Injectable } from '@angular/core';
4
4
 
5
- /**
6
- * Distribution Record Activity (Backend - Mock)
7
- *
8
- * Creates distribution records for assigned users.
9
- * Key: Distribution:Record (not workflow-activity - used by other flows)
10
- */
11
- class DistributionRecordActivity {
5
+ class AXCDistributionCommand {
12
6
  constructor() {
13
7
  this.injector = inject(Injector);
14
8
  }
@@ -35,9 +29,6 @@ class DistributionRecordActivity {
35
29
  success: true,
36
30
  message: 'Distribution records created successfully',
37
31
  },
38
- metadata: {
39
- outcome: 'Done',
40
- },
41
32
  };
42
33
  }
43
34
  catch (error) {
@@ -50,21 +41,18 @@ class DistributionRecordActivity {
50
41
  success: false,
51
42
  message: 'Failed to create distribution records',
52
43
  },
53
- metadata: {
54
- outcome: 'Failed',
55
- },
56
44
  };
57
45
  }
58
46
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DistributionRecordActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DistributionRecordActivity, providedIn: 'root' }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCDistributionCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCDistributionCommand, providedIn: 'root' }); }
61
49
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DistributionRecordActivity, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCDistributionCommand, decorators: [{
63
51
  type: Injectable,
64
52
  args: [{
65
53
  providedIn: 'root',
66
54
  }]
67
55
  }] });
68
56
 
69
- export { DistributionRecordActivity };
70
- //# sourceMappingURL=acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs.map
57
+ export { AXCDistributionCommand };
58
+ //# sourceMappingURL=acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs","sources":["../tmp-esm2022/mock/lib/workflow-management/commands/distribution-record.command.js"],"sourcesContent":["import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXCDistributionCommand {\n constructor() {\n this.injector = inject(Injector);\n }\n async execute(input) {\n const dataService = runInInjectionContext(this.injector, () => new AXMEntityCrudServiceImpl(`${input.refType}Distribution`));\n const dataServiceEntity = runInInjectionContext(this.injector, () => new AXMEntityCrudServiceImpl(input.refType));\n try {\n for (const user of input.assignedTo) {\n await dataService.insertOne({\n distributionRefId: input.refId,\n assignedId: user,\n distributionDate: new Date(),\n });\n await dataServiceEntity.updateOne(input.refId, {\n stateInfo: {\n ...(await dataServiceEntity.getOne(input.refId)).stateInfo,\n isDistributed: true,\n },\n });\n }\n return {\n success: true,\n data: {\n success: true,\n message: 'Distribution records created successfully',\n },\n };\n }\n catch (error) {\n return {\n success: false,\n message: {\n text: error instanceof Error ? error.message : 'Failed to create distribution records',\n },\n data: {\n success: false,\n message: 'Failed to create distribution records',\n },\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCDistributionCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCDistributionCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: AXCDistributionCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLXJlY29yZC5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvbW9jay9zcmMvbGliL3dvcmtmbG93LW1hbmFnZW1lbnQvY29tbWFuZHMvZGlzdHJpYnV0aW9uLXJlY29yZC5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnQnBGLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFLbUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQWlEOUM7SUEvQ0MsS0FBSyxDQUFDLE9BQU8sQ0FDWCxLQUF3QztRQUV4QyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FDdkMsSUFBSSxDQUFDLFFBQVEsRUFDYixHQUFHLEVBQUUsQ0FBQyxJQUFJLHdCQUF3QixDQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQzdFLENBQUM7UUFFRixNQUFNLGlCQUFpQixHQUFHLHFCQUFxQixDQUM3QyxJQUFJLENBQUMsUUFBUSxFQUNiLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQXdCLENBQVcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUM1RCxDQUFDO1FBRUYsSUFBSSxDQUFDO1lBQ0gsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sV0FBVyxDQUFDLFNBQVMsQ0FBQztvQkFDMUIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEtBQUs7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksRUFBRTtpQkFDN0IsQ0FBQyxDQUFDO2dCQUNILE1BQU0saUJBQWlCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7b0JBQzdDLFNBQVMsRUFBRTt3QkFDVCxHQUFHLENBQUMsTUFBTSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUzt3QkFDMUQsYUFBYSxFQUFFLElBQUk7cUJBQ3BCO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPO2dCQUNMLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsSUFBSTtvQkFDYixPQUFPLEVBQUUsMkNBQTJDO2lCQUNyRDthQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUM7aUJBQ3ZGO2dCQUNELElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsS0FBSztvQkFDZCxPQUFPLEVBQUUsdUNBQXVDO2lCQUNqRDthQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0FsRFUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBFeGVjdXRlQ29tbWFuZFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYQ0Rpc3RyaWJ1dGlvblJlY29yZENvbW1hbmRJbnB1dCB7XG4gIHJlZklkOiBzdHJpbmc7XG4gIHJlZlR5cGU6IHN0cmluZztcbiAgYXNzaWduZWRUbzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhDRGlzdHJpYnV0aW9uUmVjb3JkQ29tbWFuZE91dHB1dCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ0Rpc3RyaWJ1dGlvbkNvbW1hbmRcbiAgaW1wbGVtZW50cyBBWFBDb21tYW5kPEFYQ0Rpc3RyaWJ1dGlvblJlY29yZENvbW1hbmRJbnB1dCwgQVhDRGlzdHJpYnV0aW9uUmVjb3JkQ29tbWFuZE91dHB1dD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBhc3luYyBleGVjdXRlKFxuICAgIGlucHV0OiBBWENEaXN0cmlidXRpb25SZWNvcmRDb21tYW5kSW5wdXQsXG4gICk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ8QVhDRGlzdHJpYnV0aW9uUmVjb3JkQ29tbWFuZE91dHB1dD4+IHtcbiAgICBjb25zdCBkYXRhU2VydmljZSA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dChcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAoKSA9PiBuZXcgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPGFueSwgYW55PihgJHtpbnB1dC5yZWZUeXBlfURpc3RyaWJ1dGlvbmApLFxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhU2VydmljZUVudGl0eSA9IHJ1bkluSW5qZWN0aW9uQ29udGV4dChcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAoKSA9PiBuZXcgQVhNRW50aXR5Q3J1ZFNlcnZpY2VJbXBsPGFueSwgYW55PihpbnB1dC5yZWZUeXBlKSxcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgdXNlciBvZiBpbnB1dC5hc3NpZ25lZFRvKSB7XG4gICAgICAgIGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZSh7XG4gICAgICAgICAgZGlzdHJpYnV0aW9uUmVmSWQ6IGlucHV0LnJlZklkLFxuICAgICAgICAgIGFzc2lnbmVkSWQ6IHVzZXIsXG4gICAgICAgICAgZGlzdHJpYnV0aW9uRGF0ZTogbmV3IERhdGUoKSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IGRhdGFTZXJ2aWNlRW50aXR5LnVwZGF0ZU9uZShpbnB1dC5yZWZJZCwge1xuICAgICAgICAgIHN0YXRlSW5mbzoge1xuICAgICAgICAgICAgLi4uKGF3YWl0IGRhdGFTZXJ2aWNlRW50aXR5LmdldE9uZShpbnB1dC5yZWZJZCkpLnN0YXRlSW5mbyxcbiAgICAgICAgICAgIGlzRGlzdHJpYnV0ZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICBtZXNzYWdlOiAnRGlzdHJpYnV0aW9uIHJlY29yZHMgY3JlYXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICB0ZXh0OiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdGYWlsZWQgdG8gY3JlYXRlIGRpc3RyaWJ1dGlvbiByZWNvcmRzJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6ICdGYWlsZWQgdG8gY3JlYXRlIGRpc3RyaWJ1dGlvbiByZWNvcmRzJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0="],"names":[],"mappings":";;;;AAGO,MAAM,sBAAsB,CAAC;AACpC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxC,IAAI;AACJ,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,wBAAwB,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AACpI,QAAQ,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzH,QAAQ,IAAI;AACZ,YAAY,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE;AACjD,gBAAgB,MAAM,WAAW,CAAC,SAAS,CAAC;AAC5C,oBAAoB,iBAAiB,EAAE,KAAK,CAAC,KAAK;AAClD,oBAAoB,UAAU,EAAE,IAAI;AACpC,oBAAoB,gBAAgB,EAAE,IAAI,IAAI,EAAE;AAChD,iBAAiB,CAAC;AAClB,gBAAgB,MAAM,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;AAC/D,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,GAAG,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS;AAClF,wBAAwB,aAAa,EAAE,IAAI;AAC3C,qBAAqB;AACrB,iBAAiB,CAAC;AAClB,YAAY;AACZ,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,OAAO,EAAE,IAAI;AACjC,oBAAoB,OAAO,EAAE,2CAA2C;AACxE,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uCAAuC;AAC1G,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,OAAO,EAAE,KAAK;AAClC,oBAAoB,OAAO,EAAE,uCAAuC;AACpE,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC1L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACjK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC;AACjI,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
@@ -101,10 +101,10 @@ class GetApplicationVersionsChartDataQuery {
101
101
  return version.versionNumber.toLowerCase().includes(searchTerm);
102
102
  });
103
103
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GetApplicationVersionsChartDataQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
105
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GetApplicationVersionsChartDataQuery, providedIn: 'root' }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GetApplicationVersionsChartDataQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
105
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GetApplicationVersionsChartDataQuery, providedIn: 'root' }); }
106
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GetApplicationVersionsChartDataQuery, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GetApplicationVersionsChartDataQuery, decorators: [{
108
108
  type: Injectable,
109
109
  args: [{
110
110
  providedIn: 'root',
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
112
112
  }] });
113
113
 
114
114
  export { GetApplicationVersionsChartDataQuery };
115
- //# sourceMappingURL=acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map
115
+ //# sourceMappingURL=acorex-connectivity-mock-get-application-versions-chart-data.query-uwDUrbFJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-get-application-versions-chart-data.query-uwDUrbFJ.mjs","sources":["../tmp-esm2022/mock/lib/application-management/reports/get-application-versions-chart-data.query.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '@acorex/modules/application-management';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class GetApplicationVersionsChartDataQuery {\n constructor() {\n this.entityService = inject(AXPEntityService);\n this.appVersionService = this.entityService\n .withEntity(`${RootConfig.module.name}.${RootConfig.entities.appVersion.name}`)\n .data();\n }\n async fetch(input) {\n // Get all app versions from storage (no pagination for charts)\n const allVersionsResult = await this.appVersionService.query({\n skip: 0,\n take: 10000, // Get all versions for aggregation\n filter: input.filters && input.filters.length > 0\n ? {\n logic: input.logic || 'and',\n filters: input.filters,\n }\n : undefined,\n });\n let allVersions = allVersionsResult.items;\n // Apply custom filters after fetching\n if (input.filters) {\n for (const filter of input.filters) {\n if (filter.field === 'dateRange' && filter.value) {\n allVersions = this.applyDateRangeFilter(allVersions, filter.value);\n }\n if (filter.field === 'versionNumber' && filter.value) {\n allVersions = this.applyVersionNumberFilter(allVersions, filter.value);\n }\n }\n }\n // Group versions by month for chart aggregation\n const monthGroups = new Map();\n for (const version of allVersions) {\n const publishDate = new Date(version.publishDate);\n const year = publishDate.getFullYear();\n const month = publishDate.getMonth() + 1;\n const monthKey = `${year}-${String(month).padStart(2, '0')}`;\n if (!monthGroups.has(monthKey)) {\n monthGroups.set(monthKey, []);\n }\n monthGroups.get(monthKey).push(version);\n }\n // Aggregate data by month for chart\n const chartResults = [];\n for (const [monthKey, versions] of monthGroups.entries()) {\n const [year, month] = monthKey.split('-');\n const publishDate = new Date(parseInt(year), parseInt(month) - 1, 1);\n const monthName = publishDate.toLocaleString('en-US', { month: 'long' });\n const quarter = Math.ceil(parseInt(month) / 3);\n const quarterName = `Q${quarter}`;\n chartResults.push({\n publishDate: publishDate.toISOString(),\n month: monthName,\n year: parseInt(year),\n quarter: quarterName,\n versionCount: versions.length,\n });\n }\n // Sort by date ascending for timeline\n chartResults.sort((a, b) => {\n const dateA = new Date(a.publishDate).getTime();\n const dateB = new Date(b.publishDate).getTime();\n return dateA - dateB;\n });\n return {\n items: chartResults,\n };\n }\n //#region ---- Custom Filter Handlers ----\n /**\n * Apply date range filter to versions\n */\n applyDateRangeFilter(versions, dateRange) {\n if (!dateRange || !dateRange.start || !dateRange.end) {\n return versions;\n }\n const startDate = new Date(dateRange.start);\n const endDate = new Date(dateRange.end);\n endDate.setHours(23, 59, 59, 999); // Include the entire end date\n return versions.filter((version) => {\n const publishDate = new Date(version.publishDate);\n return publishDate >= startDate && publishDate <= endDate;\n });\n }\n /**\n * Apply version number filter to versions\n */\n applyVersionNumberFilter(versions, versionNumber) {\n if (!versionNumber) {\n return versions;\n }\n const searchTerm = versionNumber.toLowerCase().trim();\n return versions.filter((version) => {\n return version.versionNumber.toLowerCase().includes(searchTerm);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: GetApplicationVersionsChartDataQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: GetApplicationVersionsChartDataQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: GetApplicationVersionsChartDataQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFwcGxpY2F0aW9uLXZlcnNpb25zLWNoYXJ0LWRhdGEucXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9tb2NrL3NyYy9saWIvYXBwbGljYXRpb24tbWFuYWdlbWVudC9yZXBvcnRzL2dldC1hcHBsaWNhdGlvbi12ZXJzaW9ucy1jaGFydC1kYXRhLnF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUEwQnBFLFlBQVk7QUFLWixNQUFNLE9BQU8sb0NBQW9DO0lBSGpEO1FBTW1CLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWE7YUFDM0MsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDOUUsSUFBSSxFQUFvQyxDQUFDO0tBc0g3QztJQXBIQyxLQUFLLENBQUMsS0FBSyxDQUNULEtBQWdEO1FBRWhELCtEQUErRDtRQUMvRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUMzRCxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksRUFBRSxLQUFLLEVBQUUsbUNBQW1DO1lBQ2hELE1BQU0sRUFDSixLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBRTtvQkFDQyxLQUFLLEVBQUUsS0FBSyxD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QUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssd0JBQXdCLENBQzlCLFFBQW9DLEVBQ3BDLGFBQXFCO1FBRXJCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXRELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXpIVSxvQ0FBb0M7bUhBQXBDLG9DQUFvQyxjQUZuQyxNQUFNOzs0RkFFUCxvQ0FBb0M7a0JBSGhELFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBRdWVyeSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYTUFwcFZlcnNpb25FbnRpdHlNb2RlbCB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBHZXRBcHBsaWNhdGlvblZlcnNpb25zVGltZWxpbmVRdWVyeUlucHV0IH0gZnJvbSAnLi9nZXQtYXBwbGljYXRpb24tdmVyc2lvbnMtdGltZWxpbmUucXVlcnknO1xuXG4vLyNyZWdpb24gLS0tLSAgIFF1ZXJ5IElucHV0L091dHB1dCBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBcHBsaWNhdGlvblZlcnNpb25zQ2hhcnREYXRhUXVlcnlJbnB1dCB7XG4gIGZpbHRlcnM/OiBBcnJheTx7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcGVyYXRvcjogeyB0eXBlOiBzdHJpbmcgfTtcbiAgICB2YWx1ZTogYW55O1xuICB9PjtcbiAgbG9naWM/OiAnYW5kJyB8ICdvcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25WZXJzaW9uQ2hhcnREYXRhUmVzdWx0IHtcbiAgcHVibGlzaERhdGU6IHN0cmluZztcbiAgbW9udGg6IHN0cmluZztcbiAgeWVhcjogbnVtYmVyO1xuICBxdWFydGVyOiBzdHJpbmc7XG4gIHZlcnNpb25Db3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEFwcGxpY2F0aW9uVmVyc2lvbnNDaGFydERhdGFRdWVyeVJlc3VsdCB7XG4gIGl0ZW1zOiBBcHBsaWNhdGlvblZlcnNpb25DaGFydERhdGFSZXN1bHRbXTtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHZXRBcHBsaWNhdGlvblZlcnNpb25zQ2hhcnREYXRhUXVlcnlcbiAgaW1wbGVtZW50cyBBWFBRdWVyeTxHZXRBcHBsaWNhdGlvblZlcnNpb25zQ2hhcnREYXRhUXVlcnlJbnB1dCwgR2V0QXBwbGljYXRpb25WZXJzaW9uc0NoYXJ0RGF0YVF1ZXJ5UmVzdWx0Plxue1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgYXBwVmVyc2lvblNlcnZpY2UgPSB0aGlzLmVudGl0eVNlcnZpY2VcbiAgICAud2l0aEVudGl0eShgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuYXBwVmVyc2lvbi5uYW1lfWApXG4gICAgLmRhdGE8c3RyaW5nLCBBWE1BcHBWZXJzaW9uRW50aXR5TW9kZWw+KCk7XG5cbiAgYXN5bmMgZmV0Y2goXG4gICAgaW5wdXQ6IEdldEFwcGxpY2F0aW9uVmVyc2lvbnNDaGFydERhdGFRdWVyeUlucHV0XG4gICk6IFByb21pc2U8R2V0QXBwbGljYXRpb25WZXJzaW9uc0NoYXJ0RGF0YVF1ZXJ5UmVzdWx0PiB7XG4gICAgLy8gR2V0IGFsbCBhcHAgdmVyc2lvbnMgZnJvbSBzdG9yYWdlIChubyBwYWdpbmF0aW9uIGZvciBjaGFydHMpXG4gICAgY29uc3QgYWxsVmVyc2lvbnNSZXN1bHQgPSBhd2FpdCB0aGlzLmFwcFZlcnNpb25TZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgIHNraXA6IDAsXG4gICAgICB0YWtlOiAxMDAwMCwgLy8gR2V0IGFsbCB2ZXJzaW9ucyBmb3IgYWdncmVnYXRpb25cbiAgICAgIGZpbHRlcjpcbiAgICAgICAgaW5wdXQuZmlsdGVycyAmJiBpbnB1dC5maWx0ZXJzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICh7XG4gICAgICAgICAgICAgIGxvZ2ljOiBpbnB1dC5sb2dpYyB8fCAnYW5kJyxcbiAgICAgICAgICAgICAgZmlsdGVyczogaW5wdXQuZmlsdGVycyxcbiAgICAgICAgICAgIH0gYXMgYW55KVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgbGV0IGFsbFZlcnNpb25zID0gYWxsVmVyc2lvbnNSZXN1bHQuaXRlbXM7XG5cbiAgICAvLyBBcHBseSBjdXN0b20gZmlsdGVycyBhZnRlciBmZXRjaGluZ1xuICAgIGlmIChpbnB1dC5maWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBpbnB1dC5maWx0ZXJzKSB7XG4gICAgICAgIGlmIChmaWx0ZXIuZmllbGQgPT09ICdkYXRlUmFuZ2UnICYmIGZpbHRlci52YWx1ZSkge1xuICAgICAgICAgIGFsbFZlcnNpb25zID0gdGhpcy5hcHBseURhdGVSYW5nZUZpbHRlcihhbGxWZXJzaW9ucywgZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVyLmZpZWxkID09PSAndmVyc2lvbk51bWJlcicgJiYgZmlsdGVyLnZhbHVlKSB7XG4gICAgICAgICAgYWxsVmVyc2lvbnMgPSB0aGlzLmFwcGx5VmVyc2lvbk51bWJlckZpbHRlcihhbGxWZXJzaW9ucywgZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyb3VwIHZlcnNpb25zIGJ5IG1vbnRoIGZvciBjaGFydCBhZ2dyZWdhdGlvblxuICAgIGNvbnN0IG1vbnRoR3JvdXBzID0gbmV3IE1hcDxzdHJpbmcsIEFYTUFwcFZlcnNpb25FbnRpdHlNb2RlbFtdPigpO1xuXG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIG9mIGFsbFZlcnNpb25zKSB7XG4gICAgICBjb25zdCBwdWJsaXNoRGF0ZSA9IG5ldyBEYXRlKHZlcnNpb24ucHVibGlzaERhdGUpO1xuICAgICAgY29uc3QgeWVhciA9IHB1Ymxpc2hEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICBjb25zdCBtb250aCA9IHB1Ymxpc2hEYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgICAgY29uc3QgbW9udGhLZXkgPSBgJHt5ZWFyfS0ke1N0cmluZyhtb250aCkucGFkU3RhcnQoMiwgJzAnKX1gO1xuXG4gICAgICBpZiAoIW1vbnRoR3JvdXBzLmhhcyhtb250aEtleSkpIHtcbiAgICAgICAgbW9udGhHcm91cHMuc2V0KG1vbnRoS2V5LCBbXSk7XG4gICAgICB9XG5cbiAgICAgIG1vbnRoR3JvdXBzLmdldChtb250aEtleSkhLnB1c2godmVyc2lvbik7XG4gICAgfVxuXG4gICAgLy8gQWdncmVnYXRlIGRhdGEgYnkgbW9udGggZm9yIGNoYXJ0XG4gICAgY29uc3QgY2hhcnRSZXN1bHRzOiBBcHBsaWNhdGlvblZlcnNpb25DaGFydERhdGFSZXN1bHRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBbbW9udGhLZXksIHZlcnNpb25zXSBvZiBtb250aEdyb3Vwcy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IFt5ZWFyLCBtb250aF0gPSBtb250aEtleS5zcGxpdCgnLScpO1xuICAgICAgY29uc3QgcHVibGlzaERhdGUgPSBuZXcgRGF0ZShwYXJzZUludCh5ZWFyKSwgcGFyc2VJbnQobW9udGgpIC0gMSwgMSk7XG4gICAgICBjb25zdCBtb250aE5hbWUgPSBwdWJsaXNoRGF0ZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7IG1vbnRoOiAnbG9uZycgfSk7XG4gICAgICBjb25zdCBxdWFydGVyID0gTWF0aC5jZWlsKHBhcnNlSW50KG1vbnRoKSAvIDMpO1xuICAgICAgY29uc3QgcXVhcnRlck5hbWUgPSBgUSR7cXVhcnRlcn1gO1xuXG4gICAgICBjaGFydFJlc3VsdHMucHVzaCh7XG4gICAgICAgIHB1Ymxpc2hEYXRlOiBwdWJsaXNoRGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICBtb250aDogbW9udGhOYW1lLFxuICAgICAgICB5ZWFyOiBwYXJzZUludCh5ZWFyKSxcbiAgICAgICAgcXVhcnRlcjogcXVhcnRlck5hbWUsXG4gICAgICAgIHZlcnNpb25Db3VudDogdmVyc2lvbnMubGVuZ3RoLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU29ydCBieSBkYXRlIGFzY2VuZGluZyBmb3IgdGltZWxpbmVcbiAgICBjaGFydFJlc3VsdHMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgZGF0ZUEgPSBuZXcgRGF0ZShhLnB1Ymxpc2hEYXRlKS5nZXRUaW1lKCk7XG4gICAgICBjb25zdCBkYXRlQiA9IG5ldyBEYXRlKGIucHVibGlzaERhdGUpLmdldFRpbWUoKTtcbiAgICAgIHJldHVybiBkYXRlQSAtIGRhdGVCO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiBjaGFydFJlc3VsdHMsXG4gICAgfTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ3VzdG9tIEZpbHRlciBIYW5kbGVycyAgIC0tLS1cblxuICAvKipcbiAgICogQXBwbHkgZGF0ZSByYW5nZSBmaWx0ZXIgdG8gdmVyc2lvbnNcbiAgICovXG4gIHByaXZhdGUgYXBwbHlEYXRlUmFuZ2VGaWx0ZXIodmVyc2lvbnM6IEFYTUFwcFZlcnNpb25FbnRpdHlNb2RlbFtdLCBkYXRlUmFuZ2U6IGFueSk6IEFYTUFwcFZlcnNpb25FbnRpdHlNb2RlbFtdIHtcbiAgICBpZiAoIWRhdGVSYW5nZSB8fCAhZGF0ZVJhbmdlLnN0YXJ0IHx8ICFkYXRlUmFuZ2UuZW5kKSB7XG4gICAgICByZXR1cm4gdmVyc2lvbnM7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoZGF0ZVJhbmdlLnN0YXJ0KTtcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZGF0ZVJhbmdlLmVuZCk7XG4gICAgZW5kRGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpOyAvLyBJbmNsdWRlIHRoZSBlbnRpcmUgZW5kIGRhdGVcblxuICAgIHJldHVybiB2ZXJzaW9ucy5maWx0ZXIoKHZlcnNpb24pID0+IHtcbiAgICAgIGNvbnN0IHB1Ymxpc2hEYXRlID0gbmV3IERhdGUodmVyc2lvbi5wdWJsaXNoRGF0ZSk7XG4gICAgICByZXR1cm4gcHVibGlzaERhdGUgPj0gc3RhcnREYXRlICYmIHB1Ymxpc2hEYXRlIDw9IGVuZERhdGU7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgdmVyc2lvbiBudW1iZXIgZmlsdGVyIHRvIHZlcnNpb25zXG4gICAqL1xuICBwcml2YXRlIGFwcGx5VmVyc2lvbk51bWJlckZpbHRlcihcbiAgICB2ZXJzaW9uczogQVhNQXBwVmVyc2lvbkVudGl0eU1vZGVsW10sXG4gICAgdmVyc2lvbk51bWJlcjogc3RyaW5nXG4gICk6IEFYTUFwcFZlcnNpb25FbnRpdHlNb2RlbFtdIHtcbiAgICBpZiAoIXZlcnNpb25OdW1iZXIpIHtcbiAgICAgIHJldHVybiB2ZXJzaW9ucztcbiAgICB9XG5cbiAgICBjb25zdCBzZWFyY2hUZXJtID0gdmVyc2lvbk51bWJlci50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuICAgIHJldHVybiB2ZXJzaW9ucy5maWx0ZXIoKHZlcnNpb24pID0+IHtcbiAgICAgIHJldHVybiB2ZXJzaW9uLnZlcnNpb25OdW1iZXIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuXG4iXX0="],"names":[],"mappings":"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"}
@@ -149,10 +149,10 @@ class GetApplicationVersionsTimelineQuery {
149
149
  return version.versionNumber.toLowerCase().includes(searchTerm);
150
150
  });
151
151
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GetApplicationVersionsTimelineQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
153
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GetApplicationVersionsTimelineQuery, providedIn: 'root' }); }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GetApplicationVersionsTimelineQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
153
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GetApplicationVersionsTimelineQuery, providedIn: 'root' }); }
154
154
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GetApplicationVersionsTimelineQuery, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GetApplicationVersionsTimelineQuery, decorators: [{
156
156
  type: Injectable,
157
157
  args: [{
158
158
  providedIn: 'root',
@@ -160,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
160
160
  }] });
161
161
 
162
162
  export { GetApplicationVersionsTimelineQuery };
163
- //# sourceMappingURL=acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs.map
163
+ //# sourceMappingURL=acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs","sources":["../tmp-esm2022/mock/lib/application-management/reports/get-application-versions-timeline.query.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '@acorex/modules/application-management';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class GetApplicationVersionsTimelineQuery {\n constructor() {\n this.entityService = inject(AXPEntityService);\n this.appVersionService = this.entityService\n .withEntity(`${RootConfig.module.name}.${RootConfig.entities.appVersion.name}`)\n .data();\n }\n async fetch(input) {\n // Get all app versions from storage\n const allVersionsResult = await this.appVersionService.query({\n skip: 0,\n take: 10000, // Get all versions for aggregation\n filter: input.filters && input.filters.length > 0\n ? {\n logic: input.logic || 'and',\n filters: input.filters,\n }\n : undefined,\n });\n let allVersions = allVersionsResult.items;\n // Apply date range filter if provided\n if (input.filters) {\n for (const filter of input.filters) {\n if (filter.field === 'dateRange' && filter.value) {\n allVersions = this.applyDateRangeFilter(allVersions, filter.value);\n }\n if (filter.field === 'versionNumber' && filter.value) {\n allVersions = this.applyVersionNumberFilter(allVersions, filter.value);\n }\n }\n }\n // Group versions by time period (month/quarter/year)\n const periodGroups = new Map();\n for (const version of allVersions) {\n const publishDate = new Date(version.publishDate);\n const year = publishDate.getFullYear();\n const month = publishDate.getMonth() + 1;\n const quarter = Math.ceil(month / 3);\n const monthName = publishDate.toLocaleString('en-US', { month: 'long' });\n const quarterName = `Q${quarter}`;\n const periodKey = `${year}-${String(month).padStart(2, '0')}`;\n if (!periodGroups.has(periodKey)) {\n periodGroups.set(periodKey, []);\n }\n periodGroups.get(periodKey).push(version);\n }\n // Create timeline results\n const timelineResults = [];\n for (const version of allVersions) {\n const publishDate = new Date(version.publishDate);\n const year = publishDate.getFullYear();\n const month = publishDate.getMonth() + 1;\n const quarter = Math.ceil(month / 3);\n const monthName = publishDate.toLocaleString('en-US', { month: 'long' });\n const quarterName = `Q${quarter}`;\n const periodKey = `${year}-${String(month).padStart(2, '0')}`;\n const versionsInPeriod = periodGroups.get(periodKey)?.length || 0;\n timelineResults.push({\n versionNumber: version.versionNumber,\n publishDate: version.publishDate,\n publishDateObj: publishDate,\n year,\n month: monthName,\n monthNumber: month,\n quarter: quarterName,\n versionCount: versionsInPeriod,\n });\n }\n // Apply sorting if provided\n if (input.sort && input.sort.length > 0) {\n timelineResults.sort((a, b) => {\n for (const sortField of input.sort) {\n const field = sortField.field;\n const aValue = a[field];\n const bValue = b[field];\n const dir = sortField.dir === 'asc' ? 1 : -1;\n // Handle undefined values\n if (aValue === undefined && bValue === undefined)\n continue;\n if (aValue === undefined)\n return 1 * dir;\n if (bValue === undefined)\n return -1 * dir;\n // Handle date comparison\n if (field === 'publishDateObj') {\n const aDate = a.publishDateObj.getTime();\n const bDate = b.publishDateObj.getTime();\n if (aDate < bDate)\n return -1 * dir;\n if (aDate > bDate)\n return 1 * dir;\n continue;\n }\n if (aValue < bValue)\n return -1 * dir;\n if (aValue > bValue)\n return 1 * dir;\n }\n return 0;\n });\n }\n else {\n // Default sort by publish date descending (newest first)\n timelineResults.sort((a, b) => {\n return b.publishDateObj.getTime() - a.publishDateObj.getTime();\n });\n }\n // Apply pagination\n const skip = input.skip || 0;\n const take = input.take || 10;\n const total = timelineResults.length;\n const items = timelineResults.slice(skip, skip + take);\n return {\n items,\n total,\n };\n }\n //#region ---- Custom Filter Handlers ----\n /**\n * Apply date range filter to versions\n */\n applyDateRangeFilter(versions, dateRange) {\n if (!dateRange || !dateRange.start || !dateRange.end) {\n return versions;\n }\n const startDate = new Date(dateRange.start);\n const endDate = new Date(dateRange.end);\n endDate.setHours(23, 59, 59, 999); // Include the entire end date\n return versions.filter((version) => {\n const publishDate = new Date(version.publishDate);\n return publishDate >= startDate && publishDate <= endDate;\n });\n }\n /**\n * Apply version number filter to versions\n */\n applyVersionNumberFilter(versions, versionNumber) {\n if (!versionNumber) {\n return versions;\n }\n const searchTerm = versionNumber.toLowerCase().trim();\n return versions.filter((version) => {\n return version.versionNumber.toLowerCase().includes(searchTerm);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: GetApplicationVersionsTimelineQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: GetApplicationVersionsTimelineQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.19\", ngImport: i0, type: GetApplicationVersionsTimelineQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFwcGxpY2F0aW9uLXZlcnNpb25zLXRpbWVsaW5lLnF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvbW9jay9zcmMvbGliL2FwcGxpY2F0aW9uLW1hbmFnZW1lbnQvcmVwb3J0cy9nZXQtYXBwbGljYXRpb24tdmVyc2lvbnMtdGltZWxpbmUucXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQWdDcEUsWUFBWTtBQUtaLE1BQU0sT0FBTyxtQ0FBbUM7SUFIaEQ7UUFPbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYTthQUMzQyxVQUFVLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUM5RSxJQUFJLEVBQW9DLENBQUM7S0FpSzdDO0lBL0pDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBK0M7UUFDekQsb0NBQW9DO1FBQ3BDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLEtBQUssRUFBRSxtQ0FBbUM7WUFDaEQsTUFBTSxFQUNKLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDdkMsQ0FBQyxDQUFFO29CQUNELEtBQUssRUFBRSxLQUFLLENBQUMs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TyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDakMsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcktVLG1DQUFtQzttSEFBbkMsbUNBQW1DLGNBRmxDLE1BQU07OzRGQUVQLG1DQUFtQztrQkFIL0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhNQXBwVmVyc2lvbkVudGl0eU1vZGVsIH0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL2FwcGxpY2F0aW9uLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50JztcblxuLy8jcmVnaW9uIC0tLS0gICBRdWVyeSBJbnB1dC9PdXRwdXQgVHlwZXMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QXBwbGljYXRpb25WZXJzaW9uc1RpbWVsaW5lUXVlcnlJbnB1dCB7XG4gIHNraXA/OiBudW1iZXI7XG4gIHRha2U/OiBudW1iZXI7XG4gIHNvcnQ/OiBBcnJheTx7IGZpZWxkOiBzdHJpbmc7IGRpcjogJ2FzYycgfCAnZGVzYycgfT47XG4gIGZpbHRlcnM/OiBBcnJheTx7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcGVyYXRvcjogeyB0eXBlOiBzdHJpbmcgfTtcbiAgICB2YWx1ZTogYW55O1xuICB9PjtcbiAgbG9naWM/OiAnYW5kJyB8ICdvcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25WZXJzaW9uVGltZWxpbmVSZXN1bHQge1xuICB2ZXJzaW9uTnVtYmVyOiBzdHJpbmc7XG4gIHB1Ymxpc2hEYXRlOiBzdHJpbmc7XG4gIHB1Ymxpc2hEYXRlT2JqOiBEYXRlO1xuICB5ZWFyOiBudW1iZXI7XG4gIG1vbnRoOiBzdHJpbmc7XG4gIG1vbnRoTnVtYmVyOiBudW1iZXI7XG4gIHF1YXJ0ZXI6IHN0cmluZztcbiAgdmVyc2lvbkNvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QXBwbGljYXRpb25WZXJzaW9uc1RpbWVsaW5lUXVlcnlSZXN1bHQge1xuICBpdGVtczogQXBwbGljYXRpb25WZXJzaW9uVGltZWxpbmVSZXN1bHRbXTtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHZXRBcHBsaWNhdGlvblZlcnNpb25zVGltZWxpbmVRdWVyeVxuICBpbXBsZW1lbnRzIEFYUFF1ZXJ5PEdldEFwcGxpY2F0aW9uVmVyc2lvbnNUaW1lbGluZVF1ZXJ5SW5wdXQsIEdldEFwcGxpY2F0aW9uVmVyc2lvbnNUaW1lbGluZVF1ZXJ5UmVzdWx0PiB7XG5cblxuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgYXBwVmVyc2lvblNlcnZpY2UgPSB0aGlzLmVudGl0eVNlcnZpY2VcbiAgICAud2l0aEVudGl0eShgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuYXBwVmVyc2lvbi5uYW1lfWApXG4gICAgLmRhdGE8c3RyaW5nLCBBWE1BcHBWZXJzaW9uRW50aXR5TW9kZWw+KCk7XG5cbiAgYXN5bmMgZmV0Y2goaW5wdXQ6IEdldEFwcGxpY2F0aW9uVmVyc2lvbnNUaW1lbGluZVF1ZXJ5SW5wdXQpOiBQcm9taXNlPEdldEFwcGxpY2F0aW9uVmVyc2lvbnNUaW1lbGluZVF1ZXJ5UmVzdWx0PiB7XG4gICAgLy8gR2V0IGFsbCBhcHAgdmVyc2lvbnMgZnJvbSBzdG9yYWdlXG4gICAgY29uc3QgYWxsVmVyc2lvbnNSZXN1bHQgPSBhd2FpdCB0aGlzLmFwcFZlcnNpb25TZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgIHNraXA6IDAsXG4gICAgICB0YWtlOiAxMDAwMCwgLy8gR2V0IGFsbCB2ZXJzaW9ucyBmb3IgYWdncmVnYXRpb25cbiAgICAgIGZpbHRlcjpcbiAgICAgICAgaW5wdXQuZmlsdGVycyAmJiBpbnB1dC5maWx0ZXJzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICh7XG4gICAgICAgICAgICBsb2dpYzogaW5wdXQubG9naWMgfHwgJ2FuZCcsXG4gICAgICAgICAgICBmaWx0ZXJzOiBpbnB1dC5maWx0ZXJzLFxuICAgICAgICAgIH0gYXMgYW55KVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgbGV0IGFsbFZlcnNpb25zID0gYWxsVmVyc2lvbnNSZXN1bHQuaXRlbXM7XG5cbiAgICAvLyBBcHBseSBkYXRlIHJhbmdlIGZpbHRlciBpZiBwcm92aWRlZFxuICAgIGlmIChpbnB1dC5maWx0ZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBpbnB1dC5maWx0ZXJzKSB7XG4gICAgICAgIGlmIChmaWx0ZXIuZmllbGQgPT09ICdkYXRlUmFuZ2UnICYmIGZpbHRlci52YWx1ZSkge1xuICAgICAgICAgIGFsbFZlcnNpb25zID0gdGhpcy5hcHBseURhdGVSYW5nZUZpbHRlcihhbGxWZXJzaW9ucywgZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVyLmZpZWxkID09PSAndmVyc2lvbk51bWJlcicgJiYgZmlsdGVyLnZhbHVlKSB7XG4gICAgICAgICAgYWxsVmVyc2lvbnMgPSB0aGlzLmFwcGx5VmVyc2lvbk51bWJlckZpbHRlcihhbGxWZXJzaW9ucywgZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyb3VwIHZlcnNpb25zIGJ5IHRpbWUgcGVyaW9kIChtb250aC9xdWFydGVyL3llYXIpXG4gICAgY29uc3QgcGVyaW9kR3JvdXBzID0gbmV3IE1hcDxzdHJpbmcsIEFYTUFwcFZlcnNpb25FbnRpdHlNb2RlbFtdPigpO1xuXG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIG9mIGFsbFZlcnNpb25zKSB7XG4gICAgICBjb25zdCBwdWJsaXNoRGF0ZSA9IG5ldyBEYXRlKHZlcnNpb24ucHVibGlzaERhdGUpO1xuICAgICAgY29uc3QgeWVhciA9IHB1Ymxpc2hEYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICBjb25zdCBtb250aCA9IHB1Ymxpc2hEYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgICAgY29uc3QgcXVhcnRlciA9IE1hdGguY2VpbChtb250aCAvIDMpO1xuICAgICAgY29uc3QgbW9udGhOYW1lID0gcHVibGlzaERhdGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywgeyBtb250aDogJ2xvbmcnIH0pO1xuICAgICAgY29uc3QgcXVhcnRlck5hbWUgPSBgUSR7cXVhcnRlcn1gO1xuICAgICAgY29uc3QgcGVyaW9kS2V5ID0gYCR7eWVhcn0tJHtTdHJpbmcobW9udGgpLnBhZFN0YXJ0KDIsICcwJyl9YDtcblxuICAgICAgaWYgKCFwZXJpb2RHcm91cHMuaGFzKHBlcmlvZEtleSkpIHtcbiAgICAgICAgcGVyaW9kR3JvdXBzLnNldChwZXJpb2RLZXksIFtdKTtcbiAgICAgIH1cblxuICAgICAgcGVyaW9kR3JvdXBzLmdldChwZXJpb2RLZXkpIS5wdXNoKHZlcnNpb24pO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSB0aW1lbGluZSByZXN1bHRzXG4gICAgY29uc3QgdGltZWxpbmVSZXN1bHRzOiBBcHBsaWNhdGlvblZlcnNpb25UaW1lbGluZVJlc3VsdFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gb2YgYWxsVmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHB1Ymxpc2hEYXRlID0gbmV3IERhdGUodmVyc2lvbi5wdWJsaXNoRGF0ZSk7XG4gICAgICBjb25zdCB5ZWFyID0gcHVibGlzaERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgIGNvbnN0IG1vbnRoID0gcHVibGlzaERhdGUuZ2V0TW9udGgoKSArIDE7XG4gICAgICBjb25zdCBxdWFydGVyID0gTWF0aC5jZWlsKG1vbnRoIC8gMyk7XG4gICAgICBjb25zdCBtb250aE5hbWUgPSBwdWJsaXNoRGF0ZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7IG1vbnRoOiAnbG9uZycgfSk7XG4gICAgICBjb25zdCBxdWFydGVyTmFtZSA9IGBRJHtxdWFydGVyfWA7XG4gICAgICBjb25zdCBwZXJpb2RLZXkgPSBgJHt5ZWFyfS0ke1N0cmluZyhtb250aCkucGFkU3RhcnQoMiwgJzAnKX1gO1xuXG4gICAgICBjb25zdCB2ZXJzaW9uc0luUGVyaW9kID0gcGVyaW9kR3JvdXBzLmdldChwZXJpb2RLZXkpPy5sZW5ndGggfHwgMDtcblxuICAgICAgdGltZWxpbmVSZXN1bHRzLnB1c2goe1xuICAgICAgICB2ZXJzaW9uTnVtYmVyOiB2ZXJzaW9uLnZlcnNpb25OdW1iZXIsXG4gICAgICAgIHB1Ymxpc2hEYXRlOiB2ZXJzaW9uLnB1Ymxpc2hEYXRlLFxuICAgICAgICBwdWJsaXNoRGF0ZU9iajogcHVibGlzaERhdGUsXG4gICAgICAgIHllYXIsXG4gICAgICAgIG1vbnRoOiBtb250aE5hbWUsXG4gICAgICAgIG1vbnRoTnVtYmVyOiBtb250aCxcbiAgICAgICAgcXVhcnRlcjogcXVhcnRlck5hbWUsXG4gICAgICAgIHZlcnNpb25Db3VudDogdmVyc2lvbnNJblBlcmlvZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFwcGx5IHNvcnRpbmcgaWYgcHJvdmlkZWRcbiAgICBpZiAoaW5wdXQuc29ydCAmJiBpbnB1dC5zb3J0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRpbWVsaW5lUmVzdWx0cy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3Qgc29ydEZpZWxkIG9mIGlucHV0LnNvcnQhKSB7XG4gICAgICAgICAgY29uc3QgZmllbGQgPSBzb3J0RmllbGQuZmllbGQgYXMga2V5b2YgQXBwbGljYXRpb25WZXJzaW9uVGltZWxpbmVSZXN1bHQ7XG4gICAgICAgICAgY29uc3QgYVZhbHVlID0gYVtmaWVsZF07XG4gICAgICAgICAgY29uc3QgYlZhbHVlID0gYltmaWVsZF07XG4gICAgICAgICAgY29uc3QgZGlyID0gc29ydEZpZWxkLmRpciA9PT0gJ2FzYycgPyAxIDogLTE7XG5cbiAgICAgICAgICAvLyBIYW5kbGUgdW5kZWZpbmVkIHZhbHVlc1xuICAgICAgICAgIGlmIChhVmFsdWUgPT09IHVuZGVmaW5lZCAmJiBiVmFsdWUgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG4gICAgICAgICAgaWYgKGFWYWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMSAqIGRpcjtcbiAgICAgICAgICBpZiAoYlZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiAtMSAqIGRpcjtcblxuICAgICAgICAgIC8vIEhhbmRsZSBkYXRlIGNvbXBhcmlzb25cbiAgICAgICAgICBpZiAoZmllbGQgPT09ICdwdWJsaXNoRGF0ZU9iaicpIHtcbiAgICAgICAgICAgIGNvbnN0IGFEYXRlID0gYS5wdWJsaXNoRGF0ZU9iai5nZXRUaW1lKCk7XG4gICAgICAgICAgICBjb25zdCBiRGF0ZSA9IGIucHVibGlzaERhdGVPYmouZ2V0VGltZSgpO1xuICAgICAgICAgICAgaWYgKGFEYXRlIDwgYkRhdGUpIHJldHVybiAtMSAqIGRpcjtcbiAgICAgICAgICAgIGlmIChhRGF0ZSA+IGJEYXRlKSByZXR1cm4gMSAqIGRpcjtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChhVmFsdWUgPCBiVmFsdWUpIHJldHVybiAtMSAqIGRpcjtcbiAgICAgICAgICBpZiAoYVZhbHVlID4gYlZhbHVlKSByZXR1cm4gMSAqIGRpcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBEZWZhdWx0IHNvcnQgYnkgcHVibGlzaCBkYXRlIGRlc2NlbmRpbmcgKG5ld2VzdCBmaXJzdClcbiAgICAgIHRpbWVsaW5lUmVzdWx0cy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiBiLnB1Ymxpc2hEYXRlT2JqLmdldFRpbWUoKSAtIGEucHVibGlzaERhdGVPYmouZ2V0VGltZSgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgcGFnaW5hdGlvblxuICAgIGNvbnN0IHNraXAgPSBpbnB1dC5za2lwIHx8IDA7XG4gICAgY29uc3QgdGFrZSA9IGlucHV0LnRha2UgfHwgMTA7XG4gICAgY29uc3QgdG90YWwgPSB0aW1lbGluZVJlc3VsdHMubGVuZ3RoO1xuICAgIGNvbnN0IGl0ZW1zID0gdGltZWxpbmVSZXN1bHRzLnNsaWNlKHNraXAsIHNraXAgKyB0YWtlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpdGVtcyxcbiAgICAgIHRvdGFsLFxuICAgIH07XG4gIH1cblxuICAvLyNyZWdpb24gLS0tLSAgIEN1c3RvbSBGaWx0ZXIgSGFuZGxlcnMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEFwcGx5IGRhdGUgcmFuZ2UgZmlsdGVyIHRvIHZlcnNpb25zXG4gICAqL1xuICBwcml2YXRlIGFwcGx5RGF0ZVJhbmdlRmlsdGVyKHZlcnNpb25zOiBBWE1BcHBWZXJzaW9uRW50aXR5TW9kZWxbXSwgZGF0ZVJhbmdlOiBhbnkpOiBBWE1BcHBWZXJzaW9uRW50aXR5TW9kZWxbXSB7XG4gICAgaWYgKCFkYXRlUmFuZ2UgfHwgIWRhdGVSYW5nZS5zdGFydCB8fCAhZGF0ZVJhbmdlLmVuZCkge1xuICAgICAgcmV0dXJuIHZlcnNpb25zO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKGRhdGVSYW5nZS5zdGFydCk7XG4gICAgY29uc3QgZW5kRGF0ZSA9IG5ldyBEYXRlKGRhdGVSYW5nZS5lbmQpO1xuICAgIGVuZERhdGUuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTsgLy8gSW5jbHVkZSB0aGUgZW50aXJlIGVuZCBkYXRlXG5cbiAgICByZXR1cm4gdmVyc2lvbnMuZmlsdGVyKCh2ZXJzaW9uKSA9PiB7XG4gICAgICBjb25zdCBwdWJsaXNoRGF0ZSA9IG5ldyBEYXRlKHZlcnNpb24ucHVibGlzaERhdGUpO1xuICAgICAgcmV0dXJuIHB1Ymxpc2hEYXRlID49IHN0YXJ0RGF0ZSAmJiBwdWJsaXNoRGF0ZSA8PSBlbmREYXRlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IHZlcnNpb24gbnVtYmVyIGZpbHRlciB0byB2ZXJzaW9uc1xuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVZlcnNpb25OdW1iZXJGaWx0ZXIoXG4gICAgdmVyc2lvbnM6IEFYTUFwcFZlcnNpb25FbnRpdHlNb2RlbFtdLFxuICAgIHZlcnNpb25OdW1iZXI6IHN0cmluZ1xuICApOiBBWE1BcHBWZXJzaW9uRW50aXR5TW9kZWxbXSB7XG4gICAgaWYgKCF2ZXJzaW9uTnVtYmVyKSB7XG4gICAgICByZXR1cm4gdmVyc2lvbnM7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHZlcnNpb25OdW1iZXIudG9Mb3dlckNhc2UoKS50cmltKCk7XG5cbiAgICByZXR1cm4gdmVyc2lvbnMuZmlsdGVyKCh2ZXJzaW9uKSA9PiB7XG4gICAgICByZXR1cm4gdmVyc2lvbi52ZXJzaW9uTnVtYmVyLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cblxuIl19"],"names":[],"mappings":"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"}