@acorex/connectivity 21.0.0-next.1 → 21.0.0-next.2

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/api/index.d.ts CHANGED
@@ -5,7 +5,7 @@ import * as i0 from '@angular/core';
5
5
  import * as i1$1 from 'angular-oauth2-oidc';
6
6
  import { AuthConfig } from 'angular-oauth2-oidc';
7
7
  import * as i2 from '@acorex/platform/auth';
8
- import { AXPApplicationLoader, AXPSessionContext, AXPApplication, AXPFeatureLoader, AXPFeature, AXPAuthStrategy, AXPBaseCredentials, AXPSignInResult, AXPPermissionLoader, AXPPermission, AXPTenantLoader, AXPTenant } from '@acorex/platform/auth';
8
+ import { AXPApplicationLoader, AXPApplication, AXPFeatureLoader, AXPFeature, AXPAuthStrategy, AXPBaseCredentials, AXPSignInResult, AXPSessionContext, AXPPermissionLoader, AXPPermission, AXPTenantLoader, AXPTenant } from '@acorex/platform/auth';
9
9
  import * as i3 from '@acorex/connectivity/utils';
10
10
  import * as i1 from '@acorex/platform/runtime';
11
11
  import { Observable } from 'rxjs';
@@ -17,6 +17,7 @@ declare class AXCApiEntityStorageService implements AXPEntityStorageService<stri
17
17
  private http;
18
18
  private configs;
19
19
  private filterService;
20
+ private entityResolver;
20
21
  private mainUrl;
21
22
  private readonly API_VERSION;
22
23
  private readonly DEFAULT_AREA;
@@ -59,7 +60,7 @@ declare class AXMOidcApplicationLoader implements AXPApplicationLoader {
59
60
  private apiGetApps;
60
61
  private apiSetApp;
61
62
  constructor(http: HttpClient);
62
- getList(context: AXPSessionContext): Promise<AXPApplication[]>;
63
+ getList(): Observable<AXPApplication[]>;
63
64
  set(application: AXPApplication): Promise<void>;
64
65
  private mapToAXPApplication;
65
66
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMOidcApplicationLoader, never>;
@@ -126,7 +127,7 @@ declare class AXMConfigurationService {
126
127
 
127
128
  declare class AXMOidcFeatureLoader implements AXPFeatureLoader {
128
129
  private list;
129
- getList(context: AXPSessionContext): Promise<AXPFeature[]>;
130
+ getList(): Observable<AXPFeature[]>;
130
131
  }
131
132
 
132
133
  declare class AXCAPIOidcStrategy extends AXPAuthStrategy {
@@ -197,7 +198,7 @@ declare class AXMOidcPermissionLoader implements AXPPermissionLoader {
197
198
  private configs;
198
199
  private apiGetConfig;
199
200
  constructor(http: HttpClient);
200
- getList(context: AXPSessionContext): Promise<AXPPermission[]>;
201
+ getList(context: AXPSessionContext): Observable<AXPPermission[]>;
201
202
  mapTo(jsonObj: any): string[];
202
203
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMOidcPermissionLoader, never>;
203
204
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMOidcPermissionLoader>;
@@ -208,7 +209,7 @@ declare class AXMOidcTenantLoader implements AXPTenantLoader {
208
209
  private configs;
209
210
  private apiGetTenants;
210
211
  constructor(http: HttpClient);
211
- getList(context: AXPSessionContext): Promise<AXPTenant[]>;
212
+ getList(): Observable<AXPTenant[]>;
212
213
  set(tenant: AXPTenant): Promise<void>;
213
214
  private mapToAXPTenant;
214
215
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMOidcTenantLoader, never>;
@@ -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, parameters } = context;
19
19
  // Get the report definition to find the layout
20
20
  const reportDefinition = await this.reportDefinitionService.getReportById(reportId);
21
21
  if (!reportDefinition) {
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
92
92
  }] });
93
93
 
94
94
  export { AXCReportExecuteCommand };
95
- //# sourceMappingURL=acorex-connectivity-api-execute.command-SGNBLcOi.mjs.map
95
+ //# sourceMappingURL=acorex-connectivity-api-execute.command-CQt_HF1B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-api-execute.command-CQt_HF1B.mjs","sources":["../tmp-esm2022/api/lib/report-management/execute.command.js"],"sourcesContent":["import { AXPReportDefinitionService, } 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 * as i0 from \"@angular/core\";\nexport class AXCReportExecuteCommand {\n constructor() {\n this.http = inject(HttpClient);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.baseUrl = this.configs.baseUrl;\n }\n //#region ---- Command Implementation ----\n async execute(context) {\n try {\n const { reportId, layoutId, parameters } = context;\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 // Find the specific layout\n const layoutDefinition = reportDefinition.layouts.find((l) => l.id === layoutId);\n if (!layoutDefinition) {\n throw new Error(`Layout with ID ${layoutId} not found in report ${reportId}`);\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 };\n const executeResult = await firstValueFrom(this.http.post(url, body));\n // Convert ExecuteReportDto to AXPExecutionReportResult format\n let executionResult;\n if (executeResult.type === 'table') {\n executionResult = {\n type: 'table',\n items: executeResult.items,\n total: executeResult.totalCount,\n };\n }\n else if (executeResult.type === 'chart') {\n executionResult = {\n type: 'chart',\n data: executeResult.items[0] || {},\n };\n }\n else if (executeResult.type === 'cards') {\n executionResult = {\n type: 'cards',\n items: executeResult.items,\n };\n }\n else {\n executionResult = {\n type: 'custom',\n data: executeResult.items,\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 }\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',\n text: `Failed to execute report: ${errorMessage}`,\n },\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXCReportExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXCReportExecuteCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXCReportExecuteCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvYXBpL3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQvZXhlY3V0ZS5jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCwwQkFBMEIsR0FFM0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNdEMsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUltQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzdELFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0E2RWpEO0lBM0VDLDhDQUE4QztJQUU5QyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUVuRCwrQ0FBK0M7WUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLFFBQVEsWUFBWSxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUVELDJCQUEyQjtZQUMzQixNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQzVHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixRQUFRLHdCQUF3QixRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7WUFFRCxnQ0FBZ0M7WUFDaEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyw2Q0FBNkMsQ0FBQztZQUN6RSxNQUFNLElBQUksR0FBRztnQkFDWCxRQUFRO2dCQUNSLFVBQVU7YUFDWCxDQUFDO1lBRUYsTUFBTSxhQUFhLEdBQXdCLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFzQixHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVoSCw4REFBOEQ7WUFDOUQsSUFBSSxlQUF5QyxDQUFDO1lBRTlDLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbkMsZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7b0JBQzFCLEtBQUssRUFBRSxhQUFhLENBQUMsVUFBVTtpQkFDaEMsQ0FBQztZQUNKLENBQUM7aUJBQU0sSUFBSSxhQUFhLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMxQyxlQUFlLEdBQUc7b0JBQ2hCLElBQUksRUFBRSxPQUFPO29CQUNiLElBQUksRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7aUJBQ25DLENBQUM7WUFDSixDQUFDO2lCQUFNLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDMUMsZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7aUJBQzNCLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sZUFBZSxHQUFHO29CQUNoQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUs7aUJBQzFCLENBQUM7WUFDSixDQUFDO1lBRUQsb0RBQW9EO1lBQ3BELE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFO29CQUNKLEdBQUcsZ0JBQWdCLENBQUMsTUFBTTtvQkFDMUIsSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDOUUsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLE9BQWdCO29CQUN0QixJQUFJLEVBQUUsNkJBQTZCLFlBQVksRUFBRTtpQkFDbEQ7YUFDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7K0dBOUVVLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kLFxuICBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0LFxuICBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQsXG4gIEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQsXG4gIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlLFxuICBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uLFxufSBmcm9tICdAYWNvcmV4L21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUEV4ZWN1dGVSZXBvcnREdG8gfSBmcm9tICcuL3JlcG9ydC1tYW5hZ2VtZW50LWFwaS5wcm92aWRlcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhDUmVwb3J0RXhlY3V0ZUNvbW1hbmQgaW1wbGVtZW50cyBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kIHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZVVybCA9IHRoaXMuY29uZmlncy5iYXNlVXJsO1xuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyByZXBvcnRJZCwgbGF5b3V0SWQsIHBhcmFtZXRlcnMgfSA9IGNvbnRleHQ7XG5cbiAgICAgIC8vIEdldCB0aGUgcmVwb3J0IGRlZmluaXRpb24gdG8gZmluZCB0aGUgbGF5b3V0XG4gICAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRSZXBvcnRCeUlkKHJlcG9ydElkKTtcbiAgICAgIGlmICghcmVwb3J0RGVmaW5pdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcG9ydCB3aXRoIElEICR7cmVwb3J0SWR9IG5vdCBmb3VuZGApO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5kIHRoZSBzcGVjaWZpYyBsYXlvdXRcbiAgICAgIGNvbnN0IGxheW91dERlZmluaXRpb24gPSByZXBvcnREZWZpbml0aW9uLmxheW91dHMuZmluZCgobDogQVhQUmVwb3J0TGF5b3V0RGVmaW5pdGlvbikgPT4gbC5pZCA9PT0gbGF5b3V0SWQpO1xuICAgICAgaWYgKCFsYXlvdXREZWZpbml0aW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTGF5b3V0IHdpdGggSUQgJHtsYXlvdXRJZH0gbm90IGZvdW5kIGluIHJlcG9ydCAke3JlcG9ydElkfWApO1xuICAgICAgfVxuXG4gICAgICAvLyBDYWxsIHRoZSBFeGVjdXRlIEFQSSBlbmRwb2ludFxuICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS92MS9nbG9iYWwvUmVwb3J0LU1hbmFnZW1lbnQvcmVwb3J0L0V4ZWN1dGVgO1xuICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgcmVwb3J0SWQsXG4gICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBleGVjdXRlUmVzdWx0OiBBWFBFeGVjdXRlUmVwb3J0RHRvID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8QVhQRXhlY3V0ZVJlcG9ydER0bz4odXJsLCBib2R5KSk7XG5cbiAgICAgIC8vIENvbnZlcnQgRXhlY3V0ZVJlcG9ydER0byB0byBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQgZm9ybWF0XG4gICAgICBsZXQgZXhlY3V0aW9uUmVzdWx0OiBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQ7XG5cbiAgICAgIGlmIChleGVjdXRlUmVzdWx0LnR5cGUgPT09ICd0YWJsZScpIHtcbiAgICAgICAgZXhlY3V0aW9uUmVzdWx0ID0ge1xuICAgICAgICAgIHR5cGU6ICd0YWJsZScsXG4gICAgICAgICAgaXRlbXM6IGV4ZWN1dGVSZXN1bHQuaXRlbXMsXG4gICAgICAgICAgdG90YWw6IGV4ZWN1dGVSZXN1bHQudG90YWxDb3VudCxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoZXhlY3V0ZVJlc3VsdC50eXBlID09PSAnY2hhcnQnKSB7XG4gICAgICAgIGV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgICB0eXBlOiAnY2hhcnQnLFxuICAgICAgICAgIGRhdGE6IGV4ZWN1dGVSZXN1bHQuaXRlbXNbMF0gfHwge30sXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKGV4ZWN1dGVSZXN1bHQudHlwZSA9PT0gJ2NhcmRzJykge1xuICAgICAgICBleGVjdXRpb25SZXN1bHQgPSB7XG4gICAgICAgICAgdHlwZTogJ2NhcmRzJyxcbiAgICAgICAgICBpdGVtczogZXhlY3V0ZVJlc3VsdC5pdGVtcyxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4ZWN1dGlvblJlc3VsdCA9IHtcbiAgICAgICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICBkYXRhOiBleGVjdXRlUmVzdWx0Lml0ZW1zLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBSZXR1cm4gdGhlIGNvbWJpbmVkIGxheW91dCBjb25maWd1cmF0aW9uIGFuZCBkYXRhXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLi4ubGF5b3V0RGVmaW5pdGlvbi5sYXlvdXQsXG4gICAgICAgICAgZGF0YTogZXhlY3V0aW9uUmVzdWx0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXhlY3V0aW5nIHJlcG9ydDonLCBlcnJvcik7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgdHlwZTogJ2Vycm9yJyBhcyBjb25zdCxcbiAgICAgICAgICB0ZXh0OiBgRmFpbGVkIHRvIGV4ZWN1dGUgcmVwb3J0OiAke2Vycm9yTWVzc2FnZX1gLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ=="],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { AXP_ROOT_CONFIG_TOKEN, AXPFilterOperatorMiddlewareService, AXPFileStorageService, AXPFileStorageStatus } from '@acorex/platform/common';
2
+ import { AXPEntityResolver, 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';
5
6
  import { inject, Injectable, NgModule } from '@angular/core';
6
7
  import { kebabCase } from 'lodash-es';
7
- import { firstValueFrom, catchError, of, BehaviorSubject, tap, filter, take, switchMap } from 'rxjs';
8
+ import { firstValueFrom, catchError, of, map, BehaviorSubject, tap, filter, take, switchMap, delay } 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';
@@ -25,6 +25,7 @@ class AXCApiEntityStorageService {
25
25
  this.http = http;
26
26
  this.configs = inject(AXP_ROOT_CONFIG_TOKEN);
27
27
  this.filterService = inject(AXPFilterOperatorMiddlewareService);
28
+ this.entityResolver = inject(AXPEntityResolver);
28
29
  this.mainUrl = this.configs.baseUrl;
29
30
  // API routing constants
30
31
  this.API_VERSION = 'v1';
@@ -304,9 +305,10 @@ class AXMOidcApplicationLoader {
304
305
  this.apiGetApps = `${this.configs.baseUrl}/applications/applications-for-current-tenant`;
305
306
  this.apiSetApp = `${this.configs.baseUrl}/SetApplication`;
306
307
  }
307
- async getList(context) {
308
- const response = await firstValueFrom(this.http.get(this.apiGetApps));
309
- return response.items.map((item) => this.mapToAXPApplication(item));
308
+ getList() {
309
+ return this.http.get(this.apiGetApps).pipe(map((response) => {
310
+ return response.items.map((item) => this.mapToAXPApplication(item));
311
+ }));
310
312
  }
311
313
  set(application) {
312
314
  return Promise.resolve();
@@ -333,13 +335,7 @@ class AXMOidcApplicationLoader {
333
335
  version: item.version || '1.0.0',
334
336
  description: item.description,
335
337
  logo: item.logo, // Assuming logo is of type AXPLogoConfig or undefined
336
- edition: item.edition
337
- ? {
338
- id: item.edition.id,
339
- title: item.edition.title,
340
- description: item.edition.description,
341
- }
342
- : undefined,
338
+ editionName: item.editionName,
343
339
  // features: item.features || [],
344
340
  };
345
341
  }
@@ -411,8 +407,8 @@ class AXMOidcFeatureLoader {
411
407
  }
412
408
  ];
413
409
  }
414
- async getList(context) {
415
- return this.list;
410
+ getList() {
411
+ return of(this.list).pipe(delay(0));
416
412
  }
417
413
  }
418
414
 
@@ -775,16 +771,15 @@ class AXMOidcPermissionLoader {
775
771
  this.configs = inject(AXP_ROOT_CONFIG_TOKEN);
776
772
  this.apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;
777
773
  }
778
- async getList(context) {
779
- const response = await firstValueFrom(this.http.get(this.apiGetConfig));
780
- return this.mapTo(response);
774
+ getList(context) {
775
+ return this.http.get(this.apiGetConfig).pipe(map((response) => this.mapTo(response)));
781
776
  // if (context.user == null)
782
- // return [];
777
+ // return of([]);
783
778
  // else if (context.user.name.toLowerCase() == 'admin')
784
- // return ['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding'];
779
+ // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);
785
780
  // else
786
- // return ['asc.user.gliding'];
787
- // return ['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding'];
781
+ // return of(['asc.user.gliding']);
782
+ // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);
788
783
  }
789
784
  mapTo(jsonObj) {
790
785
  const policies = jsonObj.auth.grantedPolicies;
@@ -804,11 +799,10 @@ class AXMOidcTenantLoader {
804
799
  this.configs = inject(AXP_ROOT_CONFIG_TOKEN);
805
800
  this.apiGetTenants = `${this.configs.baseUrl}/tenants/available-for-user`;
806
801
  }
807
- async getList(context) {
808
- const response = await firstValueFrom(this.http.get(this.apiGetTenants));
809
- return response.items.map((item) => {
802
+ getList() {
803
+ return this.http.get(this.apiGetTenants).pipe(map((response) => response.items.map((item) => {
810
804
  return this.mapToAXPTenant(item);
811
- });
805
+ })));
812
806
  }
813
807
  async set(tenant) {
814
808
  return Promise.resolve();
@@ -846,7 +840,7 @@ class AXCApiUserAvatarProvider {
846
840
  firstName: firstName || '',
847
841
  lastName: lastName || '',
848
842
  status: 'online',
849
- avatarUrl: currentUser.avatar || AXPDataGenerator.avatar(),
843
+ avatarUrl: currentUser.avatar || `https://avatar.iran.liara.run/public/${AXPDataGenerator.pick([35, 22, 16, 6, 31])}`,
850
844
  };
851
845
  }
852
846
  // Use entity service for other users
@@ -861,7 +855,7 @@ class AXCApiUserAvatarProvider {
861
855
  firstName: firstName || '',
862
856
  lastName: lastName || '',
863
857
  status: 'online',
864
- avatarUrl: AXPDataGenerator.avatar(),
858
+ avatarUrl: `https://avatar.iran.liara.run/public/${AXPDataGenerator.pick([35, 22, 16, 6, 31])}`,
865
859
  };
866
860
  }
867
861
  }
@@ -1047,7 +1041,7 @@ class AXCReportManagementApiModule {
1047
1041
  provideCommandSetups([
1048
1042
  {
1049
1043
  key: 'ReportManagement.Report:Execute',
1050
- command: () => import('./acorex-connectivity-api-execute.command-SGNBLcOi.mjs').then((c) => c.AXCReportExecuteCommand),
1044
+ command: () => import('./acorex-connectivity-api-execute.command-CQt_HF1B.mjs').then((c) => c.AXCReportExecuteCommand),
1051
1045
  }
1052
1046
  ]),
1053
1047
  ], imports: [AXPRuntimeModule] }); }
@@ -1064,7 +1058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
1064
1058
  provideCommandSetups([
1065
1059
  {
1066
1060
  key: 'ReportManagement.Report:Execute',
1067
- command: () => import('./acorex-connectivity-api-execute.command-SGNBLcOi.mjs').then((c) => c.AXCReportExecuteCommand),
1061
+ command: () => import('./acorex-connectivity-api-execute.command-CQt_HF1B.mjs').then((c) => c.AXCReportExecuteCommand),
1068
1062
  }
1069
1063
  ]),
1070
1064
  ],