@acorex/modules 18.1.4 → 18.1.5
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/backend/lib/data/api/comment.mock.service.d.ts +6 -6
- package/backend/lib/data/api/notification.mock.service.d.ts +34 -0
- package/esm2022/application-management/lib/application-management.service.mjs +3 -3
- package/esm2022/application-management/lib/module-designer/module-designer.component.mjs +1 -1
- package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +3 -3
- package/esm2022/backend/lib/backend.module.mjs +11 -1
- package/esm2022/backend/lib/data/api/comment.mock.service.mjs +3 -3
- package/esm2022/backend/lib/data/api/notification.mock.service.mjs +71 -0
- package/esm2022/form-management/lib/form-management.module.mjs +5 -4
- package/esm2022/language-management/acorex-modules-language-management.mjs +5 -0
- package/esm2022/language-management/index.mjs +2 -0
- package/esm2022/language-management/lib/entities/language.entity.mjs +242 -0
- package/esm2022/language-management/lib/language-management.module.mjs +39 -0
- package/esm2022/language-management/lib/notification-management.service.mjs +23 -0
- package/esm2022/notification-management/index.mjs +4 -1
- package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.mjs +47 -0
- package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.mjs +131 -0
- package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.mjs +36 -0
- package/esm2022/notification-management/lib/entities/notification-channel.entity.mjs +17 -1
- package/esm2022/notification-management/lib/entities/notification.entity.mjs +207 -0
- package/esm2022/notification-management/lib/notification-management-mock-data.mjs +40 -5
- package/esm2022/notification-management/lib/notification-management.module.mjs +31 -9
- package/esm2022/notification-management/lib/notification-management.service.mjs +21 -12
- package/esm2022/notification-management/lib/notification-management.type.mjs +2 -0
- package/esm2022/notification-management/lib/notification.service.mjs +3 -0
- package/esm2022/template-management/lib/template-management.service.mjs +3 -3
- package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs → acorex-modules-application-management-module-designer.component-CFLXuP2G.mjs} +2 -2
- package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs.map → acorex-modules-application-management-module-designer.component-CFLXuP2G.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +3 -3
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs → acorex-modules-auth-acorex-modules-auth-iGiPFEeb.mjs} +10 -10
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-iGiPFEeb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs → acorex-modules-auth-app-chooser.component-BB3SIzCP.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs.map → acorex-modules-auth-app-chooser.component-BB3SIzCP.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-DMit4yw0.mjs → acorex-modules-auth-login.module-ChEv9c5I.mjs} +4 -4
- package/fesm2022/acorex-modules-auth-login.module-ChEv9c5I.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs → acorex-modules-auth-master.layout-CZv3BD5c.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs.map → acorex-modules-auth-master.layout-CZv3BD5c.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs → acorex-modules-auth-password.component-CPWiBXdG.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs.map → acorex-modules-auth-password.component-CPWiBXdG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-D16ms36y.mjs → acorex-modules-auth-password.component-CxZ1weks.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-D16ms36y.mjs.map → acorex-modules-auth-password.component-CxZ1weks.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs → acorex-modules-auth-routes-C7r2Jm6s.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs.map → acorex-modules-auth-routes-C7r2Jm6s.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-CHr5_kh7.mjs.map +1 -1
- package/fesm2022/acorex-modules-auth-two-factor-code.component-B_7l39pX.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CkZCBo0B.mjs → acorex-modules-auth-two-factor.module-BgkJYe7T.mjs} +2 -2
- package/fesm2022/acorex-modules-auth-two-factor.module-BgkJYe7T.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-backend.mjs +79 -2
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-management.mjs +4 -3
- package/fesm2022/acorex-modules-form-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-language-management-language.entity-CwD5FHGc.mjs +266 -0
- package/fesm2022/acorex-modules-language-management-language.entity-CwD5FHGc.mjs.map +1 -0
- package/fesm2022/acorex-modules-language-management.mjs +46 -0
- package/fesm2022/acorex-modules-language-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-notification-management.mjs +500 -25
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-template-management.mjs +2 -2
- package/fesm2022/acorex-modules-template-management.mjs.map +1 -1
- package/form-management/lib/form-management.module.d.ts +2 -1
- package/language-management/README.md +3 -0
- package/language-management/index.d.ts +1 -0
- package/language-management/lib/entities/language.entity.d.ts +3 -0
- package/language-management/lib/language-management.module.d.ts +12 -0
- package/language-management/lib/notification-management.service.d.ts +9 -0
- package/notification-management/index.d.ts +3 -0
- package/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.d.ts +14 -0
- package/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.d.ts +30 -0
- package/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.d.ts +7 -0
- package/notification-management/lib/entities/notification.entity.d.ts +3 -0
- package/notification-management/lib/notification-management-mock-data.d.ts +31 -3
- package/notification-management/lib/notification-management.module.d.ts +6 -5
- package/notification-management/lib/notification-management.service.d.ts +8 -4
- package/notification-management/lib/notification-management.type.d.ts +42 -0
- package/notification-management/lib/notification.service.d.ts +7 -0
- package/package.json +6 -6
- package/esm2022/notification/acorex-modules-notification.mjs +0 -5
- package/esm2022/notification/index.mjs +0 -4
- package/esm2022/notification/lib/notification.module.mjs +0 -16
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-login.module-DMit4yw0.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-two-factor.module-CkZCBo0B.mjs.map +0 -1
- package/fesm2022/acorex-modules-notification.mjs +0 -26
- package/fesm2022/acorex-modules-notification.mjs.map +0 -1
- package/notification/README.md +0 -4
- package/notification/index.d.ts +0 -1
- package/notification/lib/notification.module.d.ts +0 -6
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-backend.mjs","sources":["../../../../libs/modules/backend/src/lib/auth/oidc/application.loader.ts","../../../../libs/modules/backend/src/lib/auth/oidc/configuration.service.ts","../../../../libs/modules/backend/src/lib/auth/oidc/feature.loader.ts","../../../../libs/modules/backend/src/lib/auth/oidc/oidc.strategy.ts","../../../../libs/modules/backend/src/lib/auth/oidc/permission.loader.ts","../../../../libs/modules/backend/src/lib/auth/oidc/tenant.loader.ts","../../../../libs/modules/backend/src/lib/data/api/data-provider.ts","../../../../libs/modules/backend/src/lib/auth/oidc/signincallback.component.ts","../../../../libs/modules/backend/src/lib/data/api/comment.mock.service.ts","../../../../libs/modules/backend/src/lib/data/api/comment.service.ts","../../../../libs/modules/backend/src/lib/data/api/file.service.ts","../../../../libs/modules/backend/src/lib/data/api/module-designer.service.ts","../../../../libs/modules/backend/src/lib/data/local/local-data-provider.ts","../../../../libs/modules/backend/src/lib/backend.module.ts","../../../../libs/modules/backend/src/acorex-modules-backend.ts"],"sourcesContent":["import { AXPApplication, AXPApplicationLoader, AXPRefreshTokenResult } from '@acorex/platform/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcApplicationLoader implements AXPApplicationLoader {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private apiGetApps = `${this.configs.baseUrl}/applications/GetListByTenantId`;\n private apiSetApp = `${this.configs.baseUrl}/SetApplication`;\n constructor(private http: HttpClient) { }\n\n\n getList(): Observable<AXPApplication[]> {\n return this.http.get<{ items: any[] }>(this.apiGetApps).pipe(\n map((response) => {\n return response.items.map((item) => this.mapToAXPApplication(item));\n })\n );\n }\n\n set(application: AXPApplication): Promise<void> {\n return Promise.resolve();\n }\n\n // //TODO: shoud be removed\n // set(application: AXPApplication): Observable<AXPRefreshTokenResult> {\n // return this.http.post<any>(this.apiSetApp, { applicationId: application.id }).pipe(\n // map((response) => {\n // return {\n // succeed: true,\n // data: {\n // accessToken: response.token,\n // refreshToken: response.token,\n // }\n // };\n // })\n // );\n // }\n\n private mapToAXPApplication(item: any): AXPApplication {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n version: item.version || '1.0.0',\n description: item.description,\n logo: item.logo, // Assuming logo is of type AXPLogoConfig or undefined\n editionName: item.editionName,\n // features: item.features || [],\n };\n }\n}\n","import { AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, Observable, filter, of, switchMap, take, tap } from 'rxjs';\n\nexport interface Localization {\n values: Record<string, Record<string, string>>;\n resources: Record<string, Resource>;\n languages: Language[];\n currentCulture: Culture;\n defaultResourceName: string;\n languagesMap: Record<string, NameValue[]>;\n languageFilesMap: Record<string, NameValue[]>;\n}\n\nexport interface Resource {\n texts: Record<string, string>;\n baseResources: string[];\n}\n\nexport interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n twoLetterISOLanguageName: string;\n flagIcon: string;\n}\n\nexport interface Culture {\n displayName: string;\n // ... other properties\n}\n\nexport interface NameValue {\n name: string;\n value: string;\n}\n\n// Repeat similar patterns for 'auth', 'setting', 'currentUser', etc.\nexport interface Auth {\n grantedPolicies: Record<string, boolean>;\n}\n\n// Main configuration interface\nexport interface ApplicationConfiguration {\n localization: Localization;\n auth: Auth;\n setting: Record<string, any>;\n currentUser: any;\n features: Record<string, any>;\n globalFeatures: Record<string, any>;\n multiTenancy: Record<string, any>;\n currentCulture: Culture;\n timing: Record<string, any>;\n clock: Record<string, any>;\n objectExtensions: Record<string, any>;\n extraProperties: Record<string, any>;\n\n // ... other properties\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMConfigurationService {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private applicationConfig: ApplicationConfiguration | null = null;\n private apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n private fetchInProgress: boolean = false;\n private configSubject: BehaviorSubject<ApplicationConfiguration | null> = new BehaviorSubject<ApplicationConfiguration | null>(null);\n\n constructor(private http: HttpClient) {\n this.init().subscribe(); // Automatically trigger configuration load on service instantiation\n }\n\n public init(): Observable<ApplicationConfiguration> {\n if (!this.fetchInProgress) {\n this.fetchInProgress = true;\n return this.http.get<ApplicationConfiguration>(this.apiGetConfig).pipe(\n tap((response) => {\n this.applicationConfig = response;\n this.configSubject.next(this.applicationConfig);\n this.fetchInProgress = false;\n })\n );\n } else {\n // Adjusted approach to handle TypeScript's type safety requirements\n return this.configSubject.asObservable().pipe(\n filter((config): config is ApplicationConfiguration => config !== null),\n take(1) // Ensures it completes after emitting the first non-null value\n );\n }\n }\n\n getConfig(): Observable<ApplicationConfiguration> {\n if (this.applicationConfig) {\n // If the config is already loaded, return it immediately\n return of(this.applicationConfig);\n } else {\n // If the config is not loaded, initiate loading\n return this.configSubject.asObservable().pipe(\n filter((config) => config !== null),\n take(1), // Ensure it only emits the first non-null value and completes\n switchMap(() => of(this.applicationConfig!))\n );\n }\n }\n}\n","import { AXPFeature, AXPFeatureLoader } from '@acorex/platform/auth';\nimport { Observable, delay, of } from 'rxjs';\n\nexport class AXMOidcFeatureLoader implements AXPFeatureLoader {\n\n private list: AXPFeature[] = [\n {\n name: 'axp-entity-list-custom-view',\n title: 'Custom View',\n value: false\n },\n {\n name: 'axp-entity-list-quick-search',\n title: 'Custom View',\n value: false\n }\n ]\n\n getList(): Observable<AXPFeature[]> {\n return of(this.list).pipe(delay(0));\n }\n}\n","import { AXMAuthConfigs, AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';\nimport {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSessionData,\n AXPSessionService,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { AuthConfig, OAuthService } from 'angular-oauth2-oidc';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcStrategy implements AXPAuthStrategy {\n private aXMAuthConfigs: AXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);\n private oauthService: OAuthService = inject(OAuthService);\n private http: HttpClient = inject(HttpClient);\n public userInfo: any;\n public authConfig: AuthConfig;\n public openidConfigurationInfo: any; // clarify the type if possible\n\n public async configureOAuth(): Promise<void> {\n if (this.openidConfigurationInfo) return;\n\n if (!this.authConfig) {\n if (!this.aXMAuthConfigs.authConfig) {\n throw new Error('authConfig is missing');\n }\n this.authConfig = this.aXMAuthConfigs.authConfig;\n }\n\n this.oauthService.configure(this.authConfig);\n this.oauthService.setStorage(localStorage);\n\n this.openidConfigurationInfo = await this.oauthService.loadDiscoveryDocument();\n\n if (!this.openidConfigurationInfo) {\n throw new Error('openidConfigurationInfo is missing');\n }\n\n this.oauthService.events.subscribe(async (event) => {\n // console.log('event', event);\n // if (event.type === 'token_received') {\n // console.log('Token has been refreshed');\n // }\n // if (event.type === 'token_expires') {\n // console.log('Token is about to expire. Triggering silent refresh...');\n // }\n });\n\n const oidcJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n\n if (oidcJson) {\n const authData = JSON.parse(oidcJson) as AXPSessionData;\n if (authData) {\n this.setServiceProps(authData);\n\n if (authData.expiresIn && new Date(authData.expiresIn) < new Date()) {\n if (authData.expiresIn) {\n // this.refresh();\n } else {\n this.logout();\n }\n }\n }\n }\n }\n\n async signin(credentials: AXPUserPassCredentials): Promise<AXPSignInResult> {\n await this.configureOAuth();\n try {\n const body = new HttpParams()\n .set('grant_type', 'password')\n .set('client_id', this.authConfig.clientId!)\n .set('client_secret', this.authConfig.dummyClientSecret!)\n .set('username', credentials.username)\n .set('password', credentials.password)\n .set('scope', this.authConfig.scope!);\n\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n\n const response = await firstValueFrom(\n this.http.post<IAuthenticationDataModel>(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers })\n );\n\n // const authData = new AuthenticationData(response);\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n } as AXPSessionData);\n\n return {\n succeed: true,\n data: {\n accessToken: response.access_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n idToken: response.id_token,\n refreshToken: response.refresh_token!,\n user: {\n id: response.sub,\n title: response.fullname,\n name: response.sub,\n avatar: response.picture,\n } as AXPUser,\n tenant: {\n id: response.tenantid!,\n name: response.tenantname!,\n title: response.tenanttitle!,\n },\n application: {\n id: response.applicationid!,\n name: response.applicationname!,\n title: response.applicationtitle,\n },\n },\n };\n } catch (error: any) {\n this.handleError(error);\n }\n }\n\n async signout(): Promise<void> {\n //this.logout();\n }\n\n async refreshToken(context: AXPSessionContext): Promise<AXPRefreshTokenResult> {\n try {\n await this.configureOAuth();\n const refreshResult = await this.refresh(context.tenant?.id, context.application?.id);\n if (refreshResult) {\n return {\n succeed: true,\n data: {\n accessToken: this.oauthService.getAccessToken(),\n refreshToken: this.oauthService.getRefreshToken(),\n },\n };\n } else {\n return { succeed: false };\n }\n } catch (error) {\n console.error('Error refreshing token', error);\n return { succeed: false };\n }\n }\n\n async refresh(tenantId?: string, applicationId?: string): Promise<boolean> {\n await this.configureOAuth();\n const authData = this.loadAuthData();\n if (!authData) return false;\n\n const refreshToken = this.oauthService.getRefreshToken();\n if (!refreshToken) return false;\n\n const body = new HttpParams()\n .set('grant_type', 'refresh_token')\n .set('client_id', this.authConfig.clientId!)\n .set('client_secret', this.authConfig.dummyClientSecret!)\n .set('refresh_token', refreshToken)\n .set('tenantId', tenantId ?? '')\n .set('applicationId', applicationId ?? '');\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n\n try {\n const response = await firstValueFrom(\n this.http.post<IAuthenticationDataModel>(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers })\n );\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n } as AXPSessionData);\n\n return true;\n } catch (error) {\n console.error('Token refresh error', error);\n return false;\n }\n }\n\n expires_in_milisecound(expires_in_date: string): number {\n const now = new Date();\n const expire = new Date(expires_in_date);\n return expire.getTime() - now.getTime();\n }\n\n private setServiceProps(authData: AXPSessionData): void {\n this.oauthService.getAccessToken = () => authData.accessToken;\n this.oauthService.getIdToken = () => authData.idToken ?? '';\n this.oauthService.getRefreshToken = () => authData.refreshToken;\n if (authData.expiresIn) {\n const refreshTime = this.expires_in_milisecound(authData.expiresIn!);\n this.oauthService.getAccessTokenExpiration = () => refreshTime;\n // if (refreshTime < 0) {\n // this.refresh();\n // }else{\n // }\n }\n }\n\n private loadAuthData(): AXPSessionData | undefined {\n const authDataJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n if (!authDataJson) return undefined;\n\n const authData = JSON.parse(authDataJson) as AXPSessionData;\n\n // return authData ? new AuthenticationData(authData) : undefined;\n return authData;\n }\n\n public async loadUserInfo(): Promise<object> {\n return this.oauthService.loadUserProfile();\n }\n public calculateExpireInDate(expireInMilisecound: number) {\n return new Date(Date.now() + expireInMilisecound * 1000).toISOString();\n }\n private logout(): void {\n this.oauthService.logOut({\n noRedirectToLogoutUrl: true\n });\n }\n\n private handleError(error: any): never {\n if (error?.reason) {\n throw new Error(JSON.stringify(error.reason));\n } else if (error?.message) {\n throw new Error(error.message);\n } else {\n throw new Error('Network or server error occurred');\n }\n }\n\n //#region getter\n get name(): string {\n return 'user-pass';\n }\n //#endregion\n}\n\nexport interface AXPUserPassCredentials extends AXPBaseCredentials {\n username: string;\n password: string;\n}\n\n// export class AuthenticationData {\n// access_token: string;\n// applicationid?: string;\n// applicationname?: string;\n// applicationtitle?: string;\n// editionid?: string;\n// editionname?: string;\n// editiontitle?: string;\n// id_token?: string;\n// refresh_token?: string;\n// scope?: string;\n// tenantid?: string;\n// tenantname?: string;\n// tenanttitle?: string;\n// token_type?: string;\n// expires_in_date?: string;\n// sub?: string;\n// picture?: string;\n// fullname?: string;\n\n// constructor(data: AuthenticationDataModel) {\n// this.access_token = data.access_token;\n// this.applicationid = data.applicationid;\n// this.applicationname = data.applicationname;\n// this.applicationtitle = data.applicationtitle;\n// this.editionid = data.editionid;\n// this.editionname = data.editionname;\n// this.editiontitle = data.editiontitle;\n// this.id_token = data.id_token;\n// this.refresh_token = data.refresh_token;\n// this.scope = data.scope;\n// this.tenantid = data.tenantid;\n// this.tenantname = data.tenantname;\n// this.tenanttitle = data.tenanttitle;\n// this.token_type = data.token_type;\n// this.sub = data.sub;\n// this.picture = data.picture;\n// this.fullname = data.fullname;\n\n// if (data.expires_in) {\n// this.expires_in_date = new Date(Date.now() + data.expires_in * 1000).toISOString();\n// } else {\n// this.expires_in_date = data.expires_in_date || '';\n// }\n// }\n\n// get expires_in_milisecound(): number {\n// const now = new Date();\n// const expire = new Date(this.expires_in_date!);\n// return expire.getTime() - now.getTime();\n// }\n\n// public setTokenRefreshModel(data: AuthenticationDataModel): void {\n// this.access_token = data.access_token;\n// this.id_token = data.id_token;\n// this.token_type = data.token_type;\n// this.scope = data.scope;\n// this.refresh_token = data.refresh_token;\n// this.expires_in_date = new Date(Date.now() + data.expires_in! * 1000).toISOString();\n// }\n// }\n\nexport interface IAuthenticationDataModel {\n access_token: string;\n applicationid: string;\n applicationname: string;\n applicationtitle: string;\n editionid: string;\n editionname: string;\n editiontitle: string;\n id_token: string;\n refresh_token: string;\n scope: string;\n tenantid: string;\n tenantname: string;\n tenanttitle: string;\n token_type: string;\n expires_in?: number;\n sub?: string;\n fullname?: string;\n picture?: string;\n}\n","import { AXPPermission, AXPPermissionLoader, AXPSessionContext } from '@acorex/platform/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcPermissionLoader implements AXPPermissionLoader {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n\n constructor(private http: HttpClient) {}\n\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n return this.http.get<{ items: any }>(this.apiGetConfig).pipe(map((response) => this.mapTo(response)));\n // if (context.user == null)\n // return of([]);\n // else if (context.user.name.toLowerCase() == 'admin')\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n // else\n // return of(['asc.user.gliding']);\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n }\n\n mapTo(jsonObj: any): string[] {\n const policies = jsonObj.auth.grantedPolicies;\n const truePolicies = Object.keys(policies).filter((key) => policies[key] === true);\n return truePolicies;\n }\n}\n","import { AXPTenant, AXPTenantLoader } from '@acorex/platform/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcTenantLoader implements AXPTenantLoader {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private apiGetTenants = `${this.configs.baseUrl}/user-tenants/Tenants`;\n private apiSetTenant = `${this.configs.baseUrl}/SetTenant`;\n constructor(private http: HttpClient) { }\n\n getList(): Observable<AXPTenant[]> {\n return this.http.get<{ items: any[] }>(this.apiGetTenants).pipe(map((response) => response.items.map((item) => this.mapToAXPTenant(item))));\n }\n\n async set(tenant: AXPTenant): Promise<void> {\n return Promise.resolve();\n }\n\n private mapToAXPTenant(item: any): AXPTenant {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n // Add other fields and defaults as needed, and handle the logo if applicable\n };\n }\n}\n","import { AXPDataProvider, AXPEntityConfig, AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMBackendDataProvider implements AXPDataProvider {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private mainUrl = this.configs.baseUrl;\n\n constructor(private http: HttpClient) {}\n\n insertOne(entity: AXPEntityConfig, entityItem: any): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}`;\n return firstValueFrom(this.http.post(url, entityItem));\n }\n\n insertMany(entity: AXPEntityConfig, entityList: any): Promise<any> {\n const promises = entityList.map((entity: any) => {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}`;\n return firstValueFrom(this.http.post(url, entity));\n });\n return Promise.all(promises);\n }\n\n getOne(entity: AXPEntityConfig, id: string): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}${\n id ? '/' + id : ''\n }`;\n return firstValueFrom(this.http.get(url));\n }\n\n getMany(entity: AXPEntityConfig, params?: any): Promise<any> {\n let httpParams = new HttpParams()\n .set('Skip', params?.skip?.toString() ?? '0')\n .set('Take', params?.take?.toString() ?? '10');\n if (params?.sort && params?.sort.length > 0) {\n const sortParam = params?.sort.map((sort: any) => `${sort.field}:${sort.dir}`).join(',');\n httpParams = httpParams.set('$orderby', sortParam);\n }\n\n const buildFilterString = (filters: any[]): string => {\n return filters\n .map((f: any) => {\n if (f.filters) {\n return buildFilterString(f.filters);\n } else {\n return `${f.field} ${f.operator.type} ${f.value}`;\n }\n })\n .join(',');\n };\n\n let filterString = params?.customFilter ? params.customFilter : '';\n if (params?.filter) {\n const filter = params.filter;\n if (filter.filters) {\n // Construct filter string from provided filters\n\n const dynamicFilters = buildFilterString(filter.filters);\n\n // Append dynamic filters to custom filter, if both exist\n filterString = filterString ? `${filterString},${dynamicFilters}` : dynamicFilters;\n }\n }\n // Set the $filter parameter if there are any filters\n if (filterString) {\n httpParams = httpParams.set('$filter', filterString);\n }\n function capitalizeFirstLetter(str: string) {\n return str ? str.charAt(0).toUpperCase() + str.slice(1) : str;\n }\n\n function generateQueryString(filter: any) {\n if (!filter.filters) {\n // Base case: single filter\n return `${filter.field} ${filter.operator.type} '${filter.value}'`;\n } else if (!filter.filters.length) {\n return;\n } else {\n // Recursive case: multiple filters\n\n const filterStrings = filter.filters.map((subFilter: any) => generateQueryString(subFilter));\n const logic = filter.logic || 'AND'; // Default logic is 'AND' if not provided\n return `${filterStrings.filter((i: any) => i).join(` ${logic} `)}`;\n }\n }\n\n if (params?.date) {\n httpParams = httpParams.set('Date', params.date);\n }\n\n let queryString = params?.customFilter ? params.customFilter : '';\n if (params?.filter) {\n const filter = params.filter;\n if (filter.filters && filter.filters.length > 0) {\n // Construct filter string from provided filters\n\n const dynamicQueries = generateQueryString(filter);\n console.log({ dynamicQueries: dynamicQueries });\n\n // Append dynamic filters to custom filter, if both exist\n queryString = queryString ? `${queryString},${dynamicQueries}` : dynamicQueries;\n }\n }\n // Set the $filter parameter if there are any filters\n if (queryString) {\n httpParams = httpParams.set('$query', queryString);\n }\n return firstValueFrom(\n this.http.get<any>(\n `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${\n params?.costumGetter ? params.costumGetter : entity.name\n }/${params?.sub ? params.sub : ''}`,\n { params: httpParams }\n )\n ).then((response) => {\n return {\n total: response.totalCount,\n items: response.items,\n };\n });\n }\n\n updateOne(entity: AXPEntityConfig, id?: string, data?: { [key: string]: any }): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}${\n id ? '/' + id : ''\n }`;\n return firstValueFrom(this.http.put(url, data));\n }\n\n deleteOne(entity: AXPEntityConfig, id: string): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}/${id}`;\n return firstValueFrom(this.http.delete(url));\n }\n\n getFirst(entity: AXPEntityConfig): Promise<any> {\n // return this.getMany(entity.name).then((res) => res.items[0]);\n return new Promise((resolve) => resolve(true));\n }\n\n // File uploader function\n uploadFile(file: File, title: string, customUrl?: string): Promise<string> {\n const url = customUrl ? `${this.mainUrl}/${customUrl}` : `${this.mainUrl}/common/files`;\n const formData: FormData = new FormData();\n formData.append('File', file);\n formData.append('Title', title);\n\n return firstValueFrom(this.http.post<string>(url, formData));\n }\n\n // Function to upload multiple files\n uploadMultipleFiles(files: File[], title: string): Promise<string[]> {\n const uploadPromises = files.map((file) => this.uploadFile(file, title));\n return Promise.all(uploadPromises);\n }\n\n // Function to view a file\n viewFile(id: string, name: string): Promise<Blob> {\n const url = `${this.mainUrl}/common/files/${id}/View/${name}`;\n return firstValueFrom(this.http.get(url, { responseType: 'blob' }));\n }\n\n // Function to download a file\n downloadFile(id: string, name: string): Promise<Blob> {\n const url = `${this.mainUrl}/common/files/${id}/Download/${name}`;\n return firstValueFrom(this.http.get(url, { responseType: 'blob' }));\n }\n}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { Component, OnInit, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n template: '',\n})\nexport class SignincallbackComponent implements OnInit {\n private sessionService = inject(AXPSessionService);\n constructor(private router: Router, private route: ActivatedRoute) {}\n\n ngOnInit() {\n const queryParams = this.route.snapshot.queryParams;\n if (queryParams['tenantid']) {\n const selectedTenant = {\n id: queryParams['tenantid'],\n name: queryParams['tenantname'],\n title: queryParams['tenanttitle'],\n };\n this.sessionService.setTenant(selectedTenant);\n }\n if (queryParams['applicationid']) {\n const selectedApplication = {\n id: queryParams['applicationid'],\n name: queryParams['applicationname'],\n title: queryParams['applicationtitle'],\n version: '1',\n editionName: queryParams['editionname'],\n };\n this.sessionService.setApplication(selectedApplication);\n }\n // this.userManagerService.signinSilentCallback();\n }\n}\n","import { AXPDataGenerator, AXPStorageService } from '@acorex/platform/common';\nimport {\n AXPComment,\n AXPCommentResponse,\n AXPDeleteRequest,\n AXPGetRequest,\n AXPLikeRequest,\n AXPPostRequest,\n AXPPutRequest,\n} from '@acorex/platform/themes/shared';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMMockCommentService {\n private storageService = inject(AXPStorageService);\n private name = 'comments';\n\n async get(params: AXPGetRequest): Promise<AXPCommentResponse> {\n const data = (await this.storageService.getAll(this.name)) as AXPComment[];\n return Promise.resolve({ totalCount: data.length, items: data });\n }\n\n async post(payload: AXPPostRequest): Promise<string> {\n const extraPayload = {\n id: AXPDataGenerator.uuid(), // Generate a unique ID for the comment\n memberId: AXPDataGenerator.uuid(), // Simulate member ID (e.g., the user posting)\n memberType: AXPDataGenerator.pick(['user', 'admin']), // Simulate the member type (user/admin)\n roomId: AXPDataGenerator.uuid(), // Generate a random room ID\n messageVisibles: [], // Empty array for visibility, can be customized\n messageStatuses: [], // Empty array for statuses, can be customized\n messageHistories: [], // Empty array for history, can be customized\n replies: [], // Initially no replies\n isArchived: false, // Default to not archived\n isLiked: false, // Default to not liked\n reactionsCount: 0, // Default to 0 reactions\n repliesCount: 0, // Default to 0 replies\n user: {\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n },\n };\n const fullPayload = { ...payload, ...extraPayload };\n if (payload.replyId) {\n const message = await this.storageService.getOne(this.name, payload.replyId);\n await this.storageService.updateOne(this.name, payload.replyId, {\n ...message,\n replies: [...message.replies, fullPayload],\n });\n return Promise.resolve('done');\n } else {\n await this.storageService.insertOne(this.name, fullPayload);\n return Promise.resolve('done');\n }\n }\n\n async put(payload: AXPPutRequest): Promise<string> {\n //const message = await this.storageService.getOne(this.name, payload.id);\n await this.storageService.updateOne(this.name, payload.id, { content: payload.content });\n return Promise.resolve('done');\n }\n\n async delete(payload: AXPDeleteRequest): Promise<void> {\n await this.storageService.deleteOne(this.name, payload.id);\n return Promise.resolve();\n }\n\n async like(payload: AXPLikeRequest): Promise<string> {\n const message = await this.storageService.getOne(this.name, payload.messageId);\n await this.storageService.updateOne(this.name, payload.messageId, {\n ...message,\n isLiked: !message.isLiked,\n reactionsCount: message.isLiked ? --message.reactionsCount : ++message.reactionsCount,\n });\n return Promise.resolve('done');\n }\n}\n\nexport const COMMENTS = Array.from({ length: 10 }).map(() => {\n const contentSource = [\n 'This is a comment.',\n 'I really like this!',\n 'Could you clarify your point?',\n 'Great job on this!',\n 'I have some suggestions.',\n 'This is quite insightful.',\n 'Thanks for sharing!',\n 'I disagree with this perspective.',\n 'Interesting take!',\n 'What do you think about this?',\n ];\n const repliesCount = AXPDataGenerator.number(0, 3);\n\n return {\n id: AXPDataGenerator.uuid(),\n entityId: 'test', // AXPDataGenerator.pick(ENTITIES).id,//need to fix\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: null,\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n replies: Array.from({ length: repliesCount }).map(() => {\n return {\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: AXPDataGenerator.pick(['text']),\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 10),\n repliesCount: 0,\n user: {\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n },\n };\n }),\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 100),\n repliesCount: repliesCount,\n user: {\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n },\n };\n});\n","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMCommentService {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private http = inject(HttpClient);\n\n private mainUrl = this.configs.baseUrl;\n private messagesUrl = `${this.configs.baseUrl}/conversion/messages/room`;\n private messagePostUrl = `${this.configs.baseUrl}/conversion/messages`;\n private messageReactionUrl = `${this.configs.baseUrl}/conversion/message-reactions/change`;\n\n async get(params: any): Promise<any> {\n const url = `${this.messagesUrl}`;\n return await firstValueFrom(\n this.http.get<any>(url, {\n params: params,\n })\n );\n }\n\n async post(payload: any): Promise<any> {\n const url = `${this.messagePostUrl}`;\n return await firstValueFrom(this.http.post<any>(url, payload));\n }\n\n async put(payload: any): Promise<any> {\n const url = `${this.messagePostUrl}/${payload.id}`;\n return await firstValueFrom(this.http.put<any>(url, { content: payload.content }));\n }\n\n async delete(payload: any): Promise<any> {\n const url = `${this.messagePostUrl}/${payload.id}`;\n return await firstValueFrom(this.http.delete<any>(url));\n }\n\n async like(payload: any): Promise<any> {\n const url = `${this.messageReactionUrl}`;\n return await firstValueFrom(this.http.put<any>(url, payload));\n }\n\n // async deleteComment(commentId: string): Promise<any> {\n // const url = `${this.mainUrl}/delete-comment/${commentId}`;\n // return await firstValueFrom(this.http.delete<any>(url));\n // }\n\n // async editComment(payload: any): Promise<any> {\n // const url = `${this.mainUrl}/edit-comment`;\n // return await firstValueFrom(this.http.put<any>(url, payload));\n // }\n}\n","import { AXUploadRequest } from '@acorex/components/uploader';\nimport { AXDownloadStatus, AXNetworkService, AXUploadStatus } from '@acorex/core/network';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMFileManagementService {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private mainUrl = this.configs.baseUrl;\n private http = inject(HttpClient);\n private networkService = inject(AXNetworkService);\n\n upload(requests: AXUploadRequest[]): Promise<PromiseSettledResult<unknown>[]> {\n const url = `${this.mainUrl}/common/files`;\n const tasks = requests.map((r) => {\n const formData: FormData = new FormData();\n formData.append('File', r.file);\n const task = this.networkService.upload(url, formData);\n\n return new Promise((resolve, reject) => {\n task.events.subscribe({\n next: (event) => {\n if (event.status == AXUploadStatus.UploadFailed) {\n r.error(event.message || '');\n reject(event.result);\n }\n if (event.status == AXUploadStatus.UploadComplete) {\n r.finish();\n resolve(event.result);\n } else {\n r.setTransferredBytes(event.bytesTransferred);\n }\n },\n });\n\n r.onStart.subscribe(() => {\n task.start();\n });\n\n r.onCancel.subscribe(() => {\n task.cancel();\n reject({ status: 'cancelled', request: r });\n });\n\n r.upload();\n });\n });\n\n return Promise.allSettled(tasks);\n }\n\n delete(fileId: string): Promise<any> {\n return new Promise((resolve, reject) => {\n setTimeout(() => resolve({ success: true, fileId }), 1000);\n });\n }\n get(fileId: string, name: string): Observable<any> {\n return new Observable((observer) => {\n const url = `${this.mainUrl}/common/files/${fileId}/Download/${name}`;\n const downloadTask = this.networkService.download(url);\n\n downloadTask.events.subscribe(\n (event) => {\n // Emit progress events\n observer.next({\n status: event.status,\n progress: event.progress,\n fileId,\n data: event.data || null, // Assuming `event.data` contains the downloaded file's data when completed\n });\n\n // Complete the observable if download is finished\n if (event.status === AXDownloadStatus.DownloadComplete) {\n observer.complete();\n }\n },\n (error) => {\n console.error('Download failed:', error);\n observer.error({\n status: 'failed',\n fileId,\n error,\n });\n }\n );\n return () => {\n downloadTask.cancel();\n };\n });\n }\n\n list(): Promise<any> {\n return new Promise((resolve, reject) => {\n setTimeout(() => resolve([{ fileId: '1', data: 'fileData' }]), 1000);\n });\n }\n\n setMetadata(fileId: string, metadata: any): Promise<any> {\n return new Promise((resolve, reject) => {\n setTimeout(() => resolve({ fileId, metadata }), 1000);\n });\n }\n}\n","import { AXDataSourceQuery } from '@acorex/components/common';\nimport { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMModuleDesignerService implements AXPModuleDesignerService {\n protected loader: any = inject(AXPEntityDefinitionRegistryService);\n\n protected defaultConfig = {\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: 'equal' as any,\n },\n };\n\n protected AdvanceConfig = (moduleId: string): AXDataSourceQuery => ({\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: { type: 'equal' },\n filters: [\n {\n field: 'moduleId',\n operator: { type: 'equal' },\n value: moduleId,\n },\n ],\n },\n });\n\n private async moduleDef() {\n return this.loader.resolve('application-management', 'module');\n }\n private async entityDef() {\n return this.loader.resolve('application-management', 'entity');\n }\n private async featureDef() {\n return this.loader.resolve('application-management', 'feature');\n }\n private async permissionDef() {\n return this.loader.resolve('application-management', 'permission');\n }\n\n async getModules() {\n const entity: AXPEntity = await this.moduleDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.defaultConfig);\n }\n\n async getSingleModule() {}\n\n async createModule(payload: any): Promise<any> {}\n\n async updateModule(moduleId: string, payload: any): Promise<any> {}\n\n async deleteModule(moduleId: string): Promise<any> {}\n\n //\n\n async getEntities(moduleId: string) {\n const entity: AXPEntity = await this.entityDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleEntity(entityId: string) {}\n\n async createEntity(payload: any): Promise<any> {}\n\n async updateEntity(payload: any): Promise<any> {}\n\n async deleteEntity(entityId: string): Promise<any> {}\n\n //\n\n async getFeatures(moduleId: string) {\n const entity: AXPEntity = await this.featureDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleFeature(featureId: string) {}\n\n async createFeature(payload: any): Promise<any> {}\n\n async updateFeature(payload: any): Promise<any> {}\n\n async deleteFeature(featureId: string): Promise<any> {}\n\n //\n\n async getPermissions(moduleId: string) {\n const entity: AXPEntity = await this.permissionDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSinglePermission(permissionId: string) {}\n\n async createPermission(payload: any): Promise<any> {}\n\n async updatePermission(payload: any): Promise<any> {}\n\n async deletePermission(permissionId: string): Promise<any> {}\n}\n","import { AXPDataProvider, AXPEntityConfig } from '@acorex/platform/common';\nimport { applyFilterArray, applySortArray } from '@acorex/platform/core';\nimport { AXPStorageMockService } from '@acorex/platform/mocks';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMLocalDataProvider implements AXPDataProvider {\n constructor(private storageService: AXPStorageMockService) {}\n\n insertOne(entity: AXPEntityConfig, entityItem: any): Promise<any> {\n return this.storageService.insertOrupdateOne(entity.name, entityItem);\n }\n\n insertMany(entity: AXPEntityConfig, entityList: any): Promise<any> {\n return this.storageService.insertMany(entity.name, entityList);\n }\n\n async getOne(entity: AXPEntityConfig, id: string): Promise<any> {\n console.log('@LOACAL getOne', entity.name, id);\n return this.storageService.getOne(entity.name, id);\n }\n\n async getMany(entity: AXPEntityConfig, params?: any): Promise<any> {\n console.log('@LOACAL getMany', entity.name, params);\n const result = await this.storageService.getMany(entity.name, params);\n const sortedItems = applySortArray(result, params?.sort);\n const filteredItems = applyFilterArray(sortedItems, params?.filter?.filters);\n return new Promise((resolve) => {\n resolve({\n items: params ? filteredItems?.slice(params.skip, (params.skip ?? 0) + (params.take ?? 20)) : filteredItems,\n total: filteredItems?.length ?? 0,\n });\n });\n }\n\n updateOne(entity: AXPEntityConfig, id: string, data: { [key: string]: any }): Promise<any> {\n return this.storageService.updateOne(entity.name, id, data);\n }\n\n deleteOne(entity: AXPEntityConfig, id: string): Promise<any> {\n return this.storageService.deleteOne(entity.name, id);\n }\n\n getFirst(entity: AXPEntityConfig): Promise<any> {\n return this.getMany(entity).then((res) => {\n return res.items ? res.items[0] : null;\n });\n }\n\n // Mock file uploader function\n uploadFile(file: File, title: string): Promise<string> {\n return new Promise((resolve) => {\n // Mock file ID generation\n const fileId = `mock-file-id-${Math.random().toString(36).substr(2, 9)}`;\n const fileRecord = { id: fileId, title, file };\n this.storageService.insertOrupdateOne('files', fileRecord).then(() => {\n resolve(fileId);\n });\n });\n }\n\n // Mock function to upload multiple files\n uploadMultipleFiles(files: File[], title: string): Promise<string[]> {\n const uploadPromises = files.map((file) => this.uploadFile(file, title));\n return Promise.all(uploadPromises);\n }\n\n // Mock function to view a file\n viewFile(id: string, name: string): Promise<Blob> {\n return new Promise(async (resolve, reject) => {\n const fileRecord = await this.storageService.getOne('files', id);\n if (fileRecord && fileRecord.file) {\n resolve(fileRecord.file);\n } else {\n reject('File not found');\n }\n });\n }\n\n // Mock function to download a file\n downloadFile(id: string, name: string): Promise<Blob> {\n return this.viewFile(id, name);\n }\n}\n","import { AXMAuthModule } from '@acorex/modules/auth';\nimport {\n AXPAuthModule,\n AXP_APPLICATION_LOADER,\n AXP_FEATURE_LOADER,\n AXP_PERMISSION_LOADER,\n AXP_TENANT_LOADER,\n} from '@acorex/platform/auth';\nimport { AXPDataProvider } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\n\n//-----------------------------------------------------------------\nimport {\n AXMOidcApplicationLoader,\n AXMOidcFeatureLoader,\n AXMOidcPermissionLoader,\n AXMOidcStrategy,\n AXMOidcTenantLoader,\n} from './auth/oidc';\nimport { AXMBackendDataProvider } from './data/api/data-provider';\n//-----------------------------------------------------------------\n\nimport { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXPCommentService } from '@acorex/platform/themes/shared';\nimport { AXPFileManagementService } from '@acorex/platform/widgets';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { SignincallbackComponent } from './auth/oidc/signincallback.component';\nimport { AXMCommentService, AXMFileManagementService, AXMModuleDesignerService } from './data';\n\nfunction routesFactory() {\n const routes: Routes = [{ path: 'auth/signincallback', component: SignincallbackComponent }];\n return routes;\n}\n\n@NgModule({\n imports: [\n OAuthModule.forRoot(),\n AXMAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXPDataProvider,\n useClass: AXMBackendDataProvider,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: AXMOidcTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: AXMOidcApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: AXMOidcPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: AXMOidcFeatureLoader,\n },\n {\n provide: AXPFileManagementService,\n useClass: AXMFileManagementService,\n },\n {\n provide: AXPCommentService,\n useClass: AXMCommentService,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXMModuleDesignerService,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFactory,\n },\n ],\n})\nexport class AXMBackendModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-backend.mjs","sources":["../../../../libs/modules/backend/src/lib/auth/oidc/application.loader.ts","../../../../libs/modules/backend/src/lib/auth/oidc/configuration.service.ts","../../../../libs/modules/backend/src/lib/auth/oidc/feature.loader.ts","../../../../libs/modules/backend/src/lib/auth/oidc/oidc.strategy.ts","../../../../libs/modules/backend/src/lib/auth/oidc/permission.loader.ts","../../../../libs/modules/backend/src/lib/auth/oidc/tenant.loader.ts","../../../../libs/modules/backend/src/lib/data/api/data-provider.ts","../../../../libs/modules/backend/src/lib/auth/oidc/signincallback.component.ts","../../../../libs/modules/backend/src/lib/data/api/comment.mock.service.ts","../../../../libs/modules/backend/src/lib/data/api/comment.service.ts","../../../../libs/modules/backend/src/lib/data/api/file.service.ts","../../../../libs/modules/backend/src/lib/data/api/module-designer.service.ts","../../../../libs/modules/backend/src/lib/data/local/local-data-provider.ts","../../../../libs/modules/backend/src/lib/data/api/notification.mock.service.ts","../../../../libs/modules/backend/src/lib/backend.module.ts","../../../../libs/modules/backend/src/acorex-modules-backend.ts"],"sourcesContent":["import { AXPApplication, AXPApplicationLoader, AXPRefreshTokenResult } from '@acorex/platform/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcApplicationLoader implements AXPApplicationLoader {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private apiGetApps = `${this.configs.baseUrl}/applications/GetListByTenantId`;\n private apiSetApp = `${this.configs.baseUrl}/SetApplication`;\n constructor(private http: HttpClient) { }\n\n\n getList(): Observable<AXPApplication[]> {\n return this.http.get<{ items: any[] }>(this.apiGetApps).pipe(\n map((response) => {\n return response.items.map((item) => this.mapToAXPApplication(item));\n })\n );\n }\n\n set(application: AXPApplication): Promise<void> {\n return Promise.resolve();\n }\n\n // //TODO: shoud be removed\n // set(application: AXPApplication): Observable<AXPRefreshTokenResult> {\n // return this.http.post<any>(this.apiSetApp, { applicationId: application.id }).pipe(\n // map((response) => {\n // return {\n // succeed: true,\n // data: {\n // accessToken: response.token,\n // refreshToken: response.token,\n // }\n // };\n // })\n // );\n // }\n\n private mapToAXPApplication(item: any): AXPApplication {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n version: item.version || '1.0.0',\n description: item.description,\n logo: item.logo, // Assuming logo is of type AXPLogoConfig or undefined\n editionName: item.editionName,\n // features: item.features || [],\n };\n }\n}\n","import { AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, Observable, filter, of, switchMap, take, tap } from 'rxjs';\n\nexport interface Localization {\n values: Record<string, Record<string, string>>;\n resources: Record<string, Resource>;\n languages: Language[];\n currentCulture: Culture;\n defaultResourceName: string;\n languagesMap: Record<string, NameValue[]>;\n languageFilesMap: Record<string, NameValue[]>;\n}\n\nexport interface Resource {\n texts: Record<string, string>;\n baseResources: string[];\n}\n\nexport interface Language {\n cultureName: string;\n uiCultureName: string;\n displayName: string;\n twoLetterISOLanguageName: string;\n flagIcon: string;\n}\n\nexport interface Culture {\n displayName: string;\n // ... other properties\n}\n\nexport interface NameValue {\n name: string;\n value: string;\n}\n\n// Repeat similar patterns for 'auth', 'setting', 'currentUser', etc.\nexport interface Auth {\n grantedPolicies: Record<string, boolean>;\n}\n\n// Main configuration interface\nexport interface ApplicationConfiguration {\n localization: Localization;\n auth: Auth;\n setting: Record<string, any>;\n currentUser: any;\n features: Record<string, any>;\n globalFeatures: Record<string, any>;\n multiTenancy: Record<string, any>;\n currentCulture: Culture;\n timing: Record<string, any>;\n clock: Record<string, any>;\n objectExtensions: Record<string, any>;\n extraProperties: Record<string, any>;\n\n // ... other properties\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMConfigurationService {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private applicationConfig: ApplicationConfiguration | null = null;\n private apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n private fetchInProgress: boolean = false;\n private configSubject: BehaviorSubject<ApplicationConfiguration | null> = new BehaviorSubject<ApplicationConfiguration | null>(null);\n\n constructor(private http: HttpClient) {\n this.init().subscribe(); // Automatically trigger configuration load on service instantiation\n }\n\n public init(): Observable<ApplicationConfiguration> {\n if (!this.fetchInProgress) {\n this.fetchInProgress = true;\n return this.http.get<ApplicationConfiguration>(this.apiGetConfig).pipe(\n tap((response) => {\n this.applicationConfig = response;\n this.configSubject.next(this.applicationConfig);\n this.fetchInProgress = false;\n })\n );\n } else {\n // Adjusted approach to handle TypeScript's type safety requirements\n return this.configSubject.asObservable().pipe(\n filter((config): config is ApplicationConfiguration => config !== null),\n take(1) // Ensures it completes after emitting the first non-null value\n );\n }\n }\n\n getConfig(): Observable<ApplicationConfiguration> {\n if (this.applicationConfig) {\n // If the config is already loaded, return it immediately\n return of(this.applicationConfig);\n } else {\n // If the config is not loaded, initiate loading\n return this.configSubject.asObservable().pipe(\n filter((config) => config !== null),\n take(1), // Ensure it only emits the first non-null value and completes\n switchMap(() => of(this.applicationConfig!))\n );\n }\n }\n}\n","import { AXPFeature, AXPFeatureLoader } from '@acorex/platform/auth';\nimport { Observable, delay, of } from 'rxjs';\n\nexport class AXMOidcFeatureLoader implements AXPFeatureLoader {\n\n private list: AXPFeature[] = [\n {\n name: 'axp-entity-list-custom-view',\n title: 'Custom View',\n value: false\n },\n {\n name: 'axp-entity-list-quick-search',\n title: 'Custom View',\n value: false\n }\n ]\n\n getList(): Observable<AXPFeature[]> {\n return of(this.list).pipe(delay(0));\n }\n}\n","import { AXMAuthConfigs, AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';\nimport {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSessionData,\n AXPSessionService,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { AuthConfig, OAuthService } from 'angular-oauth2-oidc';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcStrategy implements AXPAuthStrategy {\n private aXMAuthConfigs: AXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);\n private oauthService: OAuthService = inject(OAuthService);\n private http: HttpClient = inject(HttpClient);\n public userInfo: any;\n public authConfig: AuthConfig;\n public openidConfigurationInfo: any; // clarify the type if possible\n\n public async configureOAuth(): Promise<void> {\n if (this.openidConfigurationInfo) return;\n\n if (!this.authConfig) {\n if (!this.aXMAuthConfigs.authConfig) {\n throw new Error('authConfig is missing');\n }\n this.authConfig = this.aXMAuthConfigs.authConfig;\n }\n\n this.oauthService.configure(this.authConfig);\n this.oauthService.setStorage(localStorage);\n\n this.openidConfigurationInfo = await this.oauthService.loadDiscoveryDocument();\n\n if (!this.openidConfigurationInfo) {\n throw new Error('openidConfigurationInfo is missing');\n }\n\n this.oauthService.events.subscribe(async (event) => {\n // console.log('event', event);\n // if (event.type === 'token_received') {\n // console.log('Token has been refreshed');\n // }\n // if (event.type === 'token_expires') {\n // console.log('Token is about to expire. Triggering silent refresh...');\n // }\n });\n\n const oidcJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n\n if (oidcJson) {\n const authData = JSON.parse(oidcJson) as AXPSessionData;\n if (authData) {\n this.setServiceProps(authData);\n\n if (authData.expiresIn && new Date(authData.expiresIn) < new Date()) {\n if (authData.expiresIn) {\n // this.refresh();\n } else {\n this.logout();\n }\n }\n }\n }\n }\n\n async signin(credentials: AXPUserPassCredentials): Promise<AXPSignInResult> {\n await this.configureOAuth();\n try {\n const body = new HttpParams()\n .set('grant_type', 'password')\n .set('client_id', this.authConfig.clientId!)\n .set('client_secret', this.authConfig.dummyClientSecret!)\n .set('username', credentials.username)\n .set('password', credentials.password)\n .set('scope', this.authConfig.scope!);\n\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n\n const response = await firstValueFrom(\n this.http.post<IAuthenticationDataModel>(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers })\n );\n\n // const authData = new AuthenticationData(response);\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n } as AXPSessionData);\n\n return {\n succeed: true,\n data: {\n accessToken: response.access_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n idToken: response.id_token,\n refreshToken: response.refresh_token!,\n user: {\n id: response.sub,\n title: response.fullname,\n name: response.sub,\n avatar: response.picture,\n } as AXPUser,\n tenant: {\n id: response.tenantid!,\n name: response.tenantname!,\n title: response.tenanttitle!,\n },\n application: {\n id: response.applicationid!,\n name: response.applicationname!,\n title: response.applicationtitle,\n },\n },\n };\n } catch (error: any) {\n this.handleError(error);\n }\n }\n\n async signout(): Promise<void> {\n //this.logout();\n }\n\n async refreshToken(context: AXPSessionContext): Promise<AXPRefreshTokenResult> {\n try {\n await this.configureOAuth();\n const refreshResult = await this.refresh(context.tenant?.id, context.application?.id);\n if (refreshResult) {\n return {\n succeed: true,\n data: {\n accessToken: this.oauthService.getAccessToken(),\n refreshToken: this.oauthService.getRefreshToken(),\n },\n };\n } else {\n return { succeed: false };\n }\n } catch (error) {\n console.error('Error refreshing token', error);\n return { succeed: false };\n }\n }\n\n async refresh(tenantId?: string, applicationId?: string): Promise<boolean> {\n await this.configureOAuth();\n const authData = this.loadAuthData();\n if (!authData) return false;\n\n const refreshToken = this.oauthService.getRefreshToken();\n if (!refreshToken) return false;\n\n const body = new HttpParams()\n .set('grant_type', 'refresh_token')\n .set('client_id', this.authConfig.clientId!)\n .set('client_secret', this.authConfig.dummyClientSecret!)\n .set('refresh_token', refreshToken)\n .set('tenantId', tenantId ?? '')\n .set('applicationId', applicationId ?? '');\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n\n try {\n const response = await firstValueFrom(\n this.http.post<IAuthenticationDataModel>(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers })\n );\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n } as AXPSessionData);\n\n return true;\n } catch (error) {\n console.error('Token refresh error', error);\n return false;\n }\n }\n\n expires_in_milisecound(expires_in_date: string): number {\n const now = new Date();\n const expire = new Date(expires_in_date);\n return expire.getTime() - now.getTime();\n }\n\n private setServiceProps(authData: AXPSessionData): void {\n this.oauthService.getAccessToken = () => authData.accessToken;\n this.oauthService.getIdToken = () => authData.idToken ?? '';\n this.oauthService.getRefreshToken = () => authData.refreshToken;\n if (authData.expiresIn) {\n const refreshTime = this.expires_in_milisecound(authData.expiresIn!);\n this.oauthService.getAccessTokenExpiration = () => refreshTime;\n // if (refreshTime < 0) {\n // this.refresh();\n // }else{\n // }\n }\n }\n\n private loadAuthData(): AXPSessionData | undefined {\n const authDataJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n if (!authDataJson) return undefined;\n\n const authData = JSON.parse(authDataJson) as AXPSessionData;\n\n // return authData ? new AuthenticationData(authData) : undefined;\n return authData;\n }\n\n public async loadUserInfo(): Promise<object> {\n return this.oauthService.loadUserProfile();\n }\n public calculateExpireInDate(expireInMilisecound: number) {\n return new Date(Date.now() + expireInMilisecound * 1000).toISOString();\n }\n private logout(): void {\n this.oauthService.logOut({\n noRedirectToLogoutUrl: true\n });\n }\n\n private handleError(error: any): never {\n if (error?.reason) {\n throw new Error(JSON.stringify(error.reason));\n } else if (error?.message) {\n throw new Error(error.message);\n } else {\n throw new Error('Network or server error occurred');\n }\n }\n\n //#region getter\n get name(): string {\n return 'user-pass';\n }\n //#endregion\n}\n\nexport interface AXPUserPassCredentials extends AXPBaseCredentials {\n username: string;\n password: string;\n}\n\n// export class AuthenticationData {\n// access_token: string;\n// applicationid?: string;\n// applicationname?: string;\n// applicationtitle?: string;\n// editionid?: string;\n// editionname?: string;\n// editiontitle?: string;\n// id_token?: string;\n// refresh_token?: string;\n// scope?: string;\n// tenantid?: string;\n// tenantname?: string;\n// tenanttitle?: string;\n// token_type?: string;\n// expires_in_date?: string;\n// sub?: string;\n// picture?: string;\n// fullname?: string;\n\n// constructor(data: AuthenticationDataModel) {\n// this.access_token = data.access_token;\n// this.applicationid = data.applicationid;\n// this.applicationname = data.applicationname;\n// this.applicationtitle = data.applicationtitle;\n// this.editionid = data.editionid;\n// this.editionname = data.editionname;\n// this.editiontitle = data.editiontitle;\n// this.id_token = data.id_token;\n// this.refresh_token = data.refresh_token;\n// this.scope = data.scope;\n// this.tenantid = data.tenantid;\n// this.tenantname = data.tenantname;\n// this.tenanttitle = data.tenanttitle;\n// this.token_type = data.token_type;\n// this.sub = data.sub;\n// this.picture = data.picture;\n// this.fullname = data.fullname;\n\n// if (data.expires_in) {\n// this.expires_in_date = new Date(Date.now() + data.expires_in * 1000).toISOString();\n// } else {\n// this.expires_in_date = data.expires_in_date || '';\n// }\n// }\n\n// get expires_in_milisecound(): number {\n// const now = new Date();\n// const expire = new Date(this.expires_in_date!);\n// return expire.getTime() - now.getTime();\n// }\n\n// public setTokenRefreshModel(data: AuthenticationDataModel): void {\n// this.access_token = data.access_token;\n// this.id_token = data.id_token;\n// this.token_type = data.token_type;\n// this.scope = data.scope;\n// this.refresh_token = data.refresh_token;\n// this.expires_in_date = new Date(Date.now() + data.expires_in! * 1000).toISOString();\n// }\n// }\n\nexport interface IAuthenticationDataModel {\n access_token: string;\n applicationid: string;\n applicationname: string;\n applicationtitle: string;\n editionid: string;\n editionname: string;\n editiontitle: string;\n id_token: string;\n refresh_token: string;\n scope: string;\n tenantid: string;\n tenantname: string;\n tenanttitle: string;\n token_type: string;\n expires_in?: number;\n sub?: string;\n fullname?: string;\n picture?: string;\n}\n","import { AXPPermission, AXPPermissionLoader, AXPSessionContext } from '@acorex/platform/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcPermissionLoader implements AXPPermissionLoader {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n\n constructor(private http: HttpClient) {}\n\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n return this.http.get<{ items: any }>(this.apiGetConfig).pipe(map((response) => this.mapTo(response)));\n // if (context.user == null)\n // return of([]);\n // else if (context.user.name.toLowerCase() == 'admin')\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n // else\n // return of(['asc.user.gliding']);\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n }\n\n mapTo(jsonObj: any): string[] {\n const policies = jsonObj.auth.grantedPolicies;\n const truePolicies = Object.keys(policies).filter((key) => policies[key] === true);\n return truePolicies;\n }\n}\n","import { AXPTenant, AXPTenantLoader } from '@acorex/platform/auth';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable, map } from 'rxjs';\n\n@Injectable()\nexport class AXMOidcTenantLoader implements AXPTenantLoader {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private apiGetTenants = `${this.configs.baseUrl}/user-tenants/Tenants`;\n private apiSetTenant = `${this.configs.baseUrl}/SetTenant`;\n constructor(private http: HttpClient) { }\n\n getList(): Observable<AXPTenant[]> {\n return this.http.get<{ items: any[] }>(this.apiGetTenants).pipe(map((response) => response.items.map((item) => this.mapToAXPTenant(item))));\n }\n\n async set(tenant: AXPTenant): Promise<void> {\n return Promise.resolve();\n }\n\n private mapToAXPTenant(item: any): AXPTenant {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n // Add other fields and defaults as needed, and handle the logo if applicable\n };\n }\n}\n","import { AXPDataProvider, AXPEntityConfig, AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMBackendDataProvider implements AXPDataProvider {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private mainUrl = this.configs.baseUrl;\n\n constructor(private http: HttpClient) {}\n\n insertOne(entity: AXPEntityConfig, entityItem: any): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}`;\n return firstValueFrom(this.http.post(url, entityItem));\n }\n\n insertMany(entity: AXPEntityConfig, entityList: any): Promise<any> {\n const promises = entityList.map((entity: any) => {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}`;\n return firstValueFrom(this.http.post(url, entity));\n });\n return Promise.all(promises);\n }\n\n getOne(entity: AXPEntityConfig, id: string): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}${\n id ? '/' + id : ''\n }`;\n return firstValueFrom(this.http.get(url));\n }\n\n getMany(entity: AXPEntityConfig, params?: any): Promise<any> {\n let httpParams = new HttpParams()\n .set('Skip', params?.skip?.toString() ?? '0')\n .set('Take', params?.take?.toString() ?? '10');\n if (params?.sort && params?.sort.length > 0) {\n const sortParam = params?.sort.map((sort: any) => `${sort.field}:${sort.dir}`).join(',');\n httpParams = httpParams.set('$orderby', sortParam);\n }\n\n const buildFilterString = (filters: any[]): string => {\n return filters\n .map((f: any) => {\n if (f.filters) {\n return buildFilterString(f.filters);\n } else {\n return `${f.field} ${f.operator.type} ${f.value}`;\n }\n })\n .join(',');\n };\n\n let filterString = params?.customFilter ? params.customFilter : '';\n if (params?.filter) {\n const filter = params.filter;\n if (filter.filters) {\n // Construct filter string from provided filters\n\n const dynamicFilters = buildFilterString(filter.filters);\n\n // Append dynamic filters to custom filter, if both exist\n filterString = filterString ? `${filterString},${dynamicFilters}` : dynamicFilters;\n }\n }\n // Set the $filter parameter if there are any filters\n if (filterString) {\n httpParams = httpParams.set('$filter', filterString);\n }\n function capitalizeFirstLetter(str: string) {\n return str ? str.charAt(0).toUpperCase() + str.slice(1) : str;\n }\n\n function generateQueryString(filter: any) {\n if (!filter.filters) {\n // Base case: single filter\n return `${filter.field} ${filter.operator.type} '${filter.value}'`;\n } else if (!filter.filters.length) {\n return;\n } else {\n // Recursive case: multiple filters\n\n const filterStrings = filter.filters.map((subFilter: any) => generateQueryString(subFilter));\n const logic = filter.logic || 'AND'; // Default logic is 'AND' if not provided\n return `${filterStrings.filter((i: any) => i).join(` ${logic} `)}`;\n }\n }\n\n if (params?.date) {\n httpParams = httpParams.set('Date', params.date);\n }\n\n let queryString = params?.customFilter ? params.customFilter : '';\n if (params?.filter) {\n const filter = params.filter;\n if (filter.filters && filter.filters.length > 0) {\n // Construct filter string from provided filters\n\n const dynamicQueries = generateQueryString(filter);\n console.log({ dynamicQueries: dynamicQueries });\n\n // Append dynamic filters to custom filter, if both exist\n queryString = queryString ? `${queryString},${dynamicQueries}` : dynamicQueries;\n }\n }\n // Set the $filter parameter if there are any filters\n if (queryString) {\n httpParams = httpParams.set('$query', queryString);\n }\n return firstValueFrom(\n this.http.get<any>(\n `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${\n params?.costumGetter ? params.costumGetter : entity.name\n }/${params?.sub ? params.sub : ''}`,\n { params: httpParams }\n )\n ).then((response) => {\n return {\n total: response.totalCount,\n items: response.items,\n };\n });\n }\n\n updateOne(entity: AXPEntityConfig, id?: string, data?: { [key: string]: any }): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}${\n id ? '/' + id : ''\n }`;\n return firstValueFrom(this.http.put(url, data));\n }\n\n deleteOne(entity: AXPEntityConfig, id: string): Promise<any> {\n const url = `${this.mainUrl}${entity.area ? '/' + entity.area : ''}/${entity.module}/${entity.name}/${id}`;\n return firstValueFrom(this.http.delete(url));\n }\n\n getFirst(entity: AXPEntityConfig): Promise<any> {\n // return this.getMany(entity.name).then((res) => res.items[0]);\n return new Promise((resolve) => resolve(true));\n }\n\n // File uploader function\n uploadFile(file: File, title: string, customUrl?: string): Promise<string> {\n const url = customUrl ? `${this.mainUrl}/${customUrl}` : `${this.mainUrl}/common/files`;\n const formData: FormData = new FormData();\n formData.append('File', file);\n formData.append('Title', title);\n\n return firstValueFrom(this.http.post<string>(url, formData));\n }\n\n // Function to upload multiple files\n uploadMultipleFiles(files: File[], title: string): Promise<string[]> {\n const uploadPromises = files.map((file) => this.uploadFile(file, title));\n return Promise.all(uploadPromises);\n }\n\n // Function to view a file\n viewFile(id: string, name: string): Promise<Blob> {\n const url = `${this.mainUrl}/common/files/${id}/View/${name}`;\n return firstValueFrom(this.http.get(url, { responseType: 'blob' }));\n }\n\n // Function to download a file\n downloadFile(id: string, name: string): Promise<Blob> {\n const url = `${this.mainUrl}/common/files/${id}/Download/${name}`;\n return firstValueFrom(this.http.get(url, { responseType: 'blob' }));\n }\n}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { Component, OnInit, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n template: '',\n})\nexport class SignincallbackComponent implements OnInit {\n private sessionService = inject(AXPSessionService);\n constructor(private router: Router, private route: ActivatedRoute) {}\n\n ngOnInit() {\n const queryParams = this.route.snapshot.queryParams;\n if (queryParams['tenantid']) {\n const selectedTenant = {\n id: queryParams['tenantid'],\n name: queryParams['tenantname'],\n title: queryParams['tenanttitle'],\n };\n this.sessionService.setTenant(selectedTenant);\n }\n if (queryParams['applicationid']) {\n const selectedApplication = {\n id: queryParams['applicationid'],\n name: queryParams['applicationname'],\n title: queryParams['applicationtitle'],\n version: '1',\n editionName: queryParams['editionname'],\n };\n this.sessionService.setApplication(selectedApplication);\n }\n // this.userManagerService.signinSilentCallback();\n }\n}\n","import { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\nimport {\n AXPComment,\n AXPCommentCreateRequest,\n AXPCommentDeleteRequest,\n AXPCommentGetRequest,\n AXPCommentLikeRequest,\n AXPCommentResponse,\n AXPCommentUpdateRequest,\n} from '@acorex/platform/themes/shared';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMMockCommentService {\n private storageService = inject(AXPEntityStorageService);\n private name = 'comments';\n\n async get(params: AXPCommentGetRequest): Promise<AXPCommentResponse> {\n const data = (await this.storageService.getAll(this.name)) as AXPComment[];\n return Promise.resolve({ totalCount: data.length, items: data });\n }\n\n async post(payload: AXPCommentCreateRequest): Promise<string> {\n const extraPayload = {\n id: AXPDataGenerator.uuid(), // Generate a unique ID for the comment\n memberId: AXPDataGenerator.uuid(), // Simulate member ID (e.g., the user posting)\n memberType: AXPDataGenerator.pick(['user', 'admin']), // Simulate the member type (user/admin)\n roomId: AXPDataGenerator.uuid(), // Generate a random room ID\n messageVisibles: [], // Empty array for visibility, can be customized\n messageStatuses: [], // Empty array for statuses, can be customized\n messageHistories: [], // Empty array for history, can be customized\n replies: [], // Initially no replies\n isArchived: false, // Default to not archived\n isLiked: false, // Default to not liked\n reactionsCount: 0, // Default to 0 reactions\n repliesCount: 0, // Default to 0 replies\n user: {\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n },\n };\n const fullPayload = { ...payload, ...extraPayload };\n if (payload.replyId) {\n const message = await this.storageService.getOne(this.name, payload.replyId);\n await this.storageService.updateOne(this.name, payload.replyId, {\n ...message,\n replies: [...message.replies, fullPayload],\n });\n return Promise.resolve('done');\n } else {\n await this.storageService.insertOne(this.name, fullPayload);\n return Promise.resolve('done');\n }\n }\n\n async put(payload: AXPCommentUpdateRequest): Promise<string> {\n //const message = await this.storageService.getOne(this.name, payload.id);\n await this.storageService.updateOne(this.name, payload.id, { content: payload.content });\n return Promise.resolve('done');\n }\n\n async delete(payload: AXPCommentDeleteRequest): Promise<void> {\n await this.storageService.deleteOne(this.name, payload.id);\n return Promise.resolve();\n }\n\n async like(payload: AXPCommentLikeRequest): Promise<string> {\n const message = await this.storageService.getOne(this.name, payload.messageId);\n await this.storageService.updateOne(this.name, payload.messageId, {\n ...message,\n isLiked: !message.isLiked,\n reactionsCount: message.isLiked ? --message.reactionsCount : ++message.reactionsCount,\n });\n return Promise.resolve('done');\n }\n}\n\nexport const COMMENTS = Array.from({ length: 10 }).map(() => {\n const contentSource = [\n 'This is a comment.',\n 'I really like this!',\n 'Could you clarify your point?',\n 'Great job on this!',\n 'I have some suggestions.',\n 'This is quite insightful.',\n 'Thanks for sharing!',\n 'I disagree with this perspective.',\n 'Interesting take!',\n 'What do you think about this?',\n ];\n const repliesCount = AXPDataGenerator.number(0, 3);\n\n return {\n id: AXPDataGenerator.uuid(),\n entityId: 'test', // AXPDataGenerator.pick(ENTITIES).id,//need to fix\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: null,\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n replies: Array.from({ length: repliesCount }).map(() => {\n return {\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: AXPDataGenerator.pick(['text']),\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 10),\n repliesCount: 0,\n user: {\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n },\n };\n }),\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 100),\n repliesCount: repliesCount,\n user: {\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n },\n };\n});\n","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMCommentService {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private http = inject(HttpClient);\n\n private mainUrl = this.configs.baseUrl;\n private messagesUrl = `${this.configs.baseUrl}/conversion/messages/room`;\n private messagePostUrl = `${this.configs.baseUrl}/conversion/messages`;\n private messageReactionUrl = `${this.configs.baseUrl}/conversion/message-reactions/change`;\n\n async get(params: any): Promise<any> {\n const url = `${this.messagesUrl}`;\n return await firstValueFrom(\n this.http.get<any>(url, {\n params: params,\n })\n );\n }\n\n async post(payload: any): Promise<any> {\n const url = `${this.messagePostUrl}`;\n return await firstValueFrom(this.http.post<any>(url, payload));\n }\n\n async put(payload: any): Promise<any> {\n const url = `${this.messagePostUrl}/${payload.id}`;\n return await firstValueFrom(this.http.put<any>(url, { content: payload.content }));\n }\n\n async delete(payload: any): Promise<any> {\n const url = `${this.messagePostUrl}/${payload.id}`;\n return await firstValueFrom(this.http.delete<any>(url));\n }\n\n async like(payload: any): Promise<any> {\n const url = `${this.messageReactionUrl}`;\n return await firstValueFrom(this.http.put<any>(url, payload));\n }\n\n // async deleteComment(commentId: string): Promise<any> {\n // const url = `${this.mainUrl}/delete-comment/${commentId}`;\n // return await firstValueFrom(this.http.delete<any>(url));\n // }\n\n // async editComment(payload: any): Promise<any> {\n // const url = `${this.mainUrl}/edit-comment`;\n // return await firstValueFrom(this.http.put<any>(url, payload));\n // }\n}\n","import { AXUploadRequest } from '@acorex/components/uploader';\nimport { AXDownloadStatus, AXNetworkService, AXUploadStatus } from '@acorex/core/network';\nimport { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMFileManagementService {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private mainUrl = this.configs.baseUrl;\n private http = inject(HttpClient);\n private networkService = inject(AXNetworkService);\n\n upload(requests: AXUploadRequest[]): Promise<PromiseSettledResult<unknown>[]> {\n const url = `${this.mainUrl}/common/files`;\n const tasks = requests.map((r) => {\n const formData: FormData = new FormData();\n formData.append('File', r.file);\n const task = this.networkService.upload(url, formData);\n\n return new Promise((resolve, reject) => {\n task.events.subscribe({\n next: (event) => {\n if (event.status == AXUploadStatus.UploadFailed) {\n r.error(event.message || '');\n reject(event.result);\n }\n if (event.status == AXUploadStatus.UploadComplete) {\n r.finish();\n resolve(event.result);\n } else {\n r.setTransferredBytes(event.bytesTransferred);\n }\n },\n });\n\n r.onStart.subscribe(() => {\n task.start();\n });\n\n r.onCancel.subscribe(() => {\n task.cancel();\n reject({ status: 'cancelled', request: r });\n });\n\n r.upload();\n });\n });\n\n return Promise.allSettled(tasks);\n }\n\n delete(fileId: string): Promise<any> {\n return new Promise((resolve, reject) => {\n setTimeout(() => resolve({ success: true, fileId }), 1000);\n });\n }\n get(fileId: string, name: string): Observable<any> {\n return new Observable((observer) => {\n const url = `${this.mainUrl}/common/files/${fileId}/Download/${name}`;\n const downloadTask = this.networkService.download(url);\n\n downloadTask.events.subscribe(\n (event) => {\n // Emit progress events\n observer.next({\n status: event.status,\n progress: event.progress,\n fileId,\n data: event.data || null, // Assuming `event.data` contains the downloaded file's data when completed\n });\n\n // Complete the observable if download is finished\n if (event.status === AXDownloadStatus.DownloadComplete) {\n observer.complete();\n }\n },\n (error) => {\n console.error('Download failed:', error);\n observer.error({\n status: 'failed',\n fileId,\n error,\n });\n }\n );\n return () => {\n downloadTask.cancel();\n };\n });\n }\n\n list(): Promise<any> {\n return new Promise((resolve, reject) => {\n setTimeout(() => resolve([{ fileId: '1', data: 'fileData' }]), 1000);\n });\n }\n\n setMetadata(fileId: string, metadata: any): Promise<any> {\n return new Promise((resolve, reject) => {\n setTimeout(() => resolve({ fileId, metadata }), 1000);\n });\n }\n}\n","import { AXDataSourceQuery } from '@acorex/components/common';\nimport { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMModuleDesignerService implements AXPModuleDesignerService {\n protected loader: any = inject(AXPEntityDefinitionRegistryService);\n\n protected defaultConfig = {\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: 'equal' as any,\n },\n };\n\n protected AdvanceConfig = (moduleId: string): AXDataSourceQuery => ({\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: { type: 'equal' },\n filters: [\n {\n field: 'moduleId',\n operator: { type: 'equal' },\n value: moduleId,\n },\n ],\n },\n });\n\n private async moduleDef() {\n return this.loader.resolve('application-management', 'module');\n }\n private async entityDef() {\n return this.loader.resolve('application-management', 'entity');\n }\n private async featureDef() {\n return this.loader.resolve('application-management', 'feature');\n }\n private async permissionDef() {\n return this.loader.resolve('application-management', 'permission');\n }\n\n async getModules() {\n const entity: AXPEntity = await this.moduleDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.defaultConfig);\n }\n\n async getSingleModule() {}\n\n async createModule(payload: any): Promise<any> {}\n\n async updateModule(moduleId: string, payload: any): Promise<any> {}\n\n async deleteModule(moduleId: string): Promise<any> {}\n\n //\n\n async getEntities(moduleId: string) {\n const entity: AXPEntity = await this.entityDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleEntity(entityId: string) {}\n\n async createEntity(payload: any): Promise<any> {}\n\n async updateEntity(payload: any): Promise<any> {}\n\n async deleteEntity(entityId: string): Promise<any> {}\n\n //\n\n async getFeatures(moduleId: string) {\n const entity: AXPEntity = await this.featureDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleFeature(featureId: string) {}\n\n async createFeature(payload: any): Promise<any> {}\n\n async updateFeature(payload: any): Promise<any> {}\n\n async deleteFeature(featureId: string): Promise<any> {}\n\n //\n\n async getPermissions(moduleId: string) {\n const entity: AXPEntity = await this.permissionDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSinglePermission(permissionId: string) {}\n\n async createPermission(payload: any): Promise<any> {}\n\n async updatePermission(payload: any): Promise<any> {}\n\n async deletePermission(permissionId: string): Promise<any> {}\n}\n","import { AXPDataProvider, AXPEntityConfig } from '@acorex/platform/common';\nimport { applyFilterArray, applySortArray } from '@acorex/platform/core';\nimport { AXPStorageMockService } from '@acorex/platform/mocks';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMLocalDataProvider implements AXPDataProvider {\n constructor(private storageService: AXPStorageMockService) {}\n\n insertOne(entity: AXPEntityConfig, entityItem: any): Promise<any> {\n return this.storageService.insertOrupdateOne(entity.name, entityItem);\n }\n\n insertMany(entity: AXPEntityConfig, entityList: any): Promise<any> {\n return this.storageService.insertMany(entity.name, entityList);\n }\n\n async getOne(entity: AXPEntityConfig, id: string): Promise<any> {\n console.log('@LOACAL getOne', entity.name, id);\n return this.storageService.getOne(entity.name, id);\n }\n\n async getMany(entity: AXPEntityConfig, params?: any): Promise<any> {\n console.log('@LOACAL getMany', entity.name, params);\n const result = await this.storageService.getMany(entity.name, params);\n const sortedItems = applySortArray(result, params?.sort);\n const filteredItems = applyFilterArray(sortedItems, params?.filter?.filters);\n return new Promise((resolve) => {\n resolve({\n items: params ? filteredItems?.slice(params.skip, (params.skip ?? 0) + (params.take ?? 20)) : filteredItems,\n total: filteredItems?.length ?? 0,\n });\n });\n }\n\n updateOne(entity: AXPEntityConfig, id: string, data: { [key: string]: any }): Promise<any> {\n return this.storageService.updateOne(entity.name, id, data);\n }\n\n deleteOne(entity: AXPEntityConfig, id: string): Promise<any> {\n return this.storageService.deleteOne(entity.name, id);\n }\n\n getFirst(entity: AXPEntityConfig): Promise<any> {\n return this.getMany(entity).then((res) => {\n return res.items ? res.items[0] : null;\n });\n }\n\n // Mock file uploader function\n uploadFile(file: File, title: string): Promise<string> {\n return new Promise((resolve) => {\n // Mock file ID generation\n const fileId = `mock-file-id-${Math.random().toString(36).substr(2, 9)}`;\n const fileRecord = { id: fileId, title, file };\n this.storageService.insertOrupdateOne('files', fileRecord).then(() => {\n resolve(fileId);\n });\n });\n }\n\n // Mock function to upload multiple files\n uploadMultipleFiles(files: File[], title: string): Promise<string[]> {\n const uploadPromises = files.map((file) => this.uploadFile(file, title));\n return Promise.all(uploadPromises);\n }\n\n // Mock function to view a file\n viewFile(id: string, name: string): Promise<Blob> {\n return new Promise(async (resolve, reject) => {\n const fileRecord = await this.storageService.getOne('files', id);\n if (fileRecord && fileRecord.file) {\n resolve(fileRecord.file);\n } else {\n reject('File not found');\n }\n });\n }\n\n // Mock function to download a file\n downloadFile(id: string, name: string): Promise<Blob> {\n return this.viewFile(id, name);\n }\n}\n","import { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\n\nimport {\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationResponse,\n} from '@acorex/modules/notification-management';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMMockNotificationService {\n private storageService = inject(AXPEntityStorageService);\n private name = 'notification';\n\n async getList(): Promise<AXMNotificationResponse> {\n await this.storageService.initial(this.name, NOTIFICATIONS);\n const notificationList = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n return { total: notificationList.length, items: notificationList };\n }\n\n async markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void> {\n const entityName = 'notifications';\n let notifications: AXMNotificationItem[] = [];\n if (payload && payload.id && payload.id.length > 0) {\n notifications = await Promise.all(\n payload.id.map((id) => this.storageService.getOne<AXMNotificationItem>(entityName, id))\n );\n } else {\n notifications = await this.storageService.getAll<AXMNotificationItem>(entityName);\n }\n await Promise.all(\n notifications.map((notification) => {\n if (notification.readAt === null) {\n return this.storageService.updateOne(entityName, notification.id, { readAt: new Date() });\n }\n return Promise.resolve();\n })\n );\n }\n}\nconst CHANNELS = ['InApp', 'Email', 'SMS'];\n\nconst TITLES = ['Buy Me!', 'Black Friday', 'New Message'];\n\nconst BODIES = ['Buy New Glass From Shop', 'New Offers For Black Friday!', 'Saeed Send New File Message'];\n\nconst CATEGORIES = ['Inbox', 'Archive', 'Role'];\n\nconst TYPES = ['File', 'Person', 'Notification'];\n\nconst PRORITIES = ['Warning', 'Danger', 'Notice'];\n\nexport const NOTIFICATIONS = Array.from({ length: 5 }).map((_, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick(TITLES),\n body: AXPDataGenerator.pick(BODIES),\n channel: AXPDataGenerator.pick(CHANNELS),\n data: {},\n RelativeType: 'demo.sample',\n RelativeId: '535c8c8a-5e64-4079-929d-752394669b51',\n user: {\n id: AXPDataGenerator.uuid(),\n name: AXPDataGenerator.firstName() + ' ' + AXPDataGenerator.lastName(),\n image: 'https://i.pravatar.cc/300',\n },\n template: {\n category: AXPDataGenerator.pick(CATEGORIES),\n prority: AXPDataGenerator.pick(PRORITIES),\n type: AXPDataGenerator.pick(TYPES),\n icon: 'fa-image',\n isPinned: AXPDataGenerator.boolean(),\n },\n readAt: AXPDataGenerator.pick([AXPDataGenerator.date(), null]),\n createAt: AXPDataGenerator.date(),\n entityName: 'notifications',\n };\n});\n","import { AXMAuthModule } from '@acorex/modules/auth';\nimport {\n AXPAuthModule,\n AXP_APPLICATION_LOADER,\n AXP_FEATURE_LOADER,\n AXP_PERMISSION_LOADER,\n AXP_TENANT_LOADER,\n} from '@acorex/platform/auth';\nimport { AXPDataProvider } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\n\n//-----------------------------------------------------------------\nimport {\n AXMOidcApplicationLoader,\n AXMOidcFeatureLoader,\n AXMOidcPermissionLoader,\n AXMOidcStrategy,\n AXMOidcTenantLoader,\n} from './auth/oidc';\nimport { AXMBackendDataProvider } from './data/api/data-provider';\n//-----------------------------------------------------------------\n\nimport { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXMNotificationService } from '@acorex/modules/notification-management';\nimport { AXPCommentService } from '@acorex/platform/themes/shared';\nimport { AXPFileManagementService } from '@acorex/platform/widgets';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { SignincallbackComponent } from './auth/oidc/signincallback.component';\nimport { AXMCommentService, AXMFileManagementService, AXMModuleDesignerService } from './data';\nimport { AXMMockNotificationService } from './data/api/notification.mock.service';\n\nfunction routesFactory() {\n const routes: Routes = [{ path: 'auth/signincallback', component: SignincallbackComponent }];\n return routes;\n}\n\n@NgModule({\n imports: [\n OAuthModule.forRoot(),\n AXMAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXPDataProvider,\n useClass: AXMBackendDataProvider,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: AXMOidcTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: AXMOidcApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: AXMOidcPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: AXMOidcFeatureLoader,\n },\n {\n provide: AXPFileManagementService,\n useClass: AXMFileManagementService,\n },\n {\n provide: AXPCommentService,\n useClass: AXMCommentService,\n },\n {\n provide: AXMNotificationService,\n useClass: AXMMockNotificationService,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXMModuleDesignerService,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFactory,\n },\n ],\n})\nexport class AXMBackendModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-form-management-designer.page-SoPH2V7i.mjs","sources":["../../../../libs/modules/form-management/src/lib/designer/designer.page.ts","../../../../libs/modules/form-management/src/lib/designer/designer.page.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPLayoutDesignerComponent } from '@acorex/platform/layout/designer';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\n@Component({\n templateUrl: 'designer.page.html',\n standalone: true,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXPWidgetsModule,\n AXPLayoutBuilderModule,\n AXButtonModule,\n AXPLayoutDesignerComponent,\n ],\n})\nexport class AXMFormsDesignerPage {\n\n}\n","<axp-layout-designer> </axp-layout-designer>\n"],"names":[],"mappings":";;;;;;;;;MAoBa,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA
|
1
|
+
{"version":3,"file":"acorex-modules-form-management-designer.page-SoPH2V7i.mjs","sources":["../../../../libs/modules/form-management/src/lib/designer/designer.page.ts","../../../../libs/modules/form-management/src/lib/designer/designer.page.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPLayoutDesignerComponent } from '@acorex/platform/layout/designer';\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\n@Component({\n templateUrl: 'designer.page.html',\n standalone: true,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXPWidgetsModule,\n AXPLayoutBuilderModule,\n AXButtonModule,\n AXPLayoutDesignerComponent,\n ],\n})\nexport class AXMFormsDesignerPage {\n\n}\n","<axp-layout-designer> </axp-layout-designer>\n"],"names":[],"mappings":";;;;;;;;;MAoBa,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECpBjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,gDACA,EDWI,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,+BACd,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAZhC,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,gBAAgB;wBAChB,sBAAsB;wBACtB,cAAc;wBACd,0BAA0B;AAC3B,qBAAA,EAAA,QAAA,EAAA,gDAAA,EAAA;;;;;"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { AXPThemesSharedModule } from '@acorex/platform/themes/shared';
|
1
2
|
import * as i0 from '@angular/core';
|
2
3
|
import { NgModule } from '@angular/core';
|
3
4
|
import * as i1 from '@angular/router';
|
@@ -16,13 +17,13 @@ const routes = [
|
|
16
17
|
];
|
17
18
|
class AXMFormManagementModule {
|
18
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
19
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, imports: [i1.RouterModule] }); }
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, imports: [RouterModule.forChild(routes)] }); }
|
20
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, imports: [i1.RouterModule, AXPThemesSharedModule] }); }
|
21
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, imports: [RouterModule.forChild(routes), AXPThemesSharedModule] }); }
|
21
22
|
}
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMFormManagementModule, decorators: [{
|
23
24
|
type: NgModule,
|
24
25
|
args: [{
|
25
|
-
imports: [RouterModule.forChild(routes)],
|
26
|
+
imports: [RouterModule.forChild(routes), AXPThemesSharedModule],
|
26
27
|
exports: [],
|
27
28
|
declarations: [],
|
28
29
|
}]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-form-management.mjs","sources":["../../../../libs/modules/form-management/src/lib/form-management.module.ts","../../../../libs/modules/form-management/src/acorex-modules-form-management.ts"],"sourcesContent":["import { NgModule } from \"@angular/core\";\nimport { RouterModule, Routes } from \"@angular/router\";\n\n\nconst routes: Routes = [\n {\n path: 'forms',\n children: [\n {\n path: 'designer',\n loadComponent: () => import('./designer/designer.page').then((c) => c.AXMFormsDesignerPage),\n },\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [],\n declarations: [],\n})\nexport class AXMFormManagementModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"acorex-modules-form-management.mjs","sources":["../../../../libs/modules/form-management/src/lib/form-management.module.ts","../../../../libs/modules/form-management/src/acorex-modules-form-management.ts"],"sourcesContent":["import { AXPThemesSharedModule } from \"@acorex/platform/themes/shared\";\nimport { NgModule } from \"@angular/core\";\nimport { RouterModule, Routes } from \"@angular/router\";\n\n\nconst routes: Routes = [\n {\n path: 'forms',\n children: [\n {\n path: 'designer',\n loadComponent: () => import('./designer/designer.page').then((c) => c.AXMFormsDesignerPage),\n },\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes), AXPThemesSharedModule],\n exports: [],\n declarations: [],\n})\nexport class AXMFormManagementModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,MAAM,GAAW;AACnB,IAAA;AACI,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,aAAa,EAAE,MAAM,OAAO,6DAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC;AAC9F,aAAA;AACJ;AACJ;CACJ;MAOY,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,6BAJS,qBAAqB,CAAA,EAAA,CAAA,CAAA;+GAIrD,uBAAuB,EAAA,OAAA,EAAA,CAJtB,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;;2FAIrD,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;AAC/D,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AACnB,iBAAA;;;ACrBD;;AAEG;;;;"}
|