@acorex/connectivity 20.8.23 → 20.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/fesm2022/{acorex-connectivity-api-execute.command-D2Q0ahw4.mjs → acorex-connectivity-api-execute.command-CjCFEav4.mjs} +16 -6
  2. package/fesm2022/acorex-connectivity-api-execute.command-CjCFEav4.mjs.map +1 -0
  3. package/fesm2022/acorex-connectivity-api.mjs +202 -47
  4. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  5. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-g0RVU1Og.mjs +90679 -0
  6. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-g0RVU1Og.mjs.map +1 -0
  7. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-CTrrsAvF.mjs +288 -0
  8. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-CTrrsAvF.mjs.map +1 -0
  9. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CIof4zTg.mjs +200 -0
  10. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CIof4zTg.mjs.map +1 -0
  11. package/fesm2022/{acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs → acorex-connectivity-mock-category-with-items.query-DAKUJIIt.mjs} +18 -17
  12. package/fesm2022/acorex-connectivity-mock-category-with-items.query-DAKUJIIt.mjs.map +1 -0
  13. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CSbgiZEm.mjs +110 -0
  14. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CSbgiZEm.mjs.map +1 -0
  15. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-CjdySQzM.mjs +120 -0
  16. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-CjdySQzM.mjs.map +1 -0
  17. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-Wm1Ao81s.mjs +120 -0
  18. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-Wm1Ao81s.mjs.map +1 -0
  19. package/fesm2022/{acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs → acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs} +8 -16
  20. package/fesm2022/acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs.map +1 -0
  21. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs +16 -0
  22. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs.map +1 -0
  23. package/fesm2022/{acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs → acorex-connectivity-mock-distribution-record.activity-a1_k9Czb.mjs} +29 -14
  24. package/fesm2022/acorex-connectivity-mock-distribution-record.activity-a1_k9Czb.mjs.map +1 -0
  25. package/fesm2022/acorex-connectivity-mock-entity-create.activity-CdoUzUvF.mjs +67 -0
  26. package/fesm2022/acorex-connectivity-mock-entity-create.activity-CdoUzUvF.mjs.map +1 -0
  27. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs +60 -0
  28. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs.map +1 -0
  29. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs +67 -0
  30. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs.map +1 -0
  31. package/fesm2022/acorex-connectivity-mock-entity-update.activity-06HTKiQQ.mjs +68 -0
  32. package/fesm2022/acorex-connectivity-mock-entity-update.activity-06HTKiQQ.mjs.map +1 -0
  33. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs +64 -0
  34. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs.map +1 -0
  35. package/fesm2022/{acorex-connectivity-mock-get-application-versions-chart-data.query-uwDUrbFJ.mjs → acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs} +4 -4
  36. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map +1 -0
  37. package/fesm2022/{acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs → acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs} +4 -4
  38. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs.map +1 -0
  39. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-CsmxwXsM.mjs +39 -0
  40. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-CsmxwXsM.mjs.map +1 -0
  41. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs +69 -0
  42. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs.map +1 -0
  43. package/fesm2022/{acorex-connectivity-mock-get-employee-list.query-Ch-Vh5GE.mjs → acorex-connectivity-mock-get-employee-list.query-BWbZj3tp.mjs} +8 -7
  44. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-BWbZj3tp.mjs.map +1 -0
  45. package/fesm2022/{acorex-connectivity-mock-get-location-list.query-Xbc6d8kb.mjs → acorex-connectivity-mock-get-location-list.query-CQ2rFDUM.mjs} +5 -5
  46. package/fesm2022/acorex-connectivity-mock-get-location-list.query-CQ2rFDUM.mjs.map +1 -0
  47. package/fesm2022/{acorex-connectivity-mock-get-product-chart-data.query-m8_ME45B.mjs → acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs} +4 -4
  48. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs.map +1 -0
  49. package/fesm2022/{acorex-connectivity-mock-get-product-list.query-DzkssYRw.mjs → acorex-connectivity-mock-get-product-list.query-o9TcY_RC.mjs} +20 -12
  50. package/fesm2022/acorex-connectivity-mock-get-product-list.query-o9TcY_RC.mjs.map +1 -0
  51. package/fesm2022/{acorex-connectivity-mock-get-product-pdf-data.query-wMD65pwR.mjs → acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs} +5 -5
  52. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs.map +1 -0
  53. package/fesm2022/{acorex-connectivity-mock-get-subscriptions-chart-data.query-DBOT_0IN.mjs → acorex-connectivity-mock-get-subscriptions-chart-data.query-BXDzY2Sd.mjs} +5 -5
  54. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-BXDzY2Sd.mjs.map +1 -0
  55. package/fesm2022/{acorex-connectivity-mock-get-subscriptions-timeline.query-DBEEbeiS.mjs → acorex-connectivity-mock-get-subscriptions-timeline.query-D_jVT-7a.mjs} +6 -6
  56. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D_jVT-7a.mjs.map +1 -0
  57. package/fesm2022/{acorex-connectivity-mock-get-tenant-application-access.query-BM9toJ45.mjs → acorex-connectivity-mock-get-tenant-application-access.query-BG6t0137.mjs} +6 -6
  58. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BG6t0137.mjs.map +1 -0
  59. package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-chart-data.query-CACCBXn-.mjs → acorex-connectivity-mock-get-tenant-registration-chart-data.query-CgMZxfzh.mjs} +5 -5
  60. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-CgMZxfzh.mjs.map +1 -0
  61. package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-timeline.query-CfDjhtaC.mjs → acorex-connectivity-mock-get-tenant-registration-timeline.query-COmTsDCV.mjs} +5 -5
  62. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-COmTsDCV.mjs.map +1 -0
  63. package/fesm2022/{acorex-connectivity-mock-get-tenant-user-distribution.query-CZXvavUh.mjs → acorex-connectivity-mock-get-tenant-user-distribution.query-gqSqvIaa.mjs} +6 -6
  64. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-gqSqvIaa.mjs.map +1 -0
  65. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs +35 -0
  66. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs.map +1 -0
  67. package/fesm2022/acorex-connectivity-mock-index-D0jdkk2E.mjs +99 -0
  68. package/fesm2022/acorex-connectivity-mock-index-D0jdkk2E.mjs.map +1 -0
  69. package/fesm2022/acorex-connectivity-mock-jira-instance-sync.command-CaOd4PJa.mjs +474 -0
  70. package/fesm2022/acorex-connectivity-mock-jira-instance-sync.command-CaOd4PJa.mjs.map +1 -0
  71. package/fesm2022/acorex-connectivity-mock-notification-management-email-send.command-BuH_Lm6V.mjs +72 -0
  72. package/fesm2022/acorex-connectivity-mock-notification-management-email-send.command-BuH_Lm6V.mjs.map +1 -0
  73. package/fesm2022/acorex-connectivity-mock-report-summary.util-CGOhHIZr.mjs +56 -0
  74. package/fesm2022/acorex-connectivity-mock-report-summary.util-CGOhHIZr.mjs.map +1 -0
  75. package/fesm2022/{acorex-connectivity-mock-sample.command-CXz1poTn.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-user-roles-for-list-column.query-wRFHOp-X.mjs +30 -0
  80. package/fesm2022/acorex-connectivity-mock-user-roles-for-list-column.query-wRFHOp-X.mjs.map +1 -0
  81. package/fesm2022/acorex-connectivity-mock.mjs +2 -51673
  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} +21 -2
  88. package/types/acorex-connectivity-mock.d.ts +4136 -0
  89. package/fesm2022/acorex-connectivity-api-execute.command-D2Q0ahw4.mjs.map +0 -1
  90. package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs +0 -66
  91. package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs.map +0 -1
  92. package/fesm2022/acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs.map +0 -1
  93. package/fesm2022/acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs.map +0 -1
  94. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs +0 -80
  95. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs.map +0 -1
  96. package/fesm2022/acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs.map +0 -1
  97. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-uwDUrbFJ.mjs.map +0 -1
  98. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs.map +0 -1
  99. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-Ch-Vh5GE.mjs.map +0 -1
  100. package/fesm2022/acorex-connectivity-mock-get-location-list.query-Xbc6d8kb.mjs.map +0 -1
  101. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-m8_ME45B.mjs.map +0 -1
  102. package/fesm2022/acorex-connectivity-mock-get-product-list.query-DzkssYRw.mjs.map +0 -1
  103. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-wMD65pwR.mjs.map +0 -1
  104. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-DBOT_0IN.mjs.map +0 -1
  105. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-DBEEbeiS.mjs.map +0 -1
  106. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BM9toJ45.mjs.map +0 -1
  107. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-CACCBXn-.mjs.map +0 -1
  108. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-CfDjhtaC.mjs.map +0 -1
  109. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-CZXvavUh.mjs.map +0 -1
  110. package/fesm2022/acorex-connectivity-mock-notify-signers.command-BV-b8NBg.mjs +0 -69
  111. package/fesm2022/acorex-connectivity-mock-notify-signers.command-BV-b8NBg.mjs.map +0 -1
  112. package/fesm2022/acorex-connectivity-mock-request-signature.command-DZyVnhAp.mjs +0 -72
  113. package/fesm2022/acorex-connectivity-mock-request-signature.command-DZyVnhAp.mjs.map +0 -1
  114. package/fesm2022/acorex-connectivity-mock-sample.command-CXz1poTn.mjs.map +0 -1
  115. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-leYngRtS.mjs +0 -81
  116. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-leYngRtS.mjs.map +0 -1
  117. package/mock/index.d.ts +0 -3022
  118. /package/{utils/index.d.ts → types/acorex-connectivity-utils.d.ts} +0 -0
  119. /package/{index.d.ts → types/acorex-connectivity.d.ts} +0 -0
@@ -15,7 +15,7 @@ class AXCReportExecuteCommand {
15
15
  //#region ---- Command Implementation ----
16
16
  async execute(context) {
17
17
  try {
18
- const { reportId, layoutId, filters: parameters } = context;
18
+ const { reportId, layoutId, filters: parameters, skip, take, sort } = context;
19
19
  // Get the report definition to find the layout
20
20
  const reportDefinition = await this.reportDefinitionService.getReportById(reportId);
21
21
  if (!reportDefinition) {
@@ -30,7 +30,16 @@ class AXCReportExecuteCommand {
30
30
  const url = `${this.baseUrl}/v1/global/Report-Management/report/Execute`;
31
31
  const body = {
32
32
  reportId,
33
- parameters,
33
+ parameters: {
34
+ ...parameters,
35
+ ...(skip !== undefined ? { skip } : {}),
36
+ ...(take !== undefined ? { take } : {}),
37
+ ...(sort?.length
38
+ ? {
39
+ sort: sort.map((s) => ({ name: s.name, dir: s.dir })),
40
+ }
41
+ : {}),
42
+ },
34
43
  };
35
44
  const executeResult = await firstValueFrom(this.http.post(url, body));
36
45
  // Convert ExecuteReportDto to AXPExecutionReportResult format
@@ -40,6 +49,7 @@ class AXCReportExecuteCommand {
40
49
  type: 'table',
41
50
  items: executeResult.items,
42
51
  total: executeResult.totalCount,
52
+ summary: executeResult.summary,
43
53
  };
44
54
  }
45
55
  else if (executeResult.type === 'chart') {
@@ -81,10 +91,10 @@ class AXCReportExecuteCommand {
81
91
  };
82
92
  }
83
93
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
85
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportExecuteCommand, providedIn: 'root' }); }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
95
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportExecuteCommand, providedIn: 'root' }); }
86
96
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportExecuteCommand, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportExecuteCommand, decorators: [{
88
98
  type: Injectable,
89
99
  args: [{
90
100
  providedIn: 'root',
@@ -92,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
92
102
  }] });
93
103
 
94
104
  export { AXCReportExecuteCommand };
95
- //# sourceMappingURL=acorex-connectivity-api-execute.command-D2Q0ahw4.mjs.map
105
+ //# sourceMappingURL=acorex-connectivity-api-execute.command-CjCFEav4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-api-execute.command-CjCFEav4.mjs","sources":["../../../../libs/connectivity/api/src/lib/report-management/execute.command.ts"],"sourcesContent":["import {\n AXPExecutionReportCommand,\n AXPExecutionReportCommandResult,\n AXPExecutionReportResult,\n AXPLayoutExecutionContext,\n AXPReportViewerService,\n AXPReportLayoutDefinition,\n} from '@acorex/modules/report-management';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { AXPExecuteReportDto } from './report-management-api.providers';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXCReportExecuteCommand implements AXPExecutionReportCommand {\n private readonly http = inject(HttpClient);\n private readonly reportDefinitionService = inject(AXPReportViewerService);\n private readonly configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private readonly baseUrl = this.configs.baseUrl;\n\n //#region ---- Command Implementation ----\n\n async execute(context: AXPLayoutExecutionContext) {\n try {\n const { reportId, layoutId, filters: parameters, skip, take, sort } = context;\n\n // Get the report definition to find the layout\n const reportDefinition = await this.reportDefinitionService.getReportById(reportId);\n if (!reportDefinition) {\n throw new Error(`Report with ID ${reportId} not found`);\n }\n\n // Find the specific layout\n const layoutDefinition = reportDefinition.layouts.find((l: AXPReportLayoutDefinition) => l.id === layoutId);\n if (!layoutDefinition) {\n throw new Error(`Layout with ID ${layoutId} not found in report ${reportId}`);\n }\n\n // Call the Execute API endpoint\n const url = `${this.baseUrl}/v1/global/Report-Management/report/Execute`;\n const body = {\n reportId,\n parameters: {\n ...parameters,\n ...(skip !== undefined ? { skip } : {}),\n ...(take !== undefined ? { take } : {}),\n ...(sort?.length\n ? {\n sort: sort.map((s) => ({ name: s.name, dir: s.dir })),\n }\n : {}),\n },\n };\n\n const executeResult: AXPExecuteReportDto = await firstValueFrom(this.http.post<AXPExecuteReportDto>(url, body));\n\n // Convert ExecuteReportDto to AXPExecutionReportResult format\n let executionResult: AXPExecutionReportResult;\n\n if (executeResult.type === 'table') {\n executionResult = {\n type: 'table',\n items: executeResult.items,\n total: executeResult.totalCount,\n summary: (executeResult as { summary?: Record<string, number | null> }).summary,\n };\n } else if (executeResult.type === 'chart') {\n executionResult = {\n type: 'chart',\n data: executeResult.items[0] || {},\n };\n } else if (executeResult.type === 'cards') {\n executionResult = {\n type: 'cards',\n items: executeResult.items,\n };\n } else {\n executionResult = {\n type: 'custom',\n data: executeResult.items,\n };\n }\n\n // Return the combined layout configuration and data\n return {\n success: true,\n data: {\n ...layoutDefinition.layout,\n data: executionResult,\n },\n };\n } catch (error) {\n console.error('Error executing report:', error);\n const errorMessage = error instanceof Error ? error.message : 'Unknown error';\n return {\n success: false,\n message: {\n type: 'error' as const,\n text: `Failed to execute report: ${errorMessage}`,\n },\n };\n }\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { AXP_ROOT_CONFIG_TOKEN, AXPFilterOperatorMiddlewareService, AXPFileStorageService, AXPFileStorageStatus } from '@acorex/platform/common';
1
+ import { AXP_ROOT_CONFIG_TOKEN, AXPFilterOperatorMiddlewareService, AXPFileStorageService, AXP_INTEGRATION_SECRET_STORE, AXP_INTEGRATION_OAUTH_SERVICE } from '@acorex/platform/common';
2
+ import { computeEntityAggregates, AXPEntityService, AXPEntityStorageService } from '@acorex/platform/layout/entity';
2
3
  import * as i1 from '@angular/common/http';
3
4
  import { HttpParams, HttpClient, HttpHeaders } from '@angular/common/http';
4
5
  import * as i0 from '@angular/core';
@@ -7,15 +8,14 @@ import { kebabCase } from 'lodash-es';
7
8
  import { firstValueFrom, catchError, of, BehaviorSubject, tap, filter, take, switchMap } from 'rxjs';
8
9
  import * as i2 from '@acorex/platform/auth';
9
10
  import { AXPAuthStrategy, AXPSessionService, JwtUtil, TimeUtil, PkceUtil, AXPAuthModule, AXP_TENANT_LOADER, AXP_APPLICATION_LOADER, AXP_PERMISSION_LOADER, AXP_FEATURE_LOADER } from '@acorex/platform/auth';
10
- import { AXPEntityStorageService } from '@acorex/platform/layout/entity';
11
11
  import { AXP_USER_AVATAR_PROVIDER } from '@acorex/platform/layout/components';
12
12
  import { STRATEGY_CONFIG_TOKEN } from '@acorex/platform/layout/widgets';
13
13
  import * as i1$1 from 'angular-oauth2-oidc';
14
14
  import { OAuthService, OAuthModule } from 'angular-oauth2-oidc';
15
+ import { AXPFileStorageStatus, AXPDataGenerator } from '@acorex/platform/contracts';
15
16
  import { AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';
16
17
  import { Router } from '@angular/router';
17
- import { AXMUsersEntityService } from '@acorex/modules/security-management';
18
- import { AXPDataGenerator } from '@acorex/platform/core';
18
+ import { RootConfig } from '@acorex/modules/security-management';
19
19
  import { AXCUtilsModule, AXCExternalAuthorizationService } from '@acorex/connectivity/utils';
20
20
  import { AXPRuntimeModule, provideCommandSetups } from '@acorex/platform/runtime';
21
21
  import { AXPReportViewerService } from '@acorex/modules/report-management';
@@ -29,6 +29,9 @@ class AXCApiEntityStorageService {
29
29
  // API routing constants
30
30
  this.API_VERSION = 'v1';
31
31
  this.DEFAULT_AREA = 'global';
32
+ this.defaultQueryAllPageSize = 500;
33
+ this.defaultQueryAllMaxRows = 100_000;
34
+ this.defaultAggregateMaxRows = 50_000;
32
35
  }
33
36
  get dbName() {
34
37
  return 'ACoreXPlatform';
@@ -79,7 +82,7 @@ class AXCApiEntityStorageService {
79
82
  async deleteOne(entityName, id) {
80
83
  const routeElement = await this.getConfigEntity(entityName);
81
84
  const url = `${this.mainUrl}/${routeElement.version}/${routeElement.area}/${routeElement.module}/${routeElement.entity}/${id}`;
82
- firstValueFrom(this.http.delete(url));
85
+ await firstValueFrom(this.http.delete(url));
83
86
  }
84
87
  async insertOne(entityName, entityItem) {
85
88
  const routeElement = await this.getConfigEntity(entityName);
@@ -91,7 +94,9 @@ class AXCApiEntityStorageService {
91
94
  }
92
95
  async query(entityName, request) {
93
96
  const routeElement = await this.getConfigEntity(entityName);
94
- let httpParams = new HttpParams().set('Skip', request.skip).set('Take', request.take);
97
+ let httpParams = new HttpParams()
98
+ .set('Skip', String(request.skip ?? 0))
99
+ .set('Take', String(request.take ?? 0));
95
100
  if (request?.sort && request?.sort.length > 0) {
96
101
  const sortParam = request?.sort.map((sort) => `${sort.field}:${sort.dir}`).join(',');
97
102
  httpParams = httpParams.set('$orderby', sortParam);
@@ -140,10 +145,91 @@ class AXCApiEntityStorageService {
140
145
  };
141
146
  });
142
147
  }
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCApiEntityStorageService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
144
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCApiEntityStorageService }); }
148
+ async count(entityName, request) {
149
+ const page = await this.query(entityName, { ...request, skip: 0, take: 1 });
150
+ return page.total;
151
+ }
152
+ async queryAll(entityName, request, options) {
153
+ const pageSize = options?.pageSize ?? this.defaultQueryAllPageSize;
154
+ const maxRows = options?.maxRows ?? this.defaultQueryAllMaxRows;
155
+ const items = [];
156
+ let skip = 0;
157
+ let total = 0;
158
+ while (items.length < maxRows) {
159
+ const take = Math.min(pageSize, maxRows - items.length);
160
+ const page = await this.query(entityName, {
161
+ filter: request.filter,
162
+ sort: request.sort,
163
+ skip,
164
+ take,
165
+ });
166
+ total = page.total;
167
+ if (!page.items?.length) {
168
+ break;
169
+ }
170
+ items.push(...page.items);
171
+ skip += page.items.length;
172
+ if (page.items.length < take || skip >= total) {
173
+ break;
174
+ }
175
+ }
176
+ return {
177
+ items,
178
+ total,
179
+ truncated: total > items.length,
180
+ };
181
+ }
182
+ async getMany(entityName, ids) {
183
+ return Promise.all(ids.map(async (id) => {
184
+ try {
185
+ const row = await this.getOne(entityName, id);
186
+ return row ?? null;
187
+ }
188
+ catch {
189
+ return null;
190
+ }
191
+ }));
192
+ }
193
+ async exists(entityName, id) {
194
+ try {
195
+ await this.getOne(entityName, id);
196
+ return true;
197
+ }
198
+ catch {
199
+ return false;
200
+ }
201
+ }
202
+ async upsertOne(entityName, entity, options) {
203
+ const id = entity?.id;
204
+ if (id) {
205
+ try {
206
+ const existing = await this.getOne(entityName, id);
207
+ if (existing != null) {
208
+ const merge = options?.merge !== false;
209
+ const next = merge
210
+ ? { ...existing, ...entity }
211
+ : { ...entity };
212
+ const { id: _omit, ...patch } = next;
213
+ await this.updateOne(entityName, id, patch);
214
+ return id;
215
+ }
216
+ }
217
+ catch {
218
+ /* create when GET fails (e.g. 404) */
219
+ }
220
+ }
221
+ return this.insertOne(entityName, entity);
222
+ }
223
+ async aggregate(entityName, request, options) {
224
+ const maxRows = options?.maxRows ?? this.defaultAggregateMaxRows;
225
+ const pageSize = options?.pageSize ?? this.defaultQueryAllPageSize;
226
+ const { items } = await this.queryAll(entityName, request, { maxRows, pageSize });
227
+ return { rows: computeEntityAggregates(items, request) };
228
+ }
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCApiEntityStorageService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
230
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCApiEntityStorageService }); }
145
231
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCApiEntityStorageService, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCApiEntityStorageService, decorators: [{
147
233
  type: Injectable
148
234
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
149
235
 
@@ -290,10 +376,10 @@ class AXCFileStorageApiService extends AXPFileStorageService {
290
376
  // Silently fail in fallback mode
291
377
  }
292
378
  }
293
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCFileStorageApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
294
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCFileStorageApiService }); }
379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCFileStorageApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
380
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCFileStorageApiService }); }
295
381
  }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCFileStorageApiService, decorators: [{
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCFileStorageApiService, decorators: [{
297
383
  type: Injectable
298
384
  }] });
299
385
 
@@ -343,10 +429,10 @@ class AXMOidcApplicationLoader {
343
429
  // features: item.features || [],
344
430
  };
345
431
  }
346
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcApplicationLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
347
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcApplicationLoader }); }
432
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcApplicationLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
433
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcApplicationLoader }); }
348
434
  }
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcApplicationLoader, decorators: [{
435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcApplicationLoader, decorators: [{
350
436
  type: Injectable
351
437
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
352
438
 
@@ -386,10 +472,10 @@ class AXMConfigurationService {
386
472
  switchMap(() => of(this.applicationConfig)));
387
473
  }
388
474
  }
389
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMConfigurationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
390
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMConfigurationService, providedIn: 'root' }); }
475
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMConfigurationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
476
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMConfigurationService, providedIn: 'root' }); }
391
477
  }
392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMConfigurationService, decorators: [{
478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMConfigurationService, decorators: [{
393
479
  type: Injectable,
394
480
  args: [{
395
481
  providedIn: 'root',
@@ -762,10 +848,10 @@ class AXCAPIOidcStrategy extends AXPAuthStrategy {
762
848
  get name() {
763
849
  return 'oidc';
764
850
  }
765
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCAPIOidcStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
766
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCAPIOidcStrategy }); }
851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCAPIOidcStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
852
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCAPIOidcStrategy }); }
767
853
  }
768
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCAPIOidcStrategy, decorators: [{
854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCAPIOidcStrategy, decorators: [{
769
855
  type: Injectable
770
856
  }] });
771
857
 
@@ -791,10 +877,10 @@ class AXMOidcPermissionLoader {
791
877
  const truePolicies = Object.keys(policies).filter((key) => policies[key] === true);
792
878
  return truePolicies;
793
879
  }
794
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcPermissionLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
795
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcPermissionLoader }); }
880
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcPermissionLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
881
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcPermissionLoader }); }
796
882
  }
797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcPermissionLoader, decorators: [{
883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcPermissionLoader, decorators: [{
798
884
  type: Injectable
799
885
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
800
886
 
@@ -821,16 +907,17 @@ class AXMOidcTenantLoader {
821
907
  // Add other fields and defaults as needed, and handle the logo if applicable
822
908
  };
823
909
  }
824
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcTenantLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
825
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcTenantLoader }); }
910
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcTenantLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
911
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcTenantLoader }); }
826
912
  }
827
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXMOidcTenantLoader, decorators: [{
913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMOidcTenantLoader, decorators: [{
828
914
  type: Injectable
829
915
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
830
916
 
831
917
  class AXCApiUserAvatarProvider {
832
918
  constructor() {
833
- this.userService = inject(AXMUsersEntityService);
919
+ this.entityService = inject(AXPEntityService);
920
+ this.userService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.users.name).data();
834
921
  this.sessionService = inject(AXPSessionService);
835
922
  }
836
923
  async provide(userId) {
@@ -850,7 +937,7 @@ class AXCApiUserAvatarProvider {
850
937
  };
851
938
  }
852
939
  // Use entity service for other users
853
- const user = await this.userService.getOne(userId);
940
+ const user = await this.userService.byKey(userId);
854
941
  if (!user) {
855
942
  throw new Error(`User not found for ${userId}`);
856
943
  }
@@ -1020,10 +1107,10 @@ class AXCReportViewerApiService extends AXPReportViewerService {
1020
1107
  defaultLayoutId: apiResponse.defaultLayoutId,
1021
1108
  };
1022
1109
  }
1023
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportViewerApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1024
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportViewerApiService, providedIn: 'root' }); }
1110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportViewerApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1111
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportViewerApiService, providedIn: 'root' }); }
1025
1112
  }
1026
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportViewerApiService, decorators: [{
1113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportViewerApiService, decorators: [{
1027
1114
  type: Injectable,
1028
1115
  args: [{
1029
1116
  providedIn: 'root',
@@ -1031,9 +1118,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
1031
1118
  }] });
1032
1119
 
1033
1120
  class AXCReportManagementApiModule {
1034
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportManagementApiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1035
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: AXCReportManagementApiModule, imports: [AXPRuntimeModule] }); }
1036
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportManagementApiModule, providers: [
1121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportManagementApiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1122
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXCReportManagementApiModule, imports: [AXPRuntimeModule] }); }
1123
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportManagementApiModule, providers: [
1037
1124
  {
1038
1125
  provide: AXPReportViewerService,
1039
1126
  useClass: AXCReportViewerApiService,
@@ -1041,12 +1128,12 @@ class AXCReportManagementApiModule {
1041
1128
  provideCommandSetups([
1042
1129
  {
1043
1130
  key: 'ReportManagement.Report:Execute',
1044
- command: () => import('./acorex-connectivity-api-execute.command-D2Q0ahw4.mjs').then((c) => c.AXCReportExecuteCommand),
1131
+ command: () => import('./acorex-connectivity-api-execute.command-CjCFEav4.mjs').then((c) => c.AXCReportExecuteCommand),
1045
1132
  }
1046
1133
  ]),
1047
1134
  ], imports: [AXPRuntimeModule] }); }
1048
1135
  }
1049
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCReportManagementApiModule, decorators: [{
1136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportManagementApiModule, decorators: [{
1050
1137
  type: NgModule,
1051
1138
  args: [{
1052
1139
  imports: [AXPRuntimeModule],
@@ -1060,18 +1147,84 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
1060
1147
  provideCommandSetups([
1061
1148
  {
1062
1149
  key: 'ReportManagement.Report:Execute',
1063
- command: () => import('./acorex-connectivity-api-execute.command-D2Q0ahw4.mjs').then((c) => c.AXCReportExecuteCommand),
1150
+ command: () => import('./acorex-connectivity-api-execute.command-CjCFEav4.mjs').then((c) => c.AXCReportExecuteCommand),
1064
1151
  }
1065
1152
  ]),
1066
1153
  ],
1067
1154
  }]
1068
1155
  }] });
1069
1156
 
1157
+ //#region ---- API secret store (production placeholder) ----
1158
+ /**
1159
+ * Production secret store placeholder.
1160
+ * Replace with server-side envelope encryption and KMS-backed storage.
1161
+ */
1162
+ class AXCIntegrationSecretStoreApi {
1163
+ async store(_ref, _payload) {
1164
+ throw new Error('Integration secret store API is not configured. Use connectivity/mock for development.');
1165
+ }
1166
+ async rotate(_secretRef, _context, _payload) {
1167
+ throw new Error('Integration secret store API is not configured.');
1168
+ }
1169
+ async resolve(_secretRef, _context) {
1170
+ throw new Error('Integration secret store API is not configured.');
1171
+ }
1172
+ async revoke(_secretRef, _context) {
1173
+ throw new Error('Integration secret store API is not configured.');
1174
+ }
1175
+ async delete(_secretRef, _context) {
1176
+ throw new Error('Integration secret store API is not configured.');
1177
+ }
1178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationSecretStoreApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1179
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationSecretStoreApi, providedIn: 'root' }); }
1180
+ }
1181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationSecretStoreApi, decorators: [{
1182
+ type: Injectable,
1183
+ args: [{ providedIn: 'root' }]
1184
+ }] });
1185
+ //#endregion
1186
+ //#region ---- API OAuth service placeholder ----
1187
+ class AXCIntegrationOAuthApiService {
1188
+ async startAuthorization(_input) {
1189
+ throw new Error('Integration OAuth API is not configured.');
1190
+ }
1191
+ async completeCallback(_input) {
1192
+ throw new Error('Integration OAuth API is not configured.');
1193
+ }
1194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationOAuthApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1195
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationOAuthApiService, providedIn: 'root' }); }
1196
+ }
1197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationOAuthApiService, decorators: [{
1198
+ type: Injectable,
1199
+ args: [{ providedIn: 'root' }]
1200
+ }] });
1201
+
1202
+ class AXCIntegrationApiModule {
1203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationApiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1204
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationApiModule }); }
1205
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationApiModule, providers: [
1206
+ { provide: AXP_INTEGRATION_SECRET_STORE, useClass: AXCIntegrationSecretStoreApi },
1207
+ { provide: AXP_INTEGRATION_OAUTH_SERVICE, useExisting: AXCIntegrationOAuthApiService },
1208
+ AXCIntegrationOAuthApiService,
1209
+ ] }); }
1210
+ }
1211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCIntegrationApiModule, decorators: [{
1212
+ type: NgModule,
1213
+ args: [{
1214
+ providers: [
1215
+ { provide: AXP_INTEGRATION_SECRET_STORE, useClass: AXCIntegrationSecretStoreApi },
1216
+ { provide: AXP_INTEGRATION_OAUTH_SERVICE, useExisting: AXCIntegrationOAuthApiService },
1217
+ AXCIntegrationOAuthApiService,
1218
+ ],
1219
+ }]
1220
+ }] });
1221
+
1070
1222
  class AXCApiModule {
1071
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCApiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1072
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: AXCApiModule, imports: [i1$1.OAuthModule, i2.AXPAuthModule, AXCUtilsModule,
1073
- AXCReportManagementApiModule] }); }
1074
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCApiModule, providers: [
1223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCApiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1224
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXCApiModule, imports: [i1$1.OAuthModule, i2.AXPAuthModule, AXCUtilsModule,
1225
+ AXCReportManagementApiModule,
1226
+ AXCIntegrationApiModule] }); }
1227
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCApiModule, providers: [
1075
1228
  {
1076
1229
  provide: AXPEntityStorageService,
1077
1230
  useClass: AXCApiEntityStorageService,
@@ -1112,9 +1265,10 @@ class AXCApiModule {
1112
1265
  strategies: [AXCAPIOidcStrategy],
1113
1266
  }),
1114
1267
  AXCUtilsModule,
1115
- AXCReportManagementApiModule] }); }
1268
+ AXCReportManagementApiModule,
1269
+ AXCIntegrationApiModule] }); }
1116
1270
  }
1117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXCApiModule, decorators: [{
1271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCApiModule, decorators: [{
1118
1272
  type: NgModule,
1119
1273
  args: [{
1120
1274
  imports: [
@@ -1124,6 +1278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
1124
1278
  }),
1125
1279
  AXCUtilsModule,
1126
1280
  AXCReportManagementApiModule,
1281
+ AXCIntegrationApiModule,
1127
1282
  ],
1128
1283
  providers: [
1129
1284
  {
@@ -1429,10 +1584,10 @@ class APIGoogleStrategy extends AXPAuthStrategy {
1429
1584
  console.error('Authentication error:', error);
1430
1585
  throw error;
1431
1586
  }
1432
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: APIGoogleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1433
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: APIGoogleStrategy }); }
1587
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: APIGoogleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1588
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: APIGoogleStrategy }); }
1434
1589
  }
1435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: APIGoogleStrategy, decorators: [{
1590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: APIGoogleStrategy, decorators: [{
1436
1591
  type: Injectable
1437
1592
  }], ctorParameters: () => [] });
1438
1593