@acorex/connectivity 19.1.2 → 19.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-connectivity-api.mjs +1 -1
- package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
- package/fesm2022/acorex-connectivity-mock.mjs +104 -0
- package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
- package/fesm2022/acorex-connectivity.mjs +1 -14
- package/fesm2022/acorex-connectivity.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/mock/lib/file.mock.service.d.ts +14 -0
- package/package.json +1 -1
- package/lib/connectivity.component.d.ts +0 -5
@@ -51,7 +51,7 @@ class AXCApiEntityStorageService {
|
|
51
51
|
async deleteOne(entityName, id) {
|
52
52
|
const routeElement = await this.getConfigEntity(entityName);
|
53
53
|
const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}/${id}`;
|
54
|
-
this.http.delete(url);
|
54
|
+
firstValueFrom(this.http.delete(url));
|
55
55
|
}
|
56
56
|
async insertOne(entityName, entityItem) {
|
57
57
|
const routeElement = await this.getConfigEntity(entityName);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-api.mjs","sources":["../../../../libs/connectivity/api/src/lib/api-storage.service.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/application.loader.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/configuration.service.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/feature.loader.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/oidc.strategy.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/permission.loader.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/tenant.loader.ts","../../../../libs/connectivity/api/src/lib/api.module.ts","../../../../libs/connectivity/api/src/acorex-connectivity-api.ts"],"sourcesContent":["import {\n AXP_ROOT_CONFIG_TOKEN,\n AXPEntityStorageService,\n AXPFilterOperatorMiddlewareService,\n AXPPagedListResult,\n AXPQueryRequest,\n} from '@acorex/platform/common';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { kebabCase } from 'lodash-es';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class AXCApiEntityStorageService implements AXPEntityStorageService<string, any> {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private filterService = inject(AXPFilterOperatorMiddlewareService);\n private entityResolver = inject(AXPEntityResolver);\n private mainUrl = this.configs.baseUrl;\n\n constructor(private http: HttpClient) {}\n\n get dbName(): string {\n return 'ACoreXPlatform';\n }\n\n getConfigEntity(entityName: string) {\n const [module, entity] = entityName.split('.');\n const moduleKebab = kebabCase(module);\n const entityKebab = kebabCase(entity);\n return {\n module: moduleKebab,\n entity: entityKebab,\n };\n }\n\n async initial<T = any>(entityName: string, collection: T[]): Promise<void> {\n //const exists = await this.table('entity-store').where({ entityName }).count();\n // if (exists === 0) {\n // await this.table('entity-store').bulkAdd(collection.map((item) => ({ ...item, entityName })));\n // }\n }\n\n async getOne<T = any>(entityName: string, id: string): Promise<T> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.get<T>(url));\n }\n\n async updateOne<T = any>(entityName: string, id: string, keyValue: { [key: string]: any }): Promise<T> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.put<T>(url, keyValue));\n }\n\n async deleteOne(entityName: string, id: string): Promise<void> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}/${id}`;\n this.http.delete(url);\n }\n\n async insertOne<T = any>(entityName: string, entityItem: T): Promise<string> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}`;\n return firstValueFrom(this.http.post<string>(url, entityItem));\n }\n\n async getAll<T = any>(entityName: string): Promise<T[]> {\n return [];\n }\n\n async query<T = any>(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<T>> {\n const routeElement = await this.getConfigEntity(entityName);\n\n let httpParams = new HttpParams().set('Skip', request.skip).set('Take', request.take);\n if (request?.sort && request?.sort.length > 0) {\n const sortParam = request?.sort.map((sort: any) => `${sort.field}:${sort.dir}`).join(',');\n httpParams = httpParams.set('$orderby', sortParam);\n }\n return firstValueFrom(\n this.http.get<any>(`${this.mainUrl}/${routeElement.module}/${routeElement.entity}`, { params: httpParams })\n ).then((response) => {\n return {\n total: response.totalCount,\n items: response.items,\n };\n });\n }\n}\n","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 {\n AXP_APPLICATION_LOADER,\n AXP_FEATURE_LOADER,\n AXP_PERMISSION_LOADER,\n AXP_TENANT_LOADER,\n AXPAuthModule,\n} from '@acorex/platform/auth';\nimport { AXPEntityStorageService } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { AXCApiEntityStorageService } from './api-storage.service';\nimport {\n AXMOidcApplicationLoader,\n AXMOidcFeatureLoader,\n AXMOidcPermissionLoader,\n AXMOidcStrategy,\n AXMOidcTenantLoader,\n} from './auth/oidc';\n\n@NgModule({\n imports: [\n OAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n }),\n ],\n providers: [\n {\n provide: AXPEntityStorageService,\n useClass: AXCApiEntityStorageService,\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})\nexport class AXCApiModule {}\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-connectivity-api.mjs","sources":["../../../../libs/connectivity/api/src/lib/api-storage.service.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/application.loader.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/configuration.service.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/feature.loader.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/oidc.strategy.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/permission.loader.ts","../../../../libs/connectivity/api/src/lib/auth/oidc/tenant.loader.ts","../../../../libs/connectivity/api/src/lib/api.module.ts","../../../../libs/connectivity/api/src/acorex-connectivity-api.ts"],"sourcesContent":["import {\n AXP_ROOT_CONFIG_TOKEN,\n AXPEntityStorageService,\n AXPFilterOperatorMiddlewareService,\n AXPPagedListResult,\n AXPQueryRequest,\n} from '@acorex/platform/common';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { kebabCase } from 'lodash-es';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class AXCApiEntityStorageService implements AXPEntityStorageService<string, any> {\n private configs = inject(AXP_ROOT_CONFIG_TOKEN);\n private filterService = inject(AXPFilterOperatorMiddlewareService);\n private entityResolver = inject(AXPEntityResolver);\n private mainUrl = this.configs.baseUrl;\n\n constructor(private http: HttpClient) {}\n\n get dbName(): string {\n return 'ACoreXPlatform';\n }\n\n getConfigEntity(entityName: string) {\n const [module, entity] = entityName.split('.');\n const moduleKebab = kebabCase(module);\n const entityKebab = kebabCase(entity);\n return {\n module: moduleKebab,\n entity: entityKebab,\n };\n }\n\n async initial<T = any>(entityName: string, collection: T[]): Promise<void> {\n //const exists = await this.table('entity-store').where({ entityName }).count();\n // if (exists === 0) {\n // await this.table('entity-store').bulkAdd(collection.map((item) => ({ ...item, entityName })));\n // }\n }\n\n async getOne<T = any>(entityName: string, id: string): Promise<T> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.get<T>(url));\n }\n\n async updateOne<T = any>(entityName: string, id: string, keyValue: { [key: string]: any }): Promise<T> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.put<T>(url, keyValue));\n }\n\n async deleteOne(entityName: string, id: string): Promise<void> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}/${id}`;\n firstValueFrom(this.http.delete(url));\n }\n\n async insertOne<T = any>(entityName: string, entityItem: T): Promise<string> {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.module}/${routeElement.entity}`;\n return firstValueFrom(this.http.post<string>(url, entityItem));\n }\n\n async getAll<T = any>(entityName: string): Promise<T[]> {\n return [];\n }\n\n async query<T = any>(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<T>> {\n const routeElement = await this.getConfigEntity(entityName);\n\n let httpParams = new HttpParams().set('Skip', request.skip).set('Take', request.take);\n if (request?.sort && request?.sort.length > 0) {\n const sortParam = request?.sort.map((sort: any) => `${sort.field}:${sort.dir}`).join(',');\n httpParams = httpParams.set('$orderby', sortParam);\n }\n return firstValueFrom(\n this.http.get<any>(`${this.mainUrl}/${routeElement.module}/${routeElement.entity}`, { params: httpParams })\n ).then((response) => {\n return {\n total: response.totalCount,\n items: response.items,\n };\n });\n }\n}\n","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 {\n AXP_APPLICATION_LOADER,\n AXP_FEATURE_LOADER,\n AXP_PERMISSION_LOADER,\n AXP_TENANT_LOADER,\n AXPAuthModule,\n} from '@acorex/platform/auth';\nimport { AXPEntityStorageService } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { AXCApiEntityStorageService } from './api-storage.service';\nimport {\n AXMOidcApplicationLoader,\n AXMOidcFeatureLoader,\n AXMOidcPermissionLoader,\n AXMOidcStrategy,\n AXMOidcTenantLoader,\n} from './auth/oidc';\n\n@NgModule({\n imports: [\n OAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n }),\n ],\n providers: [\n {\n provide: AXPEntityStorageService,\n useClass: AXCApiEntityStorageService,\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})\nexport class AXCApiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
@@ -14,6 +14,9 @@ import { AXMTextTemplateManagementModuleConst } from '@acorex/modules/text-templ
|
|
14
14
|
import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';
|
15
15
|
import { convertArrayToDataSource } from '@acorex/components/common';
|
16
16
|
import { AXMFormTemplateManagementModuleConst } from '@acorex/modules/form-template-management';
|
17
|
+
import { Observable } from 'rxjs';
|
18
|
+
import Dexie from 'dexie';
|
19
|
+
import { AXPFileManagementService } from '@acorex/platform/widgets';
|
17
20
|
|
18
21
|
const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {
|
19
22
|
const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];
|
@@ -1000,6 +1003,99 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
1000
1003
|
}]
|
1001
1004
|
}] });
|
1002
1005
|
|
1006
|
+
// Define the database structure using Dexie
|
1007
|
+
class FileDatabase extends Dexie {
|
1008
|
+
constructor() {
|
1009
|
+
super('FileStorageDB');
|
1010
|
+
this.version(1).stores({
|
1011
|
+
files: 'fileId', // Primary key
|
1012
|
+
});
|
1013
|
+
}
|
1014
|
+
}
|
1015
|
+
class AXPFileManagementServiceMock {
|
1016
|
+
constructor() {
|
1017
|
+
this.db = new FileDatabase();
|
1018
|
+
}
|
1019
|
+
async upload(requests) {
|
1020
|
+
const tasks = requests.map((r) => new Promise(async (resolve, reject) => {
|
1021
|
+
try {
|
1022
|
+
const fileId = crypto.randomUUID();
|
1023
|
+
const fileRecord = {
|
1024
|
+
fileId,
|
1025
|
+
file: r.file,
|
1026
|
+
metadata: null,
|
1027
|
+
};
|
1028
|
+
await this.db.files.add(fileRecord);
|
1029
|
+
r.finish();
|
1030
|
+
resolve({ fileId, status: 'success' });
|
1031
|
+
}
|
1032
|
+
catch (error) {
|
1033
|
+
r.error(error.message || 'Error saving file');
|
1034
|
+
reject({ status: 'failed', error });
|
1035
|
+
}
|
1036
|
+
}));
|
1037
|
+
return Promise.allSettled(tasks);
|
1038
|
+
}
|
1039
|
+
async delete(fileId) {
|
1040
|
+
try {
|
1041
|
+
await this.db.files.delete(fileId);
|
1042
|
+
return { success: true, fileId };
|
1043
|
+
}
|
1044
|
+
catch (error) {
|
1045
|
+
throw new Error(`Failed to delete file: ${error.message}`);
|
1046
|
+
}
|
1047
|
+
}
|
1048
|
+
get(fileId, name) {
|
1049
|
+
return new Observable((observer) => {
|
1050
|
+
(async () => {
|
1051
|
+
try {
|
1052
|
+
const fileRecord = await this.db.files.get(fileId);
|
1053
|
+
if (fileRecord) {
|
1054
|
+
observer.next({ ...fileRecord, status: 'success' });
|
1055
|
+
observer.complete();
|
1056
|
+
}
|
1057
|
+
else {
|
1058
|
+
observer.error({ status: 'not_found', fileId });
|
1059
|
+
}
|
1060
|
+
}
|
1061
|
+
catch (error) {
|
1062
|
+
observer.error({ status: 'failed', error });
|
1063
|
+
}
|
1064
|
+
})();
|
1065
|
+
});
|
1066
|
+
}
|
1067
|
+
async list() {
|
1068
|
+
try {
|
1069
|
+
const files = await this.db.files.toArray();
|
1070
|
+
return files;
|
1071
|
+
}
|
1072
|
+
catch (error) {
|
1073
|
+
throw new Error(`Failed to list files: ${error.message}`);
|
1074
|
+
}
|
1075
|
+
}
|
1076
|
+
async setMetadata(fileId, metadata) {
|
1077
|
+
try {
|
1078
|
+
const fileRecord = await this.db.files.get(fileId);
|
1079
|
+
if (!fileRecord) {
|
1080
|
+
throw new Error(`File with ID ${fileId} not found`);
|
1081
|
+
}
|
1082
|
+
await this.db.files.update(fileId, { metadata });
|
1083
|
+
return { fileId, metadata };
|
1084
|
+
}
|
1085
|
+
catch (error) {
|
1086
|
+
throw new Error(`Failed to update metadata: ${error.message}`);
|
1087
|
+
}
|
1088
|
+
}
|
1089
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileManagementServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1090
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileManagementServiceMock, providedIn: 'root' }); }
|
1091
|
+
}
|
1092
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFileManagementServiceMock, decorators: [{
|
1093
|
+
type: Injectable,
|
1094
|
+
args: [{
|
1095
|
+
providedIn: 'root',
|
1096
|
+
}]
|
1097
|
+
}], ctorParameters: () => [] });
|
1098
|
+
|
1003
1099
|
class AXCMockModule {
|
1004
1100
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1005
1101
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXCMockModule, imports: [i1$1.AXPAuthModule, AXCFormTemplateManagementMockModule,
|
@@ -1043,6 +1139,10 @@ class AXCMockModule {
|
|
1043
1139
|
provide: AXPModuleDesignerService,
|
1044
1140
|
useClass: AXCModuleDesignerService,
|
1045
1141
|
},
|
1142
|
+
{
|
1143
|
+
provide: AXPFileManagementService,
|
1144
|
+
useClass: AXPFileManagementServiceMock,
|
1145
|
+
},
|
1046
1146
|
], imports: [AXPAuthModule.forRoot({
|
1047
1147
|
strategies: [MOCKStrategy],
|
1048
1148
|
}),
|
@@ -1100,6 +1200,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
1100
1200
|
provide: AXPModuleDesignerService,
|
1101
1201
|
useClass: AXCModuleDesignerService,
|
1102
1202
|
},
|
1203
|
+
{
|
1204
|
+
provide: AXPFileManagementService,
|
1205
|
+
useClass: AXPFileManagementServiceMock,
|
1206
|
+
},
|
1103
1207
|
],
|
1104
1208
|
}]
|
1105
1209
|
}] });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-mock.mjs","sources":["../../../../libs/connectivity/mock/src/lib/application-management/application-management-mock-data.ts","../../../../libs/connectivity/mock/src/lib/application-management/application.seeder.ts","../../../../libs/connectivity/mock/src/lib/application-management/mock-module-designer.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/conversation.module.ts","../../../../libs/connectivity/mock/src/lib/mock.strategy.ts","../../../../libs/connectivity/mock/src/lib/notification-management/notification/notification.mock.service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/global-variables/global-variables.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/global-variables/global-variable.seeder.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/text-template-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/template.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/datasource-provider.mock.service.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/form-template-management-mock.module.ts","../../../../libs/connectivity/mock/src/lib/mock.module.ts","../../../../libs/connectivity/mock/src/acorex-connectivity-mock.ts"],"sourcesContent":["import { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const MODULES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'UserManagement',\n 'Analytics',\n 'Reporting',\n 'PaymentGateway',\n 'NotificationService',\n 'InventoryManagement',\n ];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const APPLICATIONS_MODULES = Array.from({ length: 5 }).map((_, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n module: AXPDataGenerator.pick(MODULES),\n };\n});\n\nexport const EDITIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Standard', 'Premium', 'Gold', 'Silver', 'Bronze', 'Platinum', 'Enterprise'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const FEATURES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'User Authentication',\n 'Data Encryption',\n 'Real-time Notifications',\n 'Customizable Dashboards',\n 'API Access',\n 'Multi-language Support',\n 'Analytics and Reporting',\n 'Offline Mode',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const ENTITIES = Array.from({ length: 5 }).map((_, i) => {\n const source = ['User', 'Product', 'Order', 'Customer', 'Transaction', 'Category', 'Review', 'InventoryItem'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\nexport const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Read', 'Write', 'Update', 'Delete', 'ManageUsers', 'ViewReports', 'AccessSettings', 'CreateContent'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const PROPERTIES = Array.from({ length: 10 }).map((_, i) => {\n const source = [\n 'property1',\n 'property2',\n 'property3',\n 'property4',\n 'property5',\n 'property6',\n 'property7',\n 'property8',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n entityId: AXPDataGenerator.pick(ENTITIES).id,\n name: name,\n title: name,\n path: name,\n };\n});\n","import {\n APPLICATION_SOURCE_NAME,\n AXMApplicationEntityModel,\n AXMEditionEntityModel,\n AXMEntityEntityModel,\n AXMFeatureEntityModel,\n AXMModuleEntityModel,\n AXMPermissionEntityModel,\n AXMPropertyEntityModel,\n ENTITY_SOURCE_NAME,\n FEATURE_SOURCE_NAME,\n MODULE_SOURCE_NAME,\n PERMISSION_SOURCE_NAME,\n PROPERTY_SOURCE_NAME,\n} from '@acorex/modules/application-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport {\n APPLICATIONS,\n EDITIONS,\n ENTITIES,\n FEATURES,\n MODULES,\n PERMISSIONS,\n PROPERTIES,\n} from './application-management-mock-data';\n\n@Injectable()\nexport class AXPApplicationTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n const applications = this.storageService.initial<AXMApplicationEntityModel>(APPLICATION_SOURCE_NAME, APPLICATIONS);\n const modules = this.storageService.initial<AXMModuleEntityModel>(MODULE_SOURCE_NAME, MODULES);\n const entities = this.storageService.initial<AXMEntityEntityModel>(ENTITY_SOURCE_NAME, ENTITIES);\n const features = this.storageService.initial<AXMFeatureEntityModel>(FEATURE_SOURCE_NAME, FEATURES);\n const permissions = this.storageService.initial<AXMPermissionEntityModel>(PERMISSION_SOURCE_NAME, PERMISSIONS);\n const editions = this.storageService.initial<AXMEditionEntityModel>(PERMISSION_SOURCE_NAME, EDITIONS);\n const properties = this.storageService.initial<AXMPropertyEntityModel>(PROPERTY_SOURCE_NAME, PROPERTIES);\n\n await Promise.all([applications, modules, entities, features, permissions, editions, properties]);\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 AXCModuleDesignerService 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 { AXMChatMessage, AXMChatRoom, AXMChatUserDetails } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateChatUser = (): AXMChatUserDetails => ({\n id: AXPDataGenerator.uuid(),\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null, // Can replace with a mock image URL if needed\n});\n\nexport const generateChatMessage = (): AXMChatMessage => ({\n content: `${AXPDataGenerator.pick([\n 'Hello!',\n 'How are you?',\n 'Can we schedule a meeting?',\n 'Looking forward to your response.',\n 'This is a test message.',\n 'Let’s catch up soon!',\n 'Good job on this!',\n 'Here is the update you requested.',\n ])}`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n hasSeen: AXPDataGenerator.boolean(),\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n createdBy: generateChatUser(),\n});\n\nexport const CHAT: AXMChatRoom[] = Array.from({ length: 10 }).map(() => {\n const roomMembersCount = AXPDataGenerator.number(2, 10);\n const roomMembers = Array.from({ length: roomMembersCount }).map(() => generateChatUser());\n\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick([\n 'General Discussion',\n 'Project Alpha',\n 'Team Meeting',\n 'Client Communication',\n 'Random Chat',\n ]),\n lastMessage: generateChatMessage(),\n roomMembers,\n unreadCount: AXPDataGenerator.number(0, 20),\n };\n});\n","import { AXMChatRoom, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { CHAT } from './chat.mock.data';\n\n@Injectable()\nexport class AXPChatDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMChatRoom>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`,\n CHAT\n );\n }\n}\n","import { AXMChatServiceImpl, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMChatMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMChatMockService\" class.\nexport class AXMChatMockService extends AXMChatServiceImpl {\n override async getTotalUnread(): Promise<number> {\n const chatList = await super.storageService.getAll(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`\n );\n const totalUnread = chatList.reduce((acc, curr) => (acc += curr.unreadCount > 0), 0);\n return totalUnread;\n }\n override async markChatAsRead(roomId: string): Promise<void> {\n const oldChat = await super.getOne(roomId);\n await super.updateOne(roomId, { ...oldChat, unreadCount: 0 });\n return;\n }\n}\n","// import { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\n// import {\n// AXPComment,\n// AXPCommentCreateRequest,\n// AXPCommentDeleteRequest,\n// AXPCommentGetRequest,\n// AXPCommentLikeRequest,\n// AXPCommentResponse,\n// AXPCommentUpdateRequest,\n// } from '@acorex/platform/themes/shared';\n// import { inject, Injectable } from '@angular/core';\n\n// @Injectable({\n// providedIn: 'root',\n// })\n// export class AXMMockCommentService {\n// private storageService = inject(AXPEntityStorageService);\n// private name = 'comments';\n\n// async get(params: AXPCommentGetRequest): Promise<AXPCommentResponse> {\n// const items = (await this.storageService.getAll(this.name)) as AXPComment[];\n// return { totalCount: items.length, items };\n// }\n\n// async create(payload: AXPCommentCreateRequest): Promise<string> {\n// const fullPayload = {\n// ...payload,\n// id: AXPDataGenerator.uuid(),\n// memberId: AXPDataGenerator.uuid(),\n// memberType: AXPDataGenerator.pick(['user', 'admin']),\n// roomId: AXPDataGenerator.uuid(),\n// messageVisibles: [],\n// messageStatuses: [],\n// messageHistories: [],\n// replies: [],\n// isArchived: false,\n// isLiked: false,\n// reactionsCount: 0,\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// 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// } else {\n// await this.storageService.insertOne(this.name, fullPayload);\n// }\n\n// return 'done';\n// }\n\n// async update(payload: AXPCommentUpdateRequest): Promise<string> {\n// await this.storageService.updateOne(this.name, payload.id, { content: payload.content });\n// return 'done';\n// }\n\n// async delete(payload: AXPCommentDeleteRequest): Promise<void> {\n// await this.storageService.deleteOne(this.name, payload.id);\n// }\n\n// async like(payload: AXPCommentLikeRequest): Promise<string> {\n// const message = await this.storageService.getOne(this.name, payload.messageId);\n\n// if (message) {\n// const isLiked = !message.isLiked;\n// const reactionsCount = isLiked ? message.reactionsCount + 1 : message.reactionsCount - 1;\n// await this.storageService.updateOne(this.name, payload.messageId, { ...message, isLiked, reactionsCount });\n// } else {\n// const comments = (await this.storageService.getAll(this.name)) as AXPComment[];\n// const commentWithReply = comments.find((comment) =>\n// comment.replies.some((reply) => reply.id === payload.messageId)\n// );\n\n// if (commentWithReply) {\n// commentWithReply.replies = commentWithReply.replies.map((reply) =>\n// reply.id === payload.messageId\n// ? {\n// ...reply,\n// isLiked: !reply.isLiked,\n// reactionsCount: reply.isLiked ? reply.reactionsCount - 1 : reply.reactionsCount + 1,\n// }\n// : reply\n// );\n// await this.storageService.updateOne(this.name, commentWithReply.id, commentWithReply);\n// } else {\n// throw new Error('No comment with this ID found.');\n// }\n// }\n\n// return 'done';\n// }\n// }\n\nimport { AXMComment } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateUser = () => ({\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n});\n\nexport const COMMENTS: AXMComment[] = 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\n const repliesCount = AXPDataGenerator.number(0, 3);\n\n return {\n id: AXPDataGenerator.uuid(),\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: [], // Ensure AXPCommentVisibleMessage[] type is defined\n messageStatuses: [], // Ensure AXPCommentStatusMessage[] type is defined\n messageHistories: [], // Ensure AXPCommentHistoryMessage[] type is defined\n replies: Array.from({ length: repliesCount }).map(() => ({\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: '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: generateUser(), // Ensure AXPCommentUserDetails type is defined\n replies: [], // Add an empty replies array here to match the AXPComment type\n })),\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 100),\n repliesCount,\n user: generateUser(), // Ensure AXPCommentUserDetails type is defined\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n };\n});\n","import { AXMComment, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { COMMENTS } from './comment.mock.data';\n\n@Injectable()\nexport class AXPCommentDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMComment>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.commentName}`,\n COMMENTS\n );\n }\n}\n","import {\n AXMComment,\n AXMCommentCreateRequest,\n AXMCommentServiceImpl,\n AXMMessageReactionEntityModel,\n} from '@acorex/modules/conversation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMCommentMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMCommentMockService\" class.\nexport class AXMCommentMockService extends AXMCommentServiceImpl {\n private sessionService = inject(AXPSessionService);\n\n override async insertOne(request: AXMCommentCreateRequest): Promise<string> {\n const fullPayload: AXMComment = {\n ...request,\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n replies: [],\n isArchived: false,\n isLiked: false,\n reactionsCount: 0,\n repliesCount: 0,\n user: {\n userName: this.sessionService.user?.name ?? AXPDataGenerator.firstName().toLowerCase(),\n firstName: this.sessionService.user?.name ?? AXPDataGenerator.firstName(),\n lastName: this.sessionService.user?.name ?? AXPDataGenerator.lastName(),\n picture: this.sessionService.user?.avatar ?? null,\n id: this.sessionService.user?.id ?? AXPDataGenerator.uuid(),\n },\n createdAt: new Date(),\n id: AXPDataGenerator.uuid(),\n };\n\n if (request.replyId) {\n const message = await super.getOne(request.replyId);\n await super.updateOne(request.replyId, {\n ...message,\n replies: [...message.replies, fullPayload],\n });\n } else {\n await super.insertOne(fullPayload as any);\n //await super.storageService.insertOne('comments', fullPayload);\n }\n return 'done';\n }\n\n override async like(payload: AXMMessageReactionEntityModel): Promise<string> {\n debugger;\n const comment = await super.getOne(payload.messageId);\n\n if (comment) {\n const isLiked = !comment.isLiked;\n const reactionsCount = isLiked ? comment.reactionsCount + 1 : comment.reactionsCount - 1;\n\n await super.updateOne(payload.messageId, { ...comment, isLiked, reactionsCount });\n } else {\n const allComments = await super.query({\n skip: 0,\n take: 9999,\n });\n\n const commentWithReply = allComments.items.find((comment) =>\n comment?.replies?.some((reply) => reply.id === payload.messageId)\n );\n\n if (commentWithReply) {\n commentWithReply.replies = commentWithReply.replies.map((reply) =>\n reply.id === payload.messageId\n ? {\n ...reply,\n isLiked: !reply.isLiked,\n reactionsCount: reply.isLiked ? reply.reactionsCount - 1 : reply.reactionsCount + 1,\n }\n : reply\n );\n await super.updateOne(commentWithReply.id, commentWithReply);\n } else {\n throw new Error('No comment with this ID found.');\n }\n }\n\n return 'done';\n }\n}\n","import { AXMCommentService } from '@acorex/modules/backend';\nimport { AXMChatModule, AXMChatService } from '@acorex/modules/conversation';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXPChatDataSeeder } from './chat';\nimport { AXMChatMockService } from './chat/chat.mock.service';\nimport { AXMCommentMockService, AXPCommentDataSeeder } from './comments';\n\n@NgModule({\n imports: [\n AXMChatModule.forRoot({\n provider: [\n {\n provide: AXMChatService,\n useClass: AXMChatMockService,\n },\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPChatDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPCommentDataSeeder,\n multi: true,\n },\n {\n provide: AXMCommentService,\n useClass: AXMCommentMockService,\n },\n // {\n // provide: AXMChatService,\n // useClass: AXMChatMockService,\n // },\n ],\n})\nexport class AXCConversationMockModule {}\n","import {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\n\nexport interface MockUserPassCredentials extends AXPBaseCredentials {\n username: string;\n password: string;\n}\n\n@Injectable()\nexport class MOCKStrategy implements AXPAuthStrategy {\n constructor() {}\n\n get name(): string {\n return 'user-pass';\n }\n\n async signin(credentials: MockUserPassCredentials): Promise<AXPSignInResult> {\n try {\n if (credentials.username == 'root' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Root',\n title: 'Root User',\n avatar: 'https://avatar.iran.liara.run/public/29',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'admin' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Admin',\n title: 'Admin User',\n avatar: 'https://avatar.iran.liara.run/public/47',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'user' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-76a7-b81c-7cf9468ae831',\n name: 'User',\n title: 'Sample User',\n avatar: 'https://avatar.iran.liara.run/public/56',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n return {\n succeed: false,\n };\n } catch (error: any) {\n if (error?.message) throw new Error(error.message);\n // Depending on the error type, you might want to throw a specific error\n throw new Error('Network or server error occurred');\n }\n }\n\n async signout(): Promise<void> {\n console.log('User signed out');\n }\n\n async refreshToken(context: AXPSessionContext): Promise<AXPRefreshTokenResult> {\n return {\n succeed: true,\n data: {\n accessToken: 'access_token',\n refreshToken: 'refresh_token',\n application: context.application,\n tenant: context.tenant,\n },\n };\n }\n}\n","import {\n AXMNotificationCategory,\n AXMNotificationChannel,\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationPrority,\n AXMNotificationResponse,\n AXMNotificationType,\n} from '@acorex/modules/notification-management';\nimport { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMMockNotificationService {\n private storageService = inject(AXPEntityStorageService);\n private name = 'notifications';\n\n async getList(): Promise<AXMNotificationResponse> {\n await this.storageService.initial(this.name, NOTIFICATIONS);\n const items = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n return { total: items.length, items };\n }\n\n async markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void> {\n const notifications = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n\n if (!payload) {\n notifications\n .filter((item) => !item.readAt)\n .forEach((item) => this.storageService.updateOne(this.name, item.id, { ...item, readAt: new Date() }));\n } else {\n for (const id of payload.id) {\n const item = await this.storageService.getOne(this.name, id);\n const readAt = item.readAt ? null : new Date();\n this.storageService.updateOne(this.name, item.id, { ...item, readAt });\n }\n }\n }\n\n async create(payload?: AXMNotificationItem): Promise<void> {\n const notification = payload || generateNotification();\n await this.storageService.insertOne(this.name, notification);\n }\n}\n\nconst CHANNELS = ['InApp', 'Email', 'SMS'];\nconst TITLES = ['Buy Me!', 'Black Friday', 'New Message'];\nconst BODIES = ['Buy New Glass From Shop', 'New Offers For Black Friday!', 'Saeed Send New File Message'];\nconst CATEGORIES = ['Inbox', 'Archive'];\nconst TYPES = ['File', 'Person', 'Notification'];\nconst PRIORITIES = ['Warning', 'Danger', 'Notice'];\n\nexport const NOTIFICATIONS = Array.from({ length: 5 }).map(generateNotification);\n\nfunction generateNotification(): AXMNotificationItem {\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick(TITLES),\n body: AXPDataGenerator.pick(BODIES),\n channel: AXPDataGenerator.pick(CHANNELS) as AXMNotificationChannel,\n content: {\n type: AXPDataGenerator.pick(TYPES) as AXMNotificationType,\n data: {},\n },\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) as AXMNotificationCategory,\n prority: AXPDataGenerator.pick(PRIORITIES) as AXMNotificationPrority,\n icon: 'fa-image',\n isPinned: AXPDataGenerator.boolean(),\n },\n readAt: AXPDataGenerator.pick([new Date(), null]),\n createAt: AXPDataGenerator.date(new Date(2021), new Date()),\n entityName: 'notifications',\n };\n}\n","import { AXPDataGenerator } from '@acorex/platform/common';\n\nconst names = ['key', 'counter', 'logo', 'tenant'];\nconst data = [\n ['key1', 'string'],\n ['sequence', 'integer'],\n ['appLogo', 'function'],\n ['CompanyName', 'function'],\n];\n\nexport const GLOBAL_VARIABLES = Array.from({ length: 4 }).map((element, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n name: names[i],\n title: names[i],\n dataType: data[i][1],\n dataValue: data[i][0],\n };\n});\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { GLOBAL_VARIABLES } from './global-variables.mock.data';\n\n@Injectable()\nexport class AXPGlobalVariablesDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial('globalVariable', GLOBAL_VARIABLES);\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const SCHEDULER_JOB = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'backup',\n title: 'Backup Data',\n process: 'backup',\n trigger: '00*1*?*',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'cancelOrder',\n title: 'Auto Cancel Ecommerce Orders',\n process: 'cancelOrder',\n trigger: '0*1/2?***',\n },\n];\n","import {\n AXMSchedulerJobManagementModuleConst,\n AXMSchedulerJobManagementSchedulerJobEntityModel,\n} from '@acorex/modules/scheduler-job-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { SCHEDULER_JOB } from './scheduler-job-management.mock.data';\n\n@Injectable()\nexport class AXPSchedulerJobDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSchedulerJobManagementSchedulerJobEntityModel>(\n `${AXMSchedulerJobManagementModuleConst.moduleName}.${AXMSchedulerJobManagementModuleConst.schedulerJobEntity}`,\n SCHEDULER_JOB\n );\n }\n}\n","import { AXMTextTemplateManagementTemplateEntityModel } from '@acorex/modules/text-template-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const TEXT_TEMPLATE_CATEGORY = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'security',\n title: 'Security',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'marketing',\n title: 'Marketing',\n },\n];\n\nexport const TEXT_TEMPLATES: AXMTextTemplateManagementTemplateEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'RestPassword',\n title: 'Rest Password',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We received a request to reset your password for your account. If you didn’t make this request, you can ignore this email. Otherwise, you can reset your password using the link below:</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Reset Password Link}}\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Reset Password</a>\n </p>\n <p style=\"font-size: 12px; color: #666666;\">*This link will expire in {{Expiration Time}}*</p>\n <p>If the link above doesn’t work, copy and paste the following URL into your browser:</p>\n <p style=\"color: #007bff;\">{{Reset Password URL}}</p>\n <p>For your security, please make sure to keep your new password safe and avoid using it for other sites.</p>\n <p>If you have any questions, feel free to reach out to our support team at <a href=\"mailto:{{Support Email}}\">{{Support Email}}</a>.</p>\n <p>Best regards,<br>{{Company Name}} Support Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'NewDevice',\n title: 'New Device Login',\n content: `\n <tr>\n <td>\n <p>Hi {{User's Name}},</p>\n <p>We detected a login to your account from a new device. If this was you, there’s nothing you need to do. If you didn’t sign in from a new device, please review your account for any unauthorized activity.</p>\n <p style=\"font-weight: bold;\">Device Information:</p>\n <ul>\n <li><strong>Device:</strong> {{Device Type}}</li>\n <li><strong>Location:</strong> {{Location, e.g., City, Country}}</li>\n <li><strong>Date & Time:</strong> {{Date and Time}}</li>\n <li><strong>IP Address:</strong> {{IP Address}}</li>\n </ul>\n <p>If you have any concerns, please secure your account by resetting your password and enabling two-factor authentication.</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"https://example.com/security-settings\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Review Account Security</a>\n </p>\n <p>Thank you for helping us keep your account safe.</p>\n <p>Best regards,<br>{{Your Company Name}} Security Team</p>\n </td>\n </tr>\n `,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'offer',\n title: 'Offer',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We're excited to bring you an exclusive offer! For a limited time, you can enjoy {{Discount Percentage}}% off on {{Product or Service Name}}. Don’t miss out on this amazing deal!</p>\n <p style=\"font-weight: bold;\">Offer Details:</p>\n <ul>\n <li><strong>Discount:</strong> {{Discount Percentage}}%</li>\n <li><strong>Valid Until:</strong> {{Expiration Date}}</li>\n <li><strong>Promo Code:</strong> <span style=\"color: #007bff;\">{{Promo Code}}</span></li>\n </ul>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Offer Link}}\" style=\"background-color: #ff9800; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Redeem Offer</a>\n </p>\n <p>Thank you for being a valued customer. We hope you enjoy this special offer!</p>\n <p>Best regards,<br>{{Company Name}} Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[1],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n];\n","import {\n AXMTextTemplateManagementCategoryEntityModel,\n AXMTextTemplateManagementModuleConst,\n} from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATE_CATEGORY } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementCategoryEntityModel>(\n `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.categoryEntity}`,\n TEXT_TEMPLATE_CATEGORY\n );\n }\n}\n","import {\n AXMTextTemplateManagementModuleConst,\n AXMTextTemplateManagementTemplateEntityModel,\n} from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATES } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementTemplateEntityModel>(\n `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.templateEntity}`,\n TEXT_TEMPLATES\n );\n }\n}\n","import { convertArrayToDataSource } from '@acorex/components/common';\nimport { AXPWidgetDataSource, AXPWidgetDataSourceProvider } from '@acorex/platform/layout/builder';\n\nexport class AXPMockWidgetDataSourceProvider implements AXPWidgetDataSourceProvider {\n async items(): Promise<AXPWidgetDataSource[]> {\n return [\n {\n name: 'mock.users',\n title: 'Users',\n columns: [],\n samples: [\n {\n id: '2',\n title: 'Alex Jakson',\n },\n {\n id: '3',\n title: 'Emma Smith',\n },\n ],\n source: () =>\n convertArrayToDataSource([\n {\n id: '1',\n title: 'Arash Oshnoudi',\n },\n {\n id: '2',\n title: 'Alex Smith',\n },\n {\n id: '3',\n title: 'Emma Jakson',\n },\n ]),\n },\n ];\n }\n}\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementCategoryEntityModel, AXMFormTemplateManagementModuleConst } from '@acorex/modules/form-template-management';\n\n\n@Injectable()\nexport class AXPFormTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMFormTemplateManagementCategoryEntityModel>(\n `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.categoryEntity}`,\n [\n {\n title: 'Risk Assessment'\n },\n {\n title: 'Servicing'\n },\n {\n title: 'Checklists'\n }\n ]);\n }\n}\n","import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';\nimport { NgModule } from '@angular/core';\nimport { AXPMockWidgetDataSourceProvider } from './datasource-provider.mock.service';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/common';\nimport { AXPFormTemplateCategoryDataSeeder } from './category.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n\n {\n provide: AXP_WIDGET_DATASOURCE_PROVIDER,\n useClass: AXPMockWidgetDataSourceProvider,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPFormTemplateCategoryDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCFormTemplateManagementMockModule { }\n","import { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXMNotificationService } from '@acorex/modules/notification-management';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXP_DATA_SEEDER_TOKEN, AXPDexieEntityStorageService, AXPEntityStorageService } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXPApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXCConversationMockModule } from './conversation/conversation.module';\nimport { MOCKStrategy } from './mock.strategy';\nimport { AXMMockNotificationService } from './notification-management/notification/notification.mock.service';\nimport { AXPGlobalVariablesDataSeeder } from './platform-management';\nimport { AXPSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXPTextTemplateCategoryDataSeeder, AXPTextTemplateDataSeeder } from './text-template-management';\nimport { AXCFormTemplateManagementMockModule } from './form-template-management/form-template-management-mock.module';\n\n@NgModule({\n imports: [\n AXPAuthModule.forRoot({\n strategies: [MOCKStrategy],\n }),\n AXCFormTemplateManagementMockModule,\n AXCConversationMockModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n AXPDexieEntityStorageService,\n {\n provide: AXMNotificationService,\n useClass: AXMMockNotificationService,\n },\n\n {\n provide: AXPEntityStorageService,\n useClass: AXPDexieEntityStorageService,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPGlobalVariablesDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateCategoryDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPApplicationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSchedulerJobDataSeeder,\n multi: true,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXCModuleDesignerService,\n },\n ],\n})\nexport class AXCMockModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-connectivity-mock.mjs","sources":["../../../../libs/connectivity/mock/src/lib/application-management/application-management-mock-data.ts","../../../../libs/connectivity/mock/src/lib/application-management/application.seeder.ts","../../../../libs/connectivity/mock/src/lib/application-management/mock-module-designer.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/conversation.module.ts","../../../../libs/connectivity/mock/src/lib/mock.strategy.ts","../../../../libs/connectivity/mock/src/lib/notification-management/notification/notification.mock.service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/global-variables/global-variables.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/global-variables/global-variable.seeder.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/text-template-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/template.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/datasource-provider.mock.service.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/form-template-management-mock.module.ts","../../../../libs/connectivity/mock/src/lib/file.mock.service.ts","../../../../libs/connectivity/mock/src/lib/mock.module.ts","../../../../libs/connectivity/mock/src/acorex-connectivity-mock.ts"],"sourcesContent":["import { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const MODULES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'UserManagement',\n 'Analytics',\n 'Reporting',\n 'PaymentGateway',\n 'NotificationService',\n 'InventoryManagement',\n ];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const APPLICATIONS_MODULES = Array.from({ length: 5 }).map((_, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n module: AXPDataGenerator.pick(MODULES),\n };\n});\n\nexport const EDITIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Standard', 'Premium', 'Gold', 'Silver', 'Bronze', 'Platinum', 'Enterprise'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const FEATURES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'User Authentication',\n 'Data Encryption',\n 'Real-time Notifications',\n 'Customizable Dashboards',\n 'API Access',\n 'Multi-language Support',\n 'Analytics and Reporting',\n 'Offline Mode',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const ENTITIES = Array.from({ length: 5 }).map((_, i) => {\n const source = ['User', 'Product', 'Order', 'Customer', 'Transaction', 'Category', 'Review', 'InventoryItem'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\nexport const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Read', 'Write', 'Update', 'Delete', 'ManageUsers', 'ViewReports', 'AccessSettings', 'CreateContent'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const PROPERTIES = Array.from({ length: 10 }).map((_, i) => {\n const source = [\n 'property1',\n 'property2',\n 'property3',\n 'property4',\n 'property5',\n 'property6',\n 'property7',\n 'property8',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n entityId: AXPDataGenerator.pick(ENTITIES).id,\n name: name,\n title: name,\n path: name,\n };\n});\n","import {\n APPLICATION_SOURCE_NAME,\n AXMApplicationEntityModel,\n AXMEditionEntityModel,\n AXMEntityEntityModel,\n AXMFeatureEntityModel,\n AXMModuleEntityModel,\n AXMPermissionEntityModel,\n AXMPropertyEntityModel,\n ENTITY_SOURCE_NAME,\n FEATURE_SOURCE_NAME,\n MODULE_SOURCE_NAME,\n PERMISSION_SOURCE_NAME,\n PROPERTY_SOURCE_NAME,\n} from '@acorex/modules/application-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport {\n APPLICATIONS,\n EDITIONS,\n ENTITIES,\n FEATURES,\n MODULES,\n PERMISSIONS,\n PROPERTIES,\n} from './application-management-mock-data';\n\n@Injectable()\nexport class AXPApplicationTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n const applications = this.storageService.initial<AXMApplicationEntityModel>(APPLICATION_SOURCE_NAME, APPLICATIONS);\n const modules = this.storageService.initial<AXMModuleEntityModel>(MODULE_SOURCE_NAME, MODULES);\n const entities = this.storageService.initial<AXMEntityEntityModel>(ENTITY_SOURCE_NAME, ENTITIES);\n const features = this.storageService.initial<AXMFeatureEntityModel>(FEATURE_SOURCE_NAME, FEATURES);\n const permissions = this.storageService.initial<AXMPermissionEntityModel>(PERMISSION_SOURCE_NAME, PERMISSIONS);\n const editions = this.storageService.initial<AXMEditionEntityModel>(PERMISSION_SOURCE_NAME, EDITIONS);\n const properties = this.storageService.initial<AXMPropertyEntityModel>(PROPERTY_SOURCE_NAME, PROPERTIES);\n\n await Promise.all([applications, modules, entities, features, permissions, editions, properties]);\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 AXCModuleDesignerService 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 { AXMChatMessage, AXMChatRoom, AXMChatUserDetails } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateChatUser = (): AXMChatUserDetails => ({\n id: AXPDataGenerator.uuid(),\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null, // Can replace with a mock image URL if needed\n});\n\nexport const generateChatMessage = (): AXMChatMessage => ({\n content: `${AXPDataGenerator.pick([\n 'Hello!',\n 'How are you?',\n 'Can we schedule a meeting?',\n 'Looking forward to your response.',\n 'This is a test message.',\n 'Let’s catch up soon!',\n 'Good job on this!',\n 'Here is the update you requested.',\n ])}`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n hasSeen: AXPDataGenerator.boolean(),\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n createdBy: generateChatUser(),\n});\n\nexport const CHAT: AXMChatRoom[] = Array.from({ length: 10 }).map(() => {\n const roomMembersCount = AXPDataGenerator.number(2, 10);\n const roomMembers = Array.from({ length: roomMembersCount }).map(() => generateChatUser());\n\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick([\n 'General Discussion',\n 'Project Alpha',\n 'Team Meeting',\n 'Client Communication',\n 'Random Chat',\n ]),\n lastMessage: generateChatMessage(),\n roomMembers,\n unreadCount: AXPDataGenerator.number(0, 20),\n };\n});\n","import { AXMChatRoom, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { CHAT } from './chat.mock.data';\n\n@Injectable()\nexport class AXPChatDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMChatRoom>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`,\n CHAT\n );\n }\n}\n","import { AXMChatServiceImpl, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMChatMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMChatMockService\" class.\nexport class AXMChatMockService extends AXMChatServiceImpl {\n override async getTotalUnread(): Promise<number> {\n const chatList = await super.storageService.getAll(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`\n );\n const totalUnread = chatList.reduce((acc, curr) => (acc += curr.unreadCount > 0), 0);\n return totalUnread;\n }\n override async markChatAsRead(roomId: string): Promise<void> {\n const oldChat = await super.getOne(roomId);\n await super.updateOne(roomId, { ...oldChat, unreadCount: 0 });\n return;\n }\n}\n","// import { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\n// import {\n// AXPComment,\n// AXPCommentCreateRequest,\n// AXPCommentDeleteRequest,\n// AXPCommentGetRequest,\n// AXPCommentLikeRequest,\n// AXPCommentResponse,\n// AXPCommentUpdateRequest,\n// } from '@acorex/platform/themes/shared';\n// import { inject, Injectable } from '@angular/core';\n\n// @Injectable({\n// providedIn: 'root',\n// })\n// export class AXMMockCommentService {\n// private storageService = inject(AXPEntityStorageService);\n// private name = 'comments';\n\n// async get(params: AXPCommentGetRequest): Promise<AXPCommentResponse> {\n// const items = (await this.storageService.getAll(this.name)) as AXPComment[];\n// return { totalCount: items.length, items };\n// }\n\n// async create(payload: AXPCommentCreateRequest): Promise<string> {\n// const fullPayload = {\n// ...payload,\n// id: AXPDataGenerator.uuid(),\n// memberId: AXPDataGenerator.uuid(),\n// memberType: AXPDataGenerator.pick(['user', 'admin']),\n// roomId: AXPDataGenerator.uuid(),\n// messageVisibles: [],\n// messageStatuses: [],\n// messageHistories: [],\n// replies: [],\n// isArchived: false,\n// isLiked: false,\n// reactionsCount: 0,\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// 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// } else {\n// await this.storageService.insertOne(this.name, fullPayload);\n// }\n\n// return 'done';\n// }\n\n// async update(payload: AXPCommentUpdateRequest): Promise<string> {\n// await this.storageService.updateOne(this.name, payload.id, { content: payload.content });\n// return 'done';\n// }\n\n// async delete(payload: AXPCommentDeleteRequest): Promise<void> {\n// await this.storageService.deleteOne(this.name, payload.id);\n// }\n\n// async like(payload: AXPCommentLikeRequest): Promise<string> {\n// const message = await this.storageService.getOne(this.name, payload.messageId);\n\n// if (message) {\n// const isLiked = !message.isLiked;\n// const reactionsCount = isLiked ? message.reactionsCount + 1 : message.reactionsCount - 1;\n// await this.storageService.updateOne(this.name, payload.messageId, { ...message, isLiked, reactionsCount });\n// } else {\n// const comments = (await this.storageService.getAll(this.name)) as AXPComment[];\n// const commentWithReply = comments.find((comment) =>\n// comment.replies.some((reply) => reply.id === payload.messageId)\n// );\n\n// if (commentWithReply) {\n// commentWithReply.replies = commentWithReply.replies.map((reply) =>\n// reply.id === payload.messageId\n// ? {\n// ...reply,\n// isLiked: !reply.isLiked,\n// reactionsCount: reply.isLiked ? reply.reactionsCount - 1 : reply.reactionsCount + 1,\n// }\n// : reply\n// );\n// await this.storageService.updateOne(this.name, commentWithReply.id, commentWithReply);\n// } else {\n// throw new Error('No comment with this ID found.');\n// }\n// }\n\n// return 'done';\n// }\n// }\n\nimport { AXMComment } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateUser = () => ({\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n});\n\nexport const COMMENTS: AXMComment[] = 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\n const repliesCount = AXPDataGenerator.number(0, 3);\n\n return {\n id: AXPDataGenerator.uuid(),\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: [], // Ensure AXPCommentVisibleMessage[] type is defined\n messageStatuses: [], // Ensure AXPCommentStatusMessage[] type is defined\n messageHistories: [], // Ensure AXPCommentHistoryMessage[] type is defined\n replies: Array.from({ length: repliesCount }).map(() => ({\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: '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: generateUser(), // Ensure AXPCommentUserDetails type is defined\n replies: [], // Add an empty replies array here to match the AXPComment type\n })),\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 100),\n repliesCount,\n user: generateUser(), // Ensure AXPCommentUserDetails type is defined\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n };\n});\n","import { AXMComment, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { COMMENTS } from './comment.mock.data';\n\n@Injectable()\nexport class AXPCommentDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMComment>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.commentName}`,\n COMMENTS\n );\n }\n}\n","import {\n AXMComment,\n AXMCommentCreateRequest,\n AXMCommentServiceImpl,\n AXMMessageReactionEntityModel,\n} from '@acorex/modules/conversation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMCommentMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMCommentMockService\" class.\nexport class AXMCommentMockService extends AXMCommentServiceImpl {\n private sessionService = inject(AXPSessionService);\n\n override async insertOne(request: AXMCommentCreateRequest): Promise<string> {\n const fullPayload: AXMComment = {\n ...request,\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n replies: [],\n isArchived: false,\n isLiked: false,\n reactionsCount: 0,\n repliesCount: 0,\n user: {\n userName: this.sessionService.user?.name ?? AXPDataGenerator.firstName().toLowerCase(),\n firstName: this.sessionService.user?.name ?? AXPDataGenerator.firstName(),\n lastName: this.sessionService.user?.name ?? AXPDataGenerator.lastName(),\n picture: this.sessionService.user?.avatar ?? null,\n id: this.sessionService.user?.id ?? AXPDataGenerator.uuid(),\n },\n createdAt: new Date(),\n id: AXPDataGenerator.uuid(),\n };\n\n if (request.replyId) {\n const message = await super.getOne(request.replyId);\n await super.updateOne(request.replyId, {\n ...message,\n replies: [...message.replies, fullPayload],\n });\n } else {\n await super.insertOne(fullPayload as any);\n //await super.storageService.insertOne('comments', fullPayload);\n }\n return 'done';\n }\n\n override async like(payload: AXMMessageReactionEntityModel): Promise<string> {\n debugger;\n const comment = await super.getOne(payload.messageId);\n\n if (comment) {\n const isLiked = !comment.isLiked;\n const reactionsCount = isLiked ? comment.reactionsCount + 1 : comment.reactionsCount - 1;\n\n await super.updateOne(payload.messageId, { ...comment, isLiked, reactionsCount });\n } else {\n const allComments = await super.query({\n skip: 0,\n take: 9999,\n });\n\n const commentWithReply = allComments.items.find((comment) =>\n comment?.replies?.some((reply) => reply.id === payload.messageId)\n );\n\n if (commentWithReply) {\n commentWithReply.replies = commentWithReply.replies.map((reply) =>\n reply.id === payload.messageId\n ? {\n ...reply,\n isLiked: !reply.isLiked,\n reactionsCount: reply.isLiked ? reply.reactionsCount - 1 : reply.reactionsCount + 1,\n }\n : reply\n );\n await super.updateOne(commentWithReply.id, commentWithReply);\n } else {\n throw new Error('No comment with this ID found.');\n }\n }\n\n return 'done';\n }\n}\n","import { AXMCommentService } from '@acorex/modules/backend';\nimport { AXMChatModule, AXMChatService } from '@acorex/modules/conversation';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXPChatDataSeeder } from './chat';\nimport { AXMChatMockService } from './chat/chat.mock.service';\nimport { AXMCommentMockService, AXPCommentDataSeeder } from './comments';\n\n@NgModule({\n imports: [\n AXMChatModule.forRoot({\n provider: [\n {\n provide: AXMChatService,\n useClass: AXMChatMockService,\n },\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPChatDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPCommentDataSeeder,\n multi: true,\n },\n {\n provide: AXMCommentService,\n useClass: AXMCommentMockService,\n },\n // {\n // provide: AXMChatService,\n // useClass: AXMChatMockService,\n // },\n ],\n})\nexport class AXCConversationMockModule {}\n","import {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\n\nexport interface MockUserPassCredentials extends AXPBaseCredentials {\n username: string;\n password: string;\n}\n\n@Injectable()\nexport class MOCKStrategy implements AXPAuthStrategy {\n constructor() {}\n\n get name(): string {\n return 'user-pass';\n }\n\n async signin(credentials: MockUserPassCredentials): Promise<AXPSignInResult> {\n try {\n if (credentials.username == 'root' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Root',\n title: 'Root User',\n avatar: 'https://avatar.iran.liara.run/public/29',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'admin' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Admin',\n title: 'Admin User',\n avatar: 'https://avatar.iran.liara.run/public/47',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'user' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-76a7-b81c-7cf9468ae831',\n name: 'User',\n title: 'Sample User',\n avatar: 'https://avatar.iran.liara.run/public/56',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n return {\n succeed: false,\n };\n } catch (error: any) {\n if (error?.message) throw new Error(error.message);\n // Depending on the error type, you might want to throw a specific error\n throw new Error('Network or server error occurred');\n }\n }\n\n async signout(): Promise<void> {\n console.log('User signed out');\n }\n\n async refreshToken(context: AXPSessionContext): Promise<AXPRefreshTokenResult> {\n return {\n succeed: true,\n data: {\n accessToken: 'access_token',\n refreshToken: 'refresh_token',\n application: context.application,\n tenant: context.tenant,\n },\n };\n }\n}\n","import {\n AXMNotificationCategory,\n AXMNotificationChannel,\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationPrority,\n AXMNotificationResponse,\n AXMNotificationType,\n} from '@acorex/modules/notification-management';\nimport { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMMockNotificationService {\n private storageService = inject(AXPEntityStorageService);\n private name = 'notifications';\n\n async getList(): Promise<AXMNotificationResponse> {\n await this.storageService.initial(this.name, NOTIFICATIONS);\n const items = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n return { total: items.length, items };\n }\n\n async markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void> {\n const notifications = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n\n if (!payload) {\n notifications\n .filter((item) => !item.readAt)\n .forEach((item) => this.storageService.updateOne(this.name, item.id, { ...item, readAt: new Date() }));\n } else {\n for (const id of payload.id) {\n const item = await this.storageService.getOne(this.name, id);\n const readAt = item.readAt ? null : new Date();\n this.storageService.updateOne(this.name, item.id, { ...item, readAt });\n }\n }\n }\n\n async create(payload?: AXMNotificationItem): Promise<void> {\n const notification = payload || generateNotification();\n await this.storageService.insertOne(this.name, notification);\n }\n}\n\nconst CHANNELS = ['InApp', 'Email', 'SMS'];\nconst TITLES = ['Buy Me!', 'Black Friday', 'New Message'];\nconst BODIES = ['Buy New Glass From Shop', 'New Offers For Black Friday!', 'Saeed Send New File Message'];\nconst CATEGORIES = ['Inbox', 'Archive'];\nconst TYPES = ['File', 'Person', 'Notification'];\nconst PRIORITIES = ['Warning', 'Danger', 'Notice'];\n\nexport const NOTIFICATIONS = Array.from({ length: 5 }).map(generateNotification);\n\nfunction generateNotification(): AXMNotificationItem {\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick(TITLES),\n body: AXPDataGenerator.pick(BODIES),\n channel: AXPDataGenerator.pick(CHANNELS) as AXMNotificationChannel,\n content: {\n type: AXPDataGenerator.pick(TYPES) as AXMNotificationType,\n data: {},\n },\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) as AXMNotificationCategory,\n prority: AXPDataGenerator.pick(PRIORITIES) as AXMNotificationPrority,\n icon: 'fa-image',\n isPinned: AXPDataGenerator.boolean(),\n },\n readAt: AXPDataGenerator.pick([new Date(), null]),\n createAt: AXPDataGenerator.date(new Date(2021), new Date()),\n entityName: 'notifications',\n };\n}\n","import { AXPDataGenerator } from '@acorex/platform/common';\n\nconst names = ['key', 'counter', 'logo', 'tenant'];\nconst data = [\n ['key1', 'string'],\n ['sequence', 'integer'],\n ['appLogo', 'function'],\n ['CompanyName', 'function'],\n];\n\nexport const GLOBAL_VARIABLES = Array.from({ length: 4 }).map((element, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n name: names[i],\n title: names[i],\n dataType: data[i][1],\n dataValue: data[i][0],\n };\n});\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { GLOBAL_VARIABLES } from './global-variables.mock.data';\n\n@Injectable()\nexport class AXPGlobalVariablesDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial('globalVariable', GLOBAL_VARIABLES);\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const SCHEDULER_JOB = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'backup',\n title: 'Backup Data',\n process: 'backup',\n trigger: '00*1*?*',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'cancelOrder',\n title: 'Auto Cancel Ecommerce Orders',\n process: 'cancelOrder',\n trigger: '0*1/2?***',\n },\n];\n","import {\n AXMSchedulerJobManagementModuleConst,\n AXMSchedulerJobManagementSchedulerJobEntityModel,\n} from '@acorex/modules/scheduler-job-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { SCHEDULER_JOB } from './scheduler-job-management.mock.data';\n\n@Injectable()\nexport class AXPSchedulerJobDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSchedulerJobManagementSchedulerJobEntityModel>(\n `${AXMSchedulerJobManagementModuleConst.moduleName}.${AXMSchedulerJobManagementModuleConst.schedulerJobEntity}`,\n SCHEDULER_JOB\n );\n }\n}\n","import { AXMTextTemplateManagementTemplateEntityModel } from '@acorex/modules/text-template-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const TEXT_TEMPLATE_CATEGORY = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'security',\n title: 'Security',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'marketing',\n title: 'Marketing',\n },\n];\n\nexport const TEXT_TEMPLATES: AXMTextTemplateManagementTemplateEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'RestPassword',\n title: 'Rest Password',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We received a request to reset your password for your account. If you didn’t make this request, you can ignore this email. Otherwise, you can reset your password using the link below:</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Reset Password Link}}\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Reset Password</a>\n </p>\n <p style=\"font-size: 12px; color: #666666;\">*This link will expire in {{Expiration Time}}*</p>\n <p>If the link above doesn’t work, copy and paste the following URL into your browser:</p>\n <p style=\"color: #007bff;\">{{Reset Password URL}}</p>\n <p>For your security, please make sure to keep your new password safe and avoid using it for other sites.</p>\n <p>If you have any questions, feel free to reach out to our support team at <a href=\"mailto:{{Support Email}}\">{{Support Email}}</a>.</p>\n <p>Best regards,<br>{{Company Name}} Support Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'NewDevice',\n title: 'New Device Login',\n content: `\n <tr>\n <td>\n <p>Hi {{User's Name}},</p>\n <p>We detected a login to your account from a new device. If this was you, there’s nothing you need to do. If you didn’t sign in from a new device, please review your account for any unauthorized activity.</p>\n <p style=\"font-weight: bold;\">Device Information:</p>\n <ul>\n <li><strong>Device:</strong> {{Device Type}}</li>\n <li><strong>Location:</strong> {{Location, e.g., City, Country}}</li>\n <li><strong>Date & Time:</strong> {{Date and Time}}</li>\n <li><strong>IP Address:</strong> {{IP Address}}</li>\n </ul>\n <p>If you have any concerns, please secure your account by resetting your password and enabling two-factor authentication.</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"https://example.com/security-settings\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Review Account Security</a>\n </p>\n <p>Thank you for helping us keep your account safe.</p>\n <p>Best regards,<br>{{Your Company Name}} Security Team</p>\n </td>\n </tr>\n `,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'offer',\n title: 'Offer',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We're excited to bring you an exclusive offer! For a limited time, you can enjoy {{Discount Percentage}}% off on {{Product or Service Name}}. Don’t miss out on this amazing deal!</p>\n <p style=\"font-weight: bold;\">Offer Details:</p>\n <ul>\n <li><strong>Discount:</strong> {{Discount Percentage}}%</li>\n <li><strong>Valid Until:</strong> {{Expiration Date}}</li>\n <li><strong>Promo Code:</strong> <span style=\"color: #007bff;\">{{Promo Code}}</span></li>\n </ul>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Offer Link}}\" style=\"background-color: #ff9800; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Redeem Offer</a>\n </p>\n <p>Thank you for being a valued customer. We hope you enjoy this special offer!</p>\n <p>Best regards,<br>{{Company Name}} Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[1],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n];\n","import {\n AXMTextTemplateManagementCategoryEntityModel,\n AXMTextTemplateManagementModuleConst,\n} from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATE_CATEGORY } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementCategoryEntityModel>(\n `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.categoryEntity}`,\n TEXT_TEMPLATE_CATEGORY\n );\n }\n}\n","import {\n AXMTextTemplateManagementModuleConst,\n AXMTextTemplateManagementTemplateEntityModel,\n} from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATES } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementTemplateEntityModel>(\n `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.templateEntity}`,\n TEXT_TEMPLATES\n );\n }\n}\n","import { convertArrayToDataSource } from '@acorex/components/common';\nimport { AXPWidgetDataSource, AXPWidgetDataSourceProvider } from '@acorex/platform/layout/builder';\n\nexport class AXPMockWidgetDataSourceProvider implements AXPWidgetDataSourceProvider {\n async items(): Promise<AXPWidgetDataSource[]> {\n return [\n {\n name: 'mock.users',\n title: 'Users',\n columns: [],\n samples: [\n {\n id: '2',\n title: 'Alex Jakson',\n },\n {\n id: '3',\n title: 'Emma Smith',\n },\n ],\n source: () =>\n convertArrayToDataSource([\n {\n id: '1',\n title: 'Arash Oshnoudi',\n },\n {\n id: '2',\n title: 'Alex Smith',\n },\n {\n id: '3',\n title: 'Emma Jakson',\n },\n ]),\n },\n ];\n }\n}\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementCategoryEntityModel, AXMFormTemplateManagementModuleConst } from '@acorex/modules/form-template-management';\n\n\n@Injectable()\nexport class AXPFormTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMFormTemplateManagementCategoryEntityModel>(\n `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.categoryEntity}`,\n [\n {\n title: 'Risk Assessment'\n },\n {\n title: 'Servicing'\n },\n {\n title: 'Checklists'\n }\n ]);\n }\n}\n","import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';\nimport { NgModule } from '@angular/core';\nimport { AXPMockWidgetDataSourceProvider } from './datasource-provider.mock.service';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/common';\nimport { AXPFormTemplateCategoryDataSeeder } from './category.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n\n {\n provide: AXP_WIDGET_DATASOURCE_PROVIDER,\n useClass: AXPMockWidgetDataSourceProvider,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPFormTemplateCategoryDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCFormTemplateManagementMockModule { }\n","import { AXUploadRequest } from '@acorex/components/uploader';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport Dexie from 'dexie';\n\n// Define the database structure using Dexie\nclass FileDatabase extends Dexie {\n files: Dexie.Table<{ fileId: string; file: Blob; metadata: any }, string>;\n\n constructor() {\n super('FileStorageDB');\n this.version(1).stores({\n files: 'fileId', // Primary key\n });\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPFileManagementServiceMock {\n private db: FileDatabase;\n\n constructor() {\n this.db = new FileDatabase();\n }\n\n async upload(requests: AXUploadRequest[]): Promise<PromiseSettledResult<unknown>[]> {\n const tasks = requests.map((r) =>\n new Promise(async (resolve, reject) => {\n try {\n const fileId = crypto.randomUUID();\n const fileRecord = {\n fileId,\n file: r.file,\n metadata: null,\n };\n\n await this.db.files.add(fileRecord);\n\n r.finish();\n resolve({ fileId, status: 'success' });\n } catch (error: any) {\n r.error(error.message || 'Error saving file');\n reject({ status: 'failed', error });\n }\n })\n );\n\n return Promise.allSettled(tasks);\n }\n\n async delete(fileId: string): Promise<any> {\n try {\n await this.db.files.delete(fileId);\n return { success: true, fileId };\n } catch (error: any) {\n throw new Error(`Failed to delete file: ${error.message}`);\n }\n }\n\n get(fileId: string, name: string): Observable<any> {\n return new Observable((observer) => {\n (async () => {\n try {\n const fileRecord = await this.db.files.get(fileId);\n if (fileRecord) {\n observer.next({ ...fileRecord, status: 'success' });\n observer.complete();\n } else {\n observer.error({ status: 'not_found', fileId });\n }\n } catch (error: any) {\n observer.error({ status: 'failed', error });\n }\n })();\n });\n }\n\n async list(): Promise<any> {\n try {\n const files = await this.db.files.toArray();\n return files;\n } catch (error: any) {\n throw new Error(`Failed to list files: ${error.message}`);\n }\n }\n\n async setMetadata(fileId: string, metadata: any): Promise<any> {\n try {\n const fileRecord = await this.db.files.get(fileId);\n\n if (!fileRecord) {\n throw new Error(`File with ID ${fileId} not found`);\n }\n\n await this.db.files.update(fileId, { metadata });\n return { fileId, metadata };\n } catch (error: any) {\n throw new Error(`Failed to update metadata: ${error.message}`);\n }\n }\n}\n","import { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXMNotificationService } from '@acorex/modules/notification-management';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXP_DATA_SEEDER_TOKEN, AXPDexieEntityStorageService, AXPEntityStorageService } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXPApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXCConversationMockModule } from './conversation/conversation.module';\nimport { MOCKStrategy } from './mock.strategy';\nimport { AXMMockNotificationService } from './notification-management/notification/notification.mock.service';\nimport { AXPGlobalVariablesDataSeeder } from './platform-management';\nimport { AXPSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXPTextTemplateCategoryDataSeeder, AXPTextTemplateDataSeeder } from './text-template-management';\nimport { AXCFormTemplateManagementMockModule } from './form-template-management/form-template-management-mock.module';\nimport { AXPFileManagementServiceMock } from './file.mock.service';\nimport { AXPFileManagementService } from '@acorex/platform/widgets';\n\n@NgModule({\n imports: [\n AXPAuthModule.forRoot({\n strategies: [MOCKStrategy],\n }),\n AXCFormTemplateManagementMockModule,\n AXCConversationMockModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n AXPDexieEntityStorageService,\n {\n provide: AXMNotificationService,\n useClass: AXMMockNotificationService,\n },\n\n {\n provide: AXPEntityStorageService,\n useClass: AXPDexieEntityStorageService,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPGlobalVariablesDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateCategoryDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPApplicationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSchedulerJobDataSeeder,\n multi: true,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXCModuleDesignerService,\n },\n {\n provide: AXPFileManagementService,\n useClass: AXPFileManagementServiceMock,\n },\n ],\n})\nexport class AXCMockModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,19 +1,6 @@
|
|
1
|
-
|
2
|
-
import * as i0 from '@angular/core';
|
3
|
-
import { Component } from '@angular/core';
|
4
|
-
|
5
|
-
class ConnectivityComponent {
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConnectivityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ConnectivityComponent, isStandalone: true, selector: "lib-connectivity", ngImport: i0, template: "<p>connectivity works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
8
|
-
}
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConnectivityComponent, decorators: [{
|
10
|
-
type: Component,
|
11
|
-
args: [{ selector: 'lib-connectivity', imports: [CommonModule], template: "<p>connectivity works!</p>\n" }]
|
12
|
-
}] });
|
1
|
+
var index = {};
|
13
2
|
|
14
3
|
/**
|
15
4
|
* Generated bundle index. Do not edit.
|
16
5
|
*/
|
17
|
-
|
18
|
-
export { ConnectivityComponent };
|
19
6
|
//# sourceMappingURL=acorex-connectivity.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-connectivity.mjs","sources":["../../../../libs/connectivity/
|
1
|
+
{"version":3,"file":"acorex-connectivity.mjs","sources":["../../../../libs/connectivity/index.ts","../../../../libs/connectivity/acorex-connectivity.ts"],"sourcesContent":["export default {};","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,YAAe,EAAE;;ACAjB;;AAEG"}
|
package/index.d.ts
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
declare const _default: {};
|
2
|
+
export default _default;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { AXUploadRequest } from '@acorex/components/uploader';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class AXPFileManagementServiceMock {
|
5
|
+
private db;
|
6
|
+
constructor();
|
7
|
+
upload(requests: AXUploadRequest[]): Promise<PromiseSettledResult<unknown>[]>;
|
8
|
+
delete(fileId: string): Promise<any>;
|
9
|
+
get(fileId: string, name: string): Observable<any>;
|
10
|
+
list(): Promise<any>;
|
11
|
+
setMetadata(fileId: string, metadata: any): Promise<any>;
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileManagementServiceMock, never>;
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileManagementServiceMock>;
|
14
|
+
}
|
package/package.json
CHANGED
@@ -1,5 +0,0 @@
|
|
1
|
-
import * as i0 from "@angular/core";
|
2
|
-
export declare class ConnectivityComponent {
|
3
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ConnectivityComponent, never>;
|
4
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ConnectivityComponent, "lib-connectivity", never, {}, {}, never, never, true, never>;
|
5
|
-
}
|