@acorex/connectivity 20.8.24 → 20.9.1
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.
- package/fesm2022/{acorex-connectivity-api-execute.command-D2Q0ahw4.mjs → acorex-connectivity-api-execute.command-CjCFEav4.mjs} +16 -6
- package/fesm2022/acorex-connectivity-api-execute.command-CjCFEav4.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-api.mjs +202 -47
- package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-g0RVU1Og.mjs +90679 -0
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-g0RVU1Og.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-CTrrsAvF.mjs +288 -0
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-CTrrsAvF.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CIof4zTg.mjs +200 -0
- package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CIof4zTg.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs → acorex-connectivity-mock-category-with-items.query-DAKUJIIt.mjs} +18 -17
- package/fesm2022/acorex-connectivity-mock-category-with-items.query-DAKUJIIt.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CSbgiZEm.mjs +110 -0
- package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CSbgiZEm.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-CjdySQzM.mjs +120 -0
- package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-CjdySQzM.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-Wm1Ao81s.mjs +120 -0
- package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-Wm1Ao81s.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs → acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs} +8 -16
- package/fesm2022/acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs +16 -0
- package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs → acorex-connectivity-mock-distribution-record.activity-a1_k9Czb.mjs} +29 -14
- package/fesm2022/acorex-connectivity-mock-distribution-record.activity-a1_k9Czb.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-create.activity-CdoUzUvF.mjs +67 -0
- package/fesm2022/acorex-connectivity-mock-entity-create.activity-CdoUzUvF.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs +60 -0
- package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs +67 -0
- package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-update.activity-06HTKiQQ.mjs +68 -0
- package/fesm2022/acorex-connectivity-mock-entity-update.activity-06HTKiQQ.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs +64 -0
- package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs.map +1 -0
- 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
- package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs → acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-CsmxwXsM.mjs +39 -0
- package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-CsmxwXsM.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs +69 -0
- package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-employee-list.query-Ch-Vh5GE.mjs → acorex-connectivity-mock-get-employee-list.query-BWbZj3tp.mjs} +8 -7
- package/fesm2022/acorex-connectivity-mock-get-employee-list.query-BWbZj3tp.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-location-list.query-Xbc6d8kb.mjs → acorex-connectivity-mock-get-location-list.query-CQ2rFDUM.mjs} +5 -5
- package/fesm2022/acorex-connectivity-mock-get-location-list.query-CQ2rFDUM.mjs.map +1 -0
- 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
- package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-product-list.query-DzkssYRw.mjs → acorex-connectivity-mock-get-product-list.query-o9TcY_RC.mjs} +20 -12
- package/fesm2022/acorex-connectivity-mock-get-product-list.query-o9TcY_RC.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-product-pdf-data.query-wMD65pwR.mjs → acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs} +5 -5
- package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs.map +1 -0
- 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
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-BXDzY2Sd.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-subscriptions-timeline.query-DBEEbeiS.mjs → acorex-connectivity-mock-get-subscriptions-timeline.query-D_jVT-7a.mjs} +6 -6
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D_jVT-7a.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-tenant-application-access.query-BM9toJ45.mjs → acorex-connectivity-mock-get-tenant-application-access.query-BG6t0137.mjs} +6 -6
- package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BG6t0137.mjs.map +1 -0
- 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
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-CgMZxfzh.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-timeline.query-CfDjhtaC.mjs → acorex-connectivity-mock-get-tenant-registration-timeline.query-COmTsDCV.mjs} +5 -5
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-COmTsDCV.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-tenant-user-distribution.query-CZXvavUh.mjs → acorex-connectivity-mock-get-tenant-user-distribution.query-gqSqvIaa.mjs} +6 -6
- package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-gqSqvIaa.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs +35 -0
- package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-index-D0jdkk2E.mjs +99 -0
- package/fesm2022/acorex-connectivity-mock-index-D0jdkk2E.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-jira-instance-sync.command-CaOd4PJa.mjs +474 -0
- package/fesm2022/acorex-connectivity-mock-jira-instance-sync.command-CaOd4PJa.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-notification-management-email-send.command-BuH_Lm6V.mjs +72 -0
- package/fesm2022/acorex-connectivity-mock-notification-management-email-send.command-BuH_Lm6V.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-report-summary.util-CGOhHIZr.mjs +56 -0
- package/fesm2022/acorex-connectivity-mock-report-summary.util-CGOhHIZr.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-sample.command-CXz1poTn.mjs → acorex-connectivity-mock-sample.command-CJmDL4pL.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-sample.command-CJmDL4pL.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs +38 -0
- package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-user-roles-for-list-column.query-wRFHOp-X.mjs +30 -0
- package/fesm2022/acorex-connectivity-mock-user-roles-for-list-column.query-wRFHOp-X.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock.mjs +2 -51673
- package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
- package/fesm2022/acorex-connectivity-utils.mjs +7 -7
- package/fesm2022/acorex-connectivity-utils.mjs.map +1 -1
- package/fesm2022/acorex-connectivity.mjs.map +1 -1
- package/package.json +8 -7
- package/{api/index.d.ts → types/acorex-connectivity-api.d.ts} +21 -2
- package/types/acorex-connectivity-mock.d.ts +4136 -0
- package/fesm2022/acorex-connectivity-api-execute.command-D2Q0ahw4.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs +0 -66
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-CzzTHBVX.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-category-with-items.query-DWW7t6nc.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-check-permission.command-DFcxfjxp.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs +0 -80
- package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-BG_rxbUl.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-distribution-record.command-BopU0LyU.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-uwDUrbFJ.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-BHjQYTyZ.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-employee-list.query-Ch-Vh5GE.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-location-list.query-Xbc6d8kb.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-m8_ME45B.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-product-list.query-DzkssYRw.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-wMD65pwR.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-DBOT_0IN.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-DBEEbeiS.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BM9toJ45.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-CACCBXn-.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-CfDjhtaC.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-CZXvavUh.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-notify-signers.command-BV-b8NBg.mjs +0 -69
- package/fesm2022/acorex-connectivity-mock-notify-signers.command-BV-b8NBg.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-request-signature.command-DZyVnhAp.mjs +0 -72
- package/fesm2022/acorex-connectivity-mock-request-signature.command-DZyVnhAp.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-sample.command-CXz1poTn.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-leYngRtS.mjs +0 -81
- package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-leYngRtS.mjs.map +0 -1
- package/mock/index.d.ts +0 -3022
- /package/{utils/index.d.ts → types/acorex-connectivity-utils.d.ts} +0 -0
- /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: "
|
|
85
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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-
|
|
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,
|
|
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 {
|
|
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()
|
|
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
|
-
|
|
144
|
-
|
|
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: "
|
|
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: "
|
|
294
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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: "
|
|
347
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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: "
|
|
390
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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: "
|
|
766
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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: "
|
|
795
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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: "
|
|
825
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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.
|
|
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.
|
|
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: "
|
|
1024
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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: "
|
|
1035
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1036
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
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-
|
|
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: "
|
|
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-
|
|
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: "
|
|
1072
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1073
|
-
AXCReportManagementApiModule
|
|
1074
|
-
|
|
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: "
|
|
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: "
|
|
1433
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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
|
|