@acorex/connectivity 21.0.0-next.3 → 21.0.0-next.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/fesm2022/{acorex-connectivity-api-execute.command-SGNBLcOi.mjs → acorex-connectivity-api-execute.command-CiBl7z_H.mjs} +6 -6
  2. package/fesm2022/acorex-connectivity-api-execute.command-CiBl7z_H.mjs.map +1 -0
  3. package/fesm2022/acorex-connectivity-api.mjs +101 -185
  4. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  5. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-BpUUTZOi.mjs +65873 -0
  6. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-BpUUTZOi.mjs.map +1 -0
  7. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-DTPM1eU1.mjs +79 -0
  8. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-DTPM1eU1.mjs.map +1 -0
  9. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs +198 -0
  10. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs.map +1 -0
  11. package/fesm2022/{acorex-connectivity-mock-category-with-items.query-Dsxj98tX.mjs → acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs} +4 -4
  12. package/fesm2022/acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs.map +1 -0
  13. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-BA0r4IMn.mjs +114 -0
  14. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-BA0r4IMn.mjs.map +1 -0
  15. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-B5-8a7SC.mjs +130 -0
  16. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-B5-8a7SC.mjs.map +1 -0
  17. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-BGzXvTnh.mjs +110 -0
  18. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-BGzXvTnh.mjs.map +1 -0
  19. package/fesm2022/acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs +45 -0
  20. package/fesm2022/acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs.map +1 -0
  21. package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs +56 -0
  22. package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs.map +1 -0
  23. package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs +968 -0
  24. package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs.map +1 -0
  25. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs +16 -0
  26. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs.map +1 -0
  27. package/fesm2022/{acorex-connectivity-mock-distribution-record.command-DRiDwlqN.mjs → acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs} +18 -6
  28. package/fesm2022/acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs.map +1 -0
  29. package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs +60 -0
  30. package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs.map +1 -0
  31. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs +60 -0
  32. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs.map +1 -0
  33. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs +67 -0
  34. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs.map +1 -0
  35. package/fesm2022/acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs +70 -0
  36. package/fesm2022/acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs.map +1 -0
  37. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs +64 -0
  38. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs.map +1 -0
  39. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs +115 -0
  40. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map +1 -0
  41. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs +163 -0
  42. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs.map +1 -0
  43. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-C6S4ZJgp.mjs +35 -0
  44. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-C6S4ZJgp.mjs.map +1 -0
  45. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs +69 -0
  46. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs.map +1 -0
  47. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs +213 -0
  48. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs.map +1 -0
  49. package/fesm2022/acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs +209 -0
  50. package/fesm2022/acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs.map +1 -0
  51. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs +186 -0
  52. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs.map +1 -0
  53. package/fesm2022/acorex-connectivity-mock-get-product-list.query-B06aC73T.mjs +251 -0
  54. package/fesm2022/acorex-connectivity-mock-get-product-list.query-B06aC73T.mjs.map +1 -0
  55. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-CM7bsjl7.mjs +192 -0
  56. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-CM7bsjl7.mjs.map +1 -0
  57. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-BQT5a_hn.mjs +56 -0
  58. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-BQT5a_hn.mjs.map +1 -0
  59. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs +246 -0
  60. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs.map +1 -0
  61. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-n1_Azada.mjs +258 -0
  62. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-n1_Azada.mjs.map +1 -0
  63. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-Cg4ykZU2.mjs +56 -0
  64. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-Cg4ykZU2.mjs.map +1 -0
  65. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs +294 -0
  66. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs.map +1 -0
  67. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-rD811gtM.mjs +212 -0
  68. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-rD811gtM.mjs.map +1 -0
  69. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs +35 -0
  70. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs.map +1 -0
  71. package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs +49 -0
  72. package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs.map +1 -0
  73. package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs +60 -0
  74. package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs.map +1 -0
  75. package/fesm2022/{acorex-connectivity-mock-sample.command-CkH5bmEs.mjs → acorex-connectivity-mock-sample.command-CJmDL4pL.mjs} +4 -4
  76. package/fesm2022/acorex-connectivity-mock-sample.command-CJmDL4pL.mjs.map +1 -0
  77. package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs +38 -0
  78. package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs.map +1 -0
  79. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs +61 -0
  80. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs.map +1 -0
  81. package/fesm2022/acorex-connectivity-mock.mjs +1 -51504
  82. package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
  83. package/fesm2022/acorex-connectivity-utils.mjs +7 -7
  84. package/fesm2022/acorex-connectivity-utils.mjs.map +1 -1
  85. package/fesm2022/acorex-connectivity.mjs.map +1 -1
  86. package/package.json +8 -7
  87. package/{api/index.d.ts → types/acorex-connectivity-api.d.ts} +1 -59
  88. package/types/acorex-connectivity-mock.d.ts +3951 -0
  89. package/fesm2022/acorex-connectivity-api-execute.command-SGNBLcOi.mjs.map +0 -1
  90. package/fesm2022/acorex-connectivity-mock-category-with-items.query-Dsxj98tX.mjs.map +0 -1
  91. package/fesm2022/acorex-connectivity-mock-distribution-record.command-DRiDwlqN.mjs.map +0 -1
  92. package/fesm2022/acorex-connectivity-mock-sample.command-CkH5bmEs.mjs.map +0 -1
  93. package/mock/index.d.ts +0 -2775
  94. /package/{utils/index.d.ts → types/acorex-connectivity-utils.d.ts} +0 -0
  95. /package/{index.d.ts → types/acorex-connectivity.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,16 @@
1
+ var name = "content-management";
2
+ var title = "Content Management";
3
+ var icon = "fa-light fa-file-invoice";
4
+ var i18n = "content-management";
5
+ var aggregates = [
6
+ ];
7
+ var contentManagement_module = {
8
+ name: name,
9
+ title: title,
10
+ icon: icon,
11
+ i18n: i18n,
12
+ aggregates: aggregates
13
+ };
14
+
15
+ export { aggregates, contentManagement_module as default, i18n, icon, name, title };
16
+ //# sourceMappingURL=acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -2,7 +2,13 @@ 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
- class AXCDistributionCommand {
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 {
6
12
  constructor() {
7
13
  this.injector = inject(Injector);
8
14
  }
@@ -29,6 +35,9 @@ class AXCDistributionCommand {
29
35
  success: true,
30
36
  message: 'Distribution records created successfully',
31
37
  },
38
+ metadata: {
39
+ outcome: 'Done',
40
+ },
32
41
  };
33
42
  }
34
43
  catch (error) {
@@ -41,18 +50,21 @@ class AXCDistributionCommand {
41
50
  success: false,
42
51
  message: 'Failed to create distribution records',
43
52
  },
53
+ metadata: {
54
+ outcome: 'Failed',
55
+ },
44
56
  };
45
57
  }
46
58
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXCDistributionCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXCDistributionCommand, providedIn: 'root' }); }
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' }); }
49
61
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXCDistributionCommand, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DistributionRecordActivity, decorators: [{
51
63
  type: Injectable,
52
64
  args: [{
53
65
  providedIn: 'root',
54
66
  }]
55
67
  }] });
56
68
 
57
- export { AXCDistributionCommand };
58
- //# sourceMappingURL=acorex-connectivity-mock-distribution-record.command-DRiDwlqN.mjs.map
69
+ export { DistributionRecordActivity };
70
+ //# sourceMappingURL=acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs","sources":["../../../../libs/connectivity/mock/src/lib/workflow-management/activities/distribution-record.activity.ts"],"sourcesContent":["import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';\n\nexport interface DistributionRecordInput {\n refId: string;\n refType: string;\n assignedTo: string[];\n}\n\nexport interface DistributionRecordOutput {\n success: boolean;\n message: string;\n}\n\n/**\n * Distribution Record Activity (Backend - Mock)\n *\n * Creates distribution records for assigned users.\n * Key: Distribution:Record (not workflow-activity - used by other flows)\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DistributionRecordActivity\n implements AXPCommand<DistributionRecordInput, DistributionRecordOutput> {\n private readonly injector = inject(Injector);\n\n async execute(\n input: DistributionRecordInput,\n ): Promise<AXPExecuteCommandResult<DistributionRecordOutput>> {\n const dataService = runInInjectionContext(\n this.injector,\n () => new AXMEntityCrudServiceImpl<any, any>(`${input.refType}Distribution`),\n );\n\n const dataServiceEntity = runInInjectionContext(\n this.injector,\n () => new AXMEntityCrudServiceImpl<any, any>(input.refType),\n );\n\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 metadata: {\n outcome: 'Done',\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 metadata: {\n outcome: 'Failed',\n },\n };\n }\n }\n}\n"],"names":[],"mappings":";;;;AAgBA;;;;;AAKG;MAIU,0BAA0B,CAAA;AAHvC,IAAA,WAAA,GAAA;AAKmB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAuD7C,IAAA;IArDC,MAAM,OAAO,CACX,KAA8B,EAAA;QAE9B,MAAM,WAAW,GAAG,qBAAqB,CACvC,IAAI,CAAC,QAAQ,EACb,MAAM,IAAI,wBAAwB,CAAW,CAAA,EAAG,KAAK,CAAC,OAAO,CAAA,YAAA,CAAc,CAAC,CAC7E;AAED,QAAA,MAAM,iBAAiB,GAAG,qBAAqB,CAC7C,IAAI,CAAC,QAAQ,EACb,MAAM,IAAI,wBAAwB,CAAW,KAAK,CAAC,OAAO,CAAC,CAC5D;AAED,QAAA,IAAI;AACF,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE;gBACnC,MAAM,WAAW,CAAC,SAAS,CAAC;oBAC1B,iBAAiB,EAAE,KAAK,CAAC,KAAK;AAC9B,oBAAA,UAAU,EAAE,IAAI;oBAChB,gBAAgB,EAAE,IAAI,IAAI,EAAE;AAC7B,iBAAA,CAAC;AACF,gBAAA,MAAM,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;AAC7C,oBAAA,SAAS,EAAE;AACT,wBAAA,GAAG,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS;AAC1D,wBAAA,aAAa,EAAE,IAAI;AACpB,qBAAA;AACF,iBAAA,CAAC;YACJ;YACA,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,OAAO,EAAE,2CAA2C;AACrD,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA,OAAO,EAAE,MAAM;AAChB,iBAAA;aACF;QACH;QAAE,OAAO,KAAK,EAAE;YACd,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uCAAuC;AACvF,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,uCAAuC;AACjD,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA,OAAO,EAAE,QAAQ;AAClB,iBAAA;aACF;QACH;IACF;8GAxDW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;2FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;;;"}
@@ -0,0 +1,60 @@
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
+ * Entity Create Activity (Mock – Dexie)
8
+ *
9
+ * Inserts one entity into storage (Dexie in mock).
10
+ * Activity type: workflow-activity:entity-create
11
+ * Outcomes: Done | Failed
12
+ */
13
+ class EntityCreateActivity {
14
+ constructor() {
15
+ this.storage = inject(AXPEntityStorageService);
16
+ }
17
+ async execute(input) {
18
+ try {
19
+ if (!input?.entity) {
20
+ return {
21
+ success: false,
22
+ message: { text: 'entity is required' },
23
+ data: { id: '', success: false, error: 'entity is required' },
24
+ metadata: { outcome: 'Failed' },
25
+ };
26
+ }
27
+ if (!input.data || typeof input.data !== 'object') {
28
+ return {
29
+ success: false,
30
+ message: { text: 'data is required' },
31
+ data: { id: '', success: false, error: 'data is required' },
32
+ metadata: { outcome: 'Failed' },
33
+ };
34
+ }
35
+ const id = await this.storage.insertOne(input.entity, input.data);
36
+ return {
37
+ success: true,
38
+ data: { id, success: true },
39
+ metadata: { outcome: 'Done' },
40
+ };
41
+ }
42
+ catch (error) {
43
+ return {
44
+ success: false,
45
+ message: { text: error?.message ?? 'Create failed' },
46
+ data: { id: '', success: false, error: error?.message ?? 'Create failed' },
47
+ metadata: { outcome: 'Failed' },
48
+ };
49
+ }
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityCreateActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityCreateActivity, providedIn: 'root' }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityCreateActivity, decorators: [{
55
+ type: Injectable,
56
+ args: [{ providedIn: 'root' }]
57
+ }] });
58
+
59
+ export { EntityCreateActivity };
60
+ //# sourceMappingURL=acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs","sources":["../../../../libs/connectivity/mock/src/lib/workflow-management/activities/entity-create.activity.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\n\n//#region ---- Types ----\n\nexport interface EntityCreateInput {\n entity: string;\n data: Record<string, any>;\n}\n\nexport interface EntityCreateOutput {\n id: string;\n success: boolean;\n error?: string;\n}\n\n//#endregion\n\n/**\n * Entity Create Activity (Mock – Dexie)\n *\n * Inserts one entity into storage (Dexie in mock).\n * Activity type: workflow-activity:entity-create\n * Outcomes: Done | Failed\n */\n@Injectable({ providedIn: 'root' })\nexport class EntityCreateActivity implements AXPCommand<EntityCreateInput, EntityCreateOutput> {\n private readonly storage = inject(AXPEntityStorageService);\n\n async execute(\n input: EntityCreateInput,\n ): Promise<AXPExecuteCommandResult<EntityCreateOutput>> {\n try {\n if (!input?.entity) {\n return {\n success: false,\n message: { text: 'entity is required' },\n data: { id: '', success: false, error: 'entity is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n if (!input.data || typeof input.data !== 'object') {\n return {\n success: false,\n message: { text: 'data is required' },\n data: { id: '', success: false, error: 'data is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const id = await this.storage.insertOne(input.entity, input.data as any);\n\n return {\n success: true,\n data: { id, success: true },\n metadata: { outcome: 'Done' },\n };\n } catch (error: any) {\n return {\n success: false,\n message: { text: error?.message ?? 'Create failed' },\n data: { id: '', success: false, error: error?.message ?? 'Create failed' },\n metadata: { outcome: 'Failed' },\n };\n }\n }\n}\n"],"names":[],"mappings":";;;;AAkBA;AAEA;;;;;;AAMG;MAEU,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAuC3D,IAAA;IArCC,MAAM,OAAO,CACX,KAAwB,EAAA;AAExB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBAClB,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;AACvC,oBAAA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE;AAC7D,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACjD,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;AACrC,oBAAA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;AAC3D,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AAEA,YAAA,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAW,CAAC;YAExE,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC3B,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC9B;QACH;QAAE,OAAO,KAAU,EAAE;YACnB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;AACpD,gBAAA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;AAC1E,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAChC;QACH;IACF;8GAvCW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
@@ -0,0 +1,60 @@
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
+ * Entity Delete Activity (Mock – Dexie)
8
+ *
9
+ * Deletes one entity from storage (Dexie in mock).
10
+ * Activity type: workflow-activity:entity-delete
11
+ * Outcomes: Done | Failed
12
+ */
13
+ class EntityDeleteActivity {
14
+ constructor() {
15
+ this.storage = inject(AXPEntityStorageService);
16
+ }
17
+ async execute(input) {
18
+ try {
19
+ if (!input?.entity) {
20
+ return {
21
+ success: false,
22
+ message: { text: 'entity is required' },
23
+ data: { success: false, error: 'entity is required' },
24
+ metadata: { outcome: 'Failed' },
25
+ };
26
+ }
27
+ if (!input?.id) {
28
+ return {
29
+ success: false,
30
+ message: { text: 'id is required' },
31
+ data: { success: false, error: 'id is required' },
32
+ metadata: { outcome: 'Failed' },
33
+ };
34
+ }
35
+ await this.storage.deleteOne(input.entity, input.id);
36
+ return {
37
+ success: true,
38
+ data: { success: true },
39
+ metadata: { outcome: 'Done' },
40
+ };
41
+ }
42
+ catch (error) {
43
+ return {
44
+ success: false,
45
+ message: { text: error?.message ?? 'Delete failed' },
46
+ data: { success: false, error: error?.message ?? 'Delete failed' },
47
+ metadata: { outcome: 'Failed' },
48
+ };
49
+ }
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityDeleteActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityDeleteActivity, providedIn: 'root' }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityDeleteActivity, decorators: [{
55
+ type: Injectable,
56
+ args: [{ providedIn: 'root' }]
57
+ }] });
58
+
59
+ export { EntityDeleteActivity };
60
+ //# sourceMappingURL=acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs","sources":["../../../../libs/connectivity/mock/src/lib/workflow-management/activities/entity-delete.activity.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\n\n//#region ---- Types ----\n\nexport interface EntityDeleteInput {\n entity: string;\n id: string;\n}\n\nexport interface EntityDeleteOutput {\n success: boolean;\n error?: string;\n}\n\n//#endregion\n\n/**\n * Entity Delete Activity (Mock – Dexie)\n *\n * Deletes one entity from storage (Dexie in mock).\n * Activity type: workflow-activity:entity-delete\n * Outcomes: Done | Failed\n */\n@Injectable({ providedIn: 'root' })\nexport class EntityDeleteActivity implements AXPCommand<EntityDeleteInput, EntityDeleteOutput> {\n private readonly storage = inject(AXPEntityStorageService);\n\n async execute(\n input: EntityDeleteInput,\n ): Promise<AXPExecuteCommandResult<EntityDeleteOutput>> {\n try {\n if (!input?.entity) {\n return {\n success: false,\n message: { text: 'entity is required' },\n data: { success: false, error: 'entity is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n if (!input?.id) {\n return {\n success: false,\n message: { text: 'id is required' },\n data: { success: false, error: 'id is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n await this.storage.deleteOne(input.entity, input.id);\n\n return {\n success: true,\n data: { success: true },\n metadata: { outcome: 'Done' },\n };\n } catch (error: any) {\n return {\n success: false,\n message: { text: error?.message ?? 'Delete failed' },\n data: { success: false, error: error?.message ?? 'Delete failed' },\n metadata: { outcome: 'Failed' },\n };\n }\n }\n}\n"],"names":[],"mappings":";;;;AAiBA;AAEA;;;;;;AAMG;MAEU,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAuC3D,IAAA;IArCC,MAAM,OAAO,CACX,KAAwB,EAAA;AAExB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBAClB,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;oBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE;AACrD,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AACA,YAAA,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE;gBACd,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;AACjD,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AAEA,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAEpD,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC9B;QACH;QAAE,OAAO,KAAU,EAAE;YACnB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;AACpD,gBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;AAClE,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAChC;QACH;IACF;8GAvCW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
@@ -0,0 +1,67 @@
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
+ * Entity Read Activity (Mock – Dexie)
8
+ *
9
+ * Loads one entity by id from storage (Dexie in mock).
10
+ * Activity type: workflow-activity:entity-read
11
+ * Outcomes: Done | NotFound | Failed
12
+ */
13
+ class EntityReadActivity {
14
+ constructor() {
15
+ this.storage = inject(AXPEntityStorageService);
16
+ }
17
+ async execute(input) {
18
+ try {
19
+ if (!input?.entity) {
20
+ return {
21
+ success: false,
22
+ message: { text: 'entity is required' },
23
+ data: { data: null, success: false, error: 'entity is required' },
24
+ metadata: { outcome: 'Failed' },
25
+ };
26
+ }
27
+ if (!input?.id) {
28
+ return {
29
+ success: false,
30
+ message: { text: 'id is required' },
31
+ data: { data: null, success: false, error: 'id is required' },
32
+ metadata: { outcome: 'Failed' },
33
+ };
34
+ }
35
+ const data = await this.storage.getOne(input.entity, input.id);
36
+ if (data == null) {
37
+ return {
38
+ success: true,
39
+ data: { data: null, success: false, error: 'Not found' },
40
+ metadata: { outcome: 'NotFound' },
41
+ };
42
+ }
43
+ return {
44
+ success: true,
45
+ data: { data, success: true },
46
+ metadata: { outcome: 'Done' },
47
+ };
48
+ }
49
+ catch (error) {
50
+ return {
51
+ success: false,
52
+ message: { text: error?.message ?? 'Read failed' },
53
+ data: { data: null, success: false, error: error?.message ?? 'Read failed' },
54
+ metadata: { outcome: 'Failed' },
55
+ };
56
+ }
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityReadActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
59
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityReadActivity, providedIn: 'root' }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityReadActivity, decorators: [{
62
+ type: Injectable,
63
+ args: [{ providedIn: 'root' }]
64
+ }] });
65
+
66
+ export { EntityReadActivity };
67
+ //# sourceMappingURL=acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs","sources":["../../../../libs/connectivity/mock/src/lib/workflow-management/activities/entity-read.activity.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\n\n//#region ---- Types ----\n\nexport interface EntityReadInput {\n entity: string;\n id: string;\n}\n\nexport interface EntityReadOutput {\n data: any;\n success: boolean;\n error?: string;\n}\n\n//#endregion\n\n/**\n * Entity Read Activity (Mock – Dexie)\n *\n * Loads one entity by id from storage (Dexie in mock).\n * Activity type: workflow-activity:entity-read\n * Outcomes: Done | NotFound | Failed\n */\n@Injectable({ providedIn: 'root' })\nexport class EntityReadActivity implements AXPCommand<EntityReadInput, EntityReadOutput> {\n private readonly storage = inject(AXPEntityStorageService);\n\n async execute(\n input: EntityReadInput,\n ): Promise<AXPExecuteCommandResult<EntityReadOutput>> {\n try {\n if (!input?.entity) {\n return {\n success: false,\n message: { text: 'entity is required' },\n data: { data: null, success: false, error: 'entity is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n if (!input?.id) {\n return {\n success: false,\n message: { text: 'id is required' },\n data: { data: null, success: false, error: 'id is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const data = await this.storage.getOne(input.entity, input.id);\n\n if (data == null) {\n return {\n success: true,\n data: { data: null, success: false, error: 'Not found' },\n metadata: { outcome: 'NotFound' },\n };\n }\n\n return {\n success: true,\n data: { data, success: true },\n metadata: { outcome: 'Done' },\n };\n } catch (error: any) {\n return {\n success: false,\n message: { text: error?.message ?? 'Read failed' },\n data: { data: null, success: false, error: error?.message ?? 'Read failed' },\n metadata: { outcome: 'Failed' },\n };\n }\n }\n}\n"],"names":[],"mappings":";;;;AAkBA;AAEA;;;;;;AAMG;MAEU,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC;AA+C3D,IAAA;IA7CC,MAAM,OAAO,CACX,KAAsB,EAAA;AAEtB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBAClB,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;AACvC,oBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE;AACjE,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AACA,YAAA,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE;gBACd,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;AACnC,oBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;AAC7D,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AAEA,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;AAE9D,YAAA,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO;AACL,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;AACxD,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;iBAClC;YACH;YAEA,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;AAC7B,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC9B;QACH;QAAE,OAAO,KAAU,EAAE;YACnB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE;AAClD,gBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE;AAC5E,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAChC;QACH;IACF;8GA/CW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA;;2FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
@@ -0,0 +1,70 @@
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
+ * Entity Update Activity (Mock – Dexie)
8
+ *
9
+ * Updates one entity in storage (Dexie in mock).
10
+ * Activity type: workflow-activity:entity-update
11
+ * Outcomes: Done | Failed
12
+ */
13
+ class EntityUpdateActivity {
14
+ constructor() {
15
+ this.storage = inject(AXPEntityStorageService);
16
+ }
17
+ async execute(input) {
18
+ debugger;
19
+ console.log('EntityUpdateActivity', input);
20
+ try {
21
+ if (!input?.entity) {
22
+ return {
23
+ success: false,
24
+ message: { text: 'entity is required' },
25
+ data: { data: null, success: false, error: 'entity is required' },
26
+ metadata: { outcome: 'Failed' },
27
+ };
28
+ }
29
+ if (!input?.id) {
30
+ return {
31
+ success: false,
32
+ message: { text: 'id is required' },
33
+ data: { data: null, success: false, error: 'id is required' },
34
+ metadata: { outcome: 'Failed' },
35
+ };
36
+ }
37
+ if (!input.data || typeof input.data !== 'object') {
38
+ return {
39
+ success: false,
40
+ message: { text: 'data is required' },
41
+ data: { data: null, success: false, error: 'data is required' },
42
+ metadata: { outcome: 'Failed' },
43
+ };
44
+ }
45
+ const updated = await this.storage.updateOne(input.entity, input.id, input.data);
46
+ return {
47
+ success: true,
48
+ data: { data: updated, success: true },
49
+ metadata: { outcome: 'Done' },
50
+ };
51
+ }
52
+ catch (error) {
53
+ return {
54
+ success: false,
55
+ message: { text: error?.message ?? 'Update failed' },
56
+ data: { data: null, success: false, error: error?.message ?? 'Update failed' },
57
+ metadata: { outcome: 'Failed' },
58
+ };
59
+ }
60
+ }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityUpdateActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityUpdateActivity, providedIn: 'root' }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EntityUpdateActivity, decorators: [{
65
+ type: Injectable,
66
+ args: [{ providedIn: 'root' }]
67
+ }] });
68
+
69
+ export { EntityUpdateActivity };
70
+ //# sourceMappingURL=acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs","sources":["../../../../libs/connectivity/mock/src/lib/workflow-management/activities/entity-update.activity.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\n\n//#region ---- Types ----\n\nexport interface EntityUpdateInput {\n entity: string;\n id: string;\n data: Record<string, any>;\n}\n\nexport interface EntityUpdateOutput {\n data: any;\n success: boolean;\n error?: string;\n}\n\n//#endregion\n\n/**\n * Entity Update Activity (Mock – Dexie)\n *\n * Updates one entity in storage (Dexie in mock).\n * Activity type: workflow-activity:entity-update\n * Outcomes: Done | Failed\n */\n@Injectable({ providedIn: 'root' })\nexport class EntityUpdateActivity implements AXPCommand<EntityUpdateInput, EntityUpdateOutput> {\n private readonly storage = inject(AXPEntityStorageService);\n\n async execute(\n input: EntityUpdateInput,\n ): Promise<AXPExecuteCommandResult<EntityUpdateOutput>> {\n\n debugger;\n console.log('EntityUpdateActivity', input);\n \n\n try {\n if (!input?.entity) {\n return {\n success: false,\n message: { text: 'entity is required' },\n data: { data: null, success: false, error: 'entity is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n if (!input?.id) {\n return {\n success: false,\n message: { text: 'id is required' },\n data: { data: null, success: false, error: 'id is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n if (!input.data || typeof input.data !== 'object') {\n return {\n success: false,\n message: { text: 'data is required' },\n data: { data: null, success: false, error: 'data is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const updated = await this.storage.updateOne(input.entity, input.id, input.data as any);\n\n return {\n success: true,\n data: { data: updated, success: true },\n metadata: { outcome: 'Done' },\n };\n } catch (error: any) {\n return {\n success: false,\n message: { text: error?.message ?? 'Update failed' },\n data: { data: null, success: false, error: error?.message ?? 'Update failed' },\n metadata: { outcome: 'Failed' },\n };\n }\n }\n}\n"],"names":[],"mappings":";;;;AAmBA;AAEA;;;;;;AAMG;MAEU,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAoD3D,IAAA;IAlDC,MAAM,OAAO,CACX,KAAwB,EAAA;AAGxB,QAAA;AACA,QAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAG1C,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBAClB,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;AACvC,oBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE;AACjE,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AACA,YAAA,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE;gBACd,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;AACnC,oBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE;AAC7D,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACjD,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;AACrC,oBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;AAC/D,oBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAChC;YACH;YAEA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAW,CAAC;YAEvF,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACtC,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC9B;QACH;QAAE,OAAO,KAAU,EAAE;YACnB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;AACpD,gBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;AAC9E,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aAChC;QACH;IACF;8GApDW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
@@ -0,0 +1,64 @@
1
+ import { AXPAiEngine, AXPAiChatToolRunContextService } from '@acorex/modules/ai-management';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, Injectable } from '@angular/core';
4
+
5
+ function parseExtractInput(args) {
6
+ const obj = args != null && typeof args === 'object' && !Array.isArray(args)
7
+ ? args
8
+ : null;
9
+ if (!obj) {
10
+ return { ok: false, error: 'Invalid arguments: expected an object.' };
11
+ }
12
+ const fileId = typeof obj['fileId'] === 'string' ? obj['fileId'].trim() : '';
13
+ if (!fileId) {
14
+ return { ok: false, error: 'Invalid arguments: "fileId" is required.' };
15
+ }
16
+ const instruction = typeof obj['instruction'] === 'string' ? obj['instruction'].trim() : undefined;
17
+ return { ok: true, fileId, ...(instruction ? { instruction } : {}) };
18
+ }
19
+ class AiManagementExtractDocumentTextCommand {
20
+ constructor() {
21
+ this.engine = inject(AXPAiEngine);
22
+ this.runContext = inject(AXPAiChatToolRunContextService);
23
+ }
24
+ async execute(input) {
25
+ const ctx = this.runContext.getContext();
26
+ const parsed = parseExtractInput(input);
27
+ if (!parsed.ok) {
28
+ return { success: false, message: { text: parsed.error } };
29
+ }
30
+ const assistId = ctx?.assistId?.trim() ?? input.assistId?.trim();
31
+ const chatTransport = ctx?.chatTransport ?? input.chatTransport;
32
+ const modelEntityId = ctx?.modelEntityId ?? input.modelEntityId;
33
+ if (!assistId || !chatTransport) {
34
+ return {
35
+ success: false,
36
+ message: {
37
+ text: 'Document extraction requires assist id and chat transport (active chat context or input fields).',
38
+ },
39
+ };
40
+ }
41
+ try {
42
+ const data = await this.engine.extractDocumentTextFromStoredFile({
43
+ assistId,
44
+ chatTransport,
45
+ modelEntityId,
46
+ fileId: parsed.fileId,
47
+ instruction: parsed.instruction,
48
+ });
49
+ return { success: true, data };
50
+ }
51
+ catch (e) {
52
+ const msg = e instanceof Error ? e.message : String(e);
53
+ return { success: false, message: { text: msg } };
54
+ }
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AiManagementExtractDocumentTextCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
57
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AiManagementExtractDocumentTextCommand }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AiManagementExtractDocumentTextCommand, decorators: [{
60
+ type: Injectable
61
+ }] });
62
+
63
+ export { AiManagementExtractDocumentTextCommand };
64
+ //# sourceMappingURL=acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs","sources":["../../../../libs/connectivity/mock/src/lib/ai-management/commands/extract-document-text.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXPAiChatTransport } from '@acorex/modules/ai-management';\nimport { AXPAiChatToolRunContextService } from '@acorex/modules/ai-management';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPAiEngine } from '@acorex/modules/ai-management';\n\nimport type { AXCAiEngine } from '../ai-agent-engine.mock';\n\n//#endregion\n\n//#region ---- Command ----\n\nexport interface AiManagementExtractDocumentTextInput {\n fileId?: string;\n instruction?: string;\n /** When not in an AI chat run context (e.g. document metadata prefill). */\n assistId?: string;\n chatTransport?: AXPAiChatTransport;\n modelEntityId?: string;\n}\n\nfunction parseExtractInput(args: unknown):\n | { ok: true; fileId: string; instruction?: string }\n | { ok: false; error: string } {\n const obj =\n args != null && typeof args === 'object' && !Array.isArray(args)\n ? (args as Record<string, unknown>)\n : null;\n if (!obj) {\n return { ok: false, error: 'Invalid arguments: expected an object.' };\n }\n const fileId = typeof obj['fileId'] === 'string' ? obj['fileId'].trim() : '';\n if (!fileId) {\n return { ok: false, error: 'Invalid arguments: \"fileId\" is required.' };\n }\n const instruction = typeof obj['instruction'] === 'string' ? obj['instruction'].trim() : undefined;\n return { ok: true, fileId, ...(instruction ? { instruction } : {}) };\n}\n\n@Injectable()\nexport class AiManagementExtractDocumentTextCommand\n implements AXPCommand<AiManagementExtractDocumentTextInput, { text: string }>\n{\n private readonly engine = inject(AXPAiEngine) as AXCAiEngine;\n private readonly runContext = inject(AXPAiChatToolRunContextService);\n\n async execute(\n input: AiManagementExtractDocumentTextInput,\n ): Promise<AXPExecuteCommandResult<{ text: string }>> {\n const ctx = this.runContext.getContext();\n const parsed = parseExtractInput(input);\n if (!parsed.ok) {\n return { success: false, message: { text: parsed.error } };\n }\n\n const assistId = ctx?.assistId?.trim() ?? input.assistId?.trim();\n const chatTransport = ctx?.chatTransport ?? input.chatTransport;\n const modelEntityId = ctx?.modelEntityId ?? input.modelEntityId;\n\n if (!assistId || !chatTransport) {\n return {\n success: false,\n message: {\n text: 'Document extraction requires assist id and chat transport (active chat context or input fields).',\n },\n };\n }\n\n try {\n const data = await this.engine.extractDocumentTextFromStoredFile({\n assistId,\n chatTransport,\n modelEntityId,\n fileId: parsed.fileId,\n instruction: parsed.instruction,\n });\n return { success: true, data };\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n return { success: false, message: { text: msg } };\n }\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { AXPEntityService } from '@acorex/platform/layout/entity';
4
+ import { RootConfig } from '@acorex/modules/application-management';
5
+
6
+ //#endregion
7
+ class GetApplicationVersionsChartDataQuery {
8
+ constructor() {
9
+ this.entityService = inject(AXPEntityService);
10
+ this.appVersionService = this.entityService
11
+ .withEntity(`${RootConfig.module.name}.${RootConfig.entities.appVersion.name}`)
12
+ .data();
13
+ }
14
+ async fetch(input) {
15
+ // Get all app versions from storage (no pagination for charts)
16
+ const allVersionsResult = await this.appVersionService.query({
17
+ skip: 0,
18
+ take: 10000, // Get all versions for aggregation
19
+ filter: input.filters && input.filters.length > 0
20
+ ? {
21
+ logic: input.logic || 'and',
22
+ filters: input.filters,
23
+ }
24
+ : undefined,
25
+ });
26
+ let allVersions = allVersionsResult.items;
27
+ // Apply custom filters after fetching
28
+ if (input.filters) {
29
+ for (const filter of input.filters) {
30
+ if (filter.field === 'dateRange' && filter.value) {
31
+ allVersions = this.applyDateRangeFilter(allVersions, filter.value);
32
+ }
33
+ if (filter.field === 'versionNumber' && filter.value) {
34
+ allVersions = this.applyVersionNumberFilter(allVersions, filter.value);
35
+ }
36
+ }
37
+ }
38
+ // Group versions by month for chart aggregation
39
+ const monthGroups = new Map();
40
+ for (const version of allVersions) {
41
+ const publishDate = new Date(version.publishDate);
42
+ const year = publishDate.getFullYear();
43
+ const month = publishDate.getMonth() + 1;
44
+ const monthKey = `${year}-${String(month).padStart(2, '0')}`;
45
+ if (!monthGroups.has(monthKey)) {
46
+ monthGroups.set(monthKey, []);
47
+ }
48
+ monthGroups.get(monthKey).push(version);
49
+ }
50
+ // Aggregate data by month for chart
51
+ const chartResults = [];
52
+ for (const [monthKey, versions] of monthGroups.entries()) {
53
+ const [year, month] = monthKey.split('-');
54
+ const publishDate = new Date(parseInt(year), parseInt(month) - 1, 1);
55
+ const monthName = publishDate.toLocaleString('en-US', { month: 'long' });
56
+ const quarter = Math.ceil(parseInt(month) / 3);
57
+ const quarterName = `Q${quarter}`;
58
+ chartResults.push({
59
+ publishDate: publishDate.toISOString(),
60
+ month: monthName,
61
+ year: parseInt(year),
62
+ quarter: quarterName,
63
+ versionCount: versions.length,
64
+ });
65
+ }
66
+ // Sort by date ascending for timeline
67
+ chartResults.sort((a, b) => {
68
+ const dateA = new Date(a.publishDate).getTime();
69
+ const dateB = new Date(b.publishDate).getTime();
70
+ return dateA - dateB;
71
+ });
72
+ return {
73
+ items: chartResults,
74
+ };
75
+ }
76
+ //#region ---- Custom Filter Handlers ----
77
+ /**
78
+ * Apply date range filter to versions
79
+ */
80
+ applyDateRangeFilter(versions, dateRange) {
81
+ if (!dateRange || !dateRange.start || !dateRange.end) {
82
+ return versions;
83
+ }
84
+ const startDate = new Date(dateRange.start);
85
+ const endDate = new Date(dateRange.end);
86
+ endDate.setHours(23, 59, 59, 999); // Include the entire end date
87
+ return versions.filter((version) => {
88
+ const publishDate = new Date(version.publishDate);
89
+ return publishDate >= startDate && publishDate <= endDate;
90
+ });
91
+ }
92
+ /**
93
+ * Apply version number filter to versions
94
+ */
95
+ applyVersionNumberFilter(versions, versionNumber) {
96
+ if (!versionNumber) {
97
+ return versions;
98
+ }
99
+ const searchTerm = versionNumber.toLowerCase().trim();
100
+ return versions.filter((version) => {
101
+ return version.versionNumber.toLowerCase().includes(searchTerm);
102
+ });
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' }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GetApplicationVersionsChartDataQuery, decorators: [{
108
+ type: Injectable,
109
+ args: [{
110
+ providedIn: 'root',
111
+ }]
112
+ }] });
113
+
114
+ export { GetApplicationVersionsChartDataQuery };
115
+ //# sourceMappingURL=acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs","sources":["../../../../libs/connectivity/mock/src/lib/application-management/reports/get-application-versions-chart-data.query.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPQuery } from '@acorex/platform/runtime';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXMAppVersionEntityModel } from '@acorex/modules/application-management';\nimport { RootConfig } from '@acorex/modules/application-management';\nimport { GetApplicationVersionsTimelineQueryInput } from './get-application-versions-timeline.query';\n\n//#region ---- Query Input/Output Types ----\n\nexport interface GetApplicationVersionsChartDataQueryInput {\n filters?: Array<{\n field: string;\n operator: { type: string };\n value: any;\n }>;\n logic?: 'and' | 'or';\n}\n\nexport interface ApplicationVersionChartDataResult {\n publishDate: string;\n month: string;\n year: number;\n quarter: string;\n versionCount: number;\n}\n\nexport interface GetApplicationVersionsChartDataQueryResult {\n items: ApplicationVersionChartDataResult[];\n}\n\n//#endregion\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GetApplicationVersionsChartDataQuery\n implements AXPQuery<GetApplicationVersionsChartDataQueryInput, GetApplicationVersionsChartDataQueryResult>\n{\n private readonly entityService = inject(AXPEntityService);\n private appVersionService = this.entityService\n .withEntity(`${RootConfig.module.name}.${RootConfig.entities.appVersion.name}`)\n .data<string, AXMAppVersionEntityModel>();\n\n async fetch(\n input: GetApplicationVersionsChartDataQueryInput\n ): Promise<GetApplicationVersionsChartDataQueryResult> {\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:\n input.filters && input.filters.length > 0\n ? ({\n logic: input.logic || 'and',\n filters: input.filters,\n } as any)\n : undefined,\n });\n\n let allVersions = allVersionsResult.items;\n\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\n // Group versions by month for chart aggregation\n const monthGroups = new Map<string, AXMAppVersionEntityModel[]>();\n\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\n if (!monthGroups.has(monthKey)) {\n monthGroups.set(monthKey, []);\n }\n\n monthGroups.get(monthKey)!.push(version);\n }\n\n // Aggregate data by month for chart\n const chartResults: ApplicationVersionChartDataResult[] = [];\n\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\n chartResults.push({\n publishDate: publishDate.toISOString(),\n month: monthName,\n year: parseInt(year),\n quarter: quarterName,\n versionCount: versions.length,\n });\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\n return {\n items: chartResults,\n };\n }\n\n //#region ---- Custom Filter Handlers ----\n\n /**\n * Apply date range filter to versions\n */\n private applyDateRangeFilter(versions: AXMAppVersionEntityModel[], dateRange: any): AXMAppVersionEntityModel[] {\n if (!dateRange || !dateRange.start || !dateRange.end) {\n return versions;\n }\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\n return versions.filter((version) => {\n const publishDate = new Date(version.publishDate);\n return publishDate >= startDate && publishDate <= endDate;\n });\n }\n\n /**\n * Apply version number filter to versions\n */\n private applyVersionNumberFilter(\n versions: AXMAppVersionEntityModel[],\n versionNumber: string\n ): AXMAppVersionEntityModel[] {\n if (!versionNumber) {\n return versions;\n }\n\n const searchTerm = versionNumber.toLowerCase().trim();\n\n return versions.filter((version) => {\n return version.versionNumber.toLowerCase().includes(searchTerm);\n });\n }\n\n //#endregion\n}\n\n"],"names":[],"mappings":"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"}