@acorex/connectivity 19.3.0-next.0 → 19.3.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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/dexie-storage.service.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/common/dashboard/dashboard.mock.data.ts","../../../../libs/connectivity/mock/src/lib/common/dashboard/dashboard.mock.service.ts","../../../../libs/connectivity/mock/src/lib/common/dashboard/dashboard.seeder.ts","../../../../libs/connectivity/mock/src/lib/common/common.module.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/document-management/document-type/document-type.mock.ts","../../../../libs/connectivity/mock/src/lib/document-management/document-type/document-type.seeder.ts","../../../../libs/connectivity/mock/src/lib/document-management/folder/folder.service.ts","../../../../libs/connectivity/mock/src/lib/document-management/file/file.service.ts","../../../../libs/connectivity/mock/src/lib/security-management/mock-data.ts","../../../../libs/connectivity/mock/src/lib/document-management/folder/folder.mock.data.ts","../../../../libs/connectivity/mock/src/lib/document-management/folder/folder.seeder.ts","../../../../libs/connectivity/mock/src/lib/entity-search.provider.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/mock.data.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/data.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/form-template-management-mock.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/notification-management/notification-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/notification-management/template.seeder.ts","../../../../libs/connectivity/mock/src/lib/organization-management/org-chart.mock.ts","../../../../libs/connectivity/mock/src/lib/organization-management/organization-management.seeder.ts","../../../../libs/connectivity/mock/src/lib/organization-management/organization-management-mock.module.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-term/app-term.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-term/app-term.seeder.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-version/app-version.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-version/app-version.seeder.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/platform-management/common/regional-util.service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/file-storage/file-storage-service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/metadata/metadata.mock.ts","../../../../libs/connectivity/mock/src/lib/platform-management/metadata/metadata.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/security-management/datasource-provider.mock.service.ts","../../../../libs/connectivity/mock/src/lib/security-management/role.seeder.ts","../../../../libs/connectivity/mock/src/lib/security-management/user.seeder.ts","../../../../libs/connectivity/mock/src/lib/security-management/security-management-mock.module.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/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 { applyFilterArray, applySortArray } from '@acorex/platform/core';\nimport Dexie from 'dexie';\n\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/core';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\n\nexport class AXPDexieEntityStorageService extends Dexie implements AXPEntityStorageService<string, any> {\n constructor() {\n super('ACoreXPlatform');\n this.version(1).stores({\n 'entity-store': '++id, entityName, [entityName+id]',\n });\n }\n\n get dbName(): string {\n return 'ACoreXPlatform';\n }\n\n async initial<T = any>(entityName: string, collection: T[]): Promise<T[]> {\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 return collection;\n }\n\n async getOne<T = any>(entityName: string, id: string): Promise<T> {\n return await this.table('entity-store').where({ entityName, id: id }).first();\n }\n\n async updateOne<T = any>(entityName: string, id: string, keyValue: { [key: string]: any }): Promise<T> {\n await this.table('entity-store').where({ entityName, id: id }).modify(keyValue);\n return await this.getOne(entityName, id);\n }\n\n async deleteOne(entityName: string, id: string): Promise<void> {\n await this.table('entity-store').where({ entityName, id: id }).delete();\n }\n\n async insertOne<T = any>(entityName: string, entity: T): Promise<string> {\n const uuid = AXPDataGenerator.uuid();\n await this.table('entity-store').add({ ...entity, id: uuid, entityName });\n return uuid;\n }\n\n async getAll<T = any>(entityName: string): Promise<T[]> {\n return await this.table('entity-store').where({ entityName }).toArray();\n }\n\n async query<T = any>(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<T>> {\n let result = await this.table('entity-store').where({ entityName }).toArray();\n\n if (request.sort && request.sort.length) {\n result = applySortArray(result, request.sort);\n }\n result = applyFilterArray(result, request.filter ? [request.filter] : []);\n\n return Promise.resolve({\n total: result.length,\n items: result.slice(request.skip, (request.skip ?? 0) + (request.take ?? 0)),\n });\n }\n}\n\n// export class AXPDexieTableStorageService extends Dexie implements AXPEntityStorageService {\n// private schemaUpdateLock: Promise<void> = Promise.resolve();\n\n// constructor() {\n// super('ACoreXPlatform');\n// // Initial empty version\n// //this.version(1).stores({});\n// }\n\n// // Function to change the schema dynamically\n// private async changeSchema(schemaChanges: { [tableName: string]: string | null }): Promise<void> {\n// // Acquire schema update lock to ensure no other operations are performed while schema is changing\n// this.schemaUpdateLock = this.schemaUpdateLock.then(async () => {\n// console.log('Attempting schema change with:', schemaChanges);\n\n// try {\n// this.close();\n\n// const newDb = new Dexie(this.name);\n\n// // Extract current schema in Dexie format\n// const currentSchema = this.tables.reduce((result, { name, schema }) => {\n// result[name] = [schema.primKey.src, ...schema.indexes.map((idx) => idx.src)].join(',');\n// return result;\n// }, {} as { [tableName: string]: string });\n\n// console.log('Current Schema:', currentSchema);\n\n// // Define current schema version\n\n// newDb.version(this.verno + 10).stores(currentSchema);\n\n// // Define new schema version with schema changes\n// const nextVersion = this.verno + 1;\n// newDb.version(nextVersion).stores(schemaChanges);\n// await newDb.open();\n\n// // Reassign updated db instance\n// Object.assign(this, newDb);\n// console.log(`Schema updated. Current version: ${this.verno}`);\n// } catch (error) {\n// console.error('Error during schema change:', error);\n// throw error;\n// }\n// });\n\n// // Wait for schema change lock to complete\n// await this.schemaUpdateLock;\n// }\n\n// private async ensureInitialized(entityName: string): Promise<void> {\n// if (this.tables.findIndex((table) => table.name === entityName) == -1) {\n// const schemaChanges: { [tableName: string]: string } = {};\n// schemaChanges[entityName] = '++id';\n// await this.changeSchema(schemaChanges);\n// }\n// }\n\n// get dbName(): string {\n// return 'ACoreXPlatform';\n// }\n\n// private async getTable<T>(entityName: string) {\n// await this.ensureInitialized(entityName);\n// return this.table<T, number>(entityName);\n// }\n\n// async initial<T = any>(entityName: string, collection: T[]): Promise<void> {\n// const table = await this.getTable<T>(entityName);\n// const exists = await table.count();\n// if (exists === 0) {\n// await table.bulkAdd(collection);\n// }\n// }\n\n// async getOne<T = any>(entityName: string, id: string): Promise<T> {\n// const table = await this.getTable<T>(entityName);\n// return (await table.where({ id: parseInt(id) }).first()) as T;\n// }\n\n// async updateOne(entityName: string, id: string, keyValue: { [key: string]: any }): Promise<void> {\n// const table = await this.getTable(entityName);\n// await table.update(parseInt(id), keyValue);\n// }\n\n// async deleteOne(entityName: string, id: string): Promise<void> {\n// const table = await this.getTable(entityName);\n// await table.delete(parseInt(id));\n// }\n\n// async insertOne<T = any>(entityName: string, entity: T): Promise<void> {\n// const table = await this.getTable<T>(entityName);\n// await table.add(entity);\n// }\n\n// async getAll<T = any>(entityName: string): Promise<T[]> {\n// const table = await this.getTable<T>(entityName);\n// return await table.toArray();\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 } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\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 AXCApplicationTemplateDataSeeder 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 { AXPDataGenerator } from '@acorex/platform/core';\nimport { AXPWeatherWidget } from '@acorex/platform/widgets';\n\n// Widget types that can be used for generating mock data\nconst widgetTypes = ['bar-chart', 'donut-chart', 'gauge-chart', 'map', 'clock-calendar', 'weather', 'sticky-note'];\n\n// Define the dashboard entity model locally\ntype AXMCommonDashboardEntityModel = {\n id: string;\n name: string;\n title: string;\n description: string;\n widget: any[];\n createdAt?: Date;\n createdBy?: string;\n};\n\n// Generate bar chart widget\nfunction generateBarChartWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n height: 5,\n width: 6,\n },\n node: {\n name: `bar-chart-${uniqueId}`,\n path: 'bar-chart',\n type: 'bar-chart',\n defaultValue: [\n { id: 'a', label: 'Category A', value: AXPDataGenerator.number(30, 100), color: 'green' },\n { id: 'b', label: 'Category B', value: AXPDataGenerator.number(30, 100) },\n { id: 'c', label: 'Category C', value: AXPDataGenerator.number(30, 100) },\n { id: 'd', label: 'Category D', value: AXPDataGenerator.number(10, 30) },\n { id: 'e', label: 'Category E', value: AXPDataGenerator.number(70, 100) },\n ],\n options: {\n width: 600,\n height: 400,\n color: ['red', 'yellow', 'blue'],\n hasOptions: true,\n },\n },\n };\n}\n\n// Generate clock-calendar widget\nfunction generateClockCalendarWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n height: 5,\n width: 3,\n },\n node: {\n name: `clock-calendar-${uniqueId}`,\n path: 'clock-calendar',\n type: 'clock-calendar',\n defaultValue: JSON.stringify({\n showDigital: true,\n showAnalog: true,\n showDate: true,\n use24Hour: AXPDataGenerator.boolean(),\n digitalClockSize: 3,\n analogClockSize: 200,\n bgColor: '#ffffff',\n accentColor: AXPDataGenerator.color(),\n }),\n options: {\n hasOptions: true,\n },\n },\n };\n}\n\n// Generate weather widget\nfunction generateWeatherWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n height: 7,\n width: 3,\n },\n node: {\n name: `weather-${uniqueId}`,\n path: 'weather',\n type: 'weather',\n options: {\n city: AXPDataGenerator.city(),\n hasOptions: true,\n },\n meta: {\n ...AXPWeatherWidget.meta,\n },\n },\n };\n}\n\n// Generate sticky-note widget\nfunction generateStickyNoteWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n height: 3,\n width: 3,\n },\n node: {\n name: `sticky-note-${uniqueId}`,\n path: 'sticky-note',\n type: 'sticky-note',\n defaultValue: `Note from ${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}: \nRemember to complete the ${AXPDataGenerator.pick(['project', 'task', 'meeting', 'report'])} by end of day.`,\n options: {\n hasOptions: false,\n },\n },\n };\n}\n\n// Generate donut-chart widget\nfunction generateDonutChartWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n height: 4,\n width: 4,\n },\n node: {\n name: `donut-chart-${uniqueId}`,\n path: 'donut-chart',\n type: 'donut-chart',\n defaultValue: [\n { id: 'a', name: 'Apples', value: AXPDataGenerator.number(20, 50), color: '#E57373' },\n { id: 'b', name: 'Bananas', value: AXPDataGenerator.number(20, 40), color: '#FFF176' },\n { id: 'c', name: AXPDataGenerator.firstName(), value: AXPDataGenerator.number(10, 30), color: '#F06292' },\n { id: 'd', name: 'Dates', value: AXPDataGenerator.number(5, 20), color: '#9575CD' },\n ],\n options: {\n width: 250,\n height: 250,\n showLegend: true,\n showTooltip: true,\n showPercentage: true,\n showValue: true,\n hasOptions: true,\n },\n },\n };\n}\n\n// Generate gauge-chart widget\nfunction generateGaugeChartWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n height: 4,\n width: 3,\n },\n node: {\n name: `gauge-chart-${uniqueId}`,\n path: 'gauge-chart',\n type: 'gauge-chart',\n defaultValue: {\n data: {\n id: 'gauge1',\n name: 'System Load',\n value: AXPDataGenerator.number(30, 90),\n color: '#2196F3',\n },\n options: {\n width: 250,\n height: 250,\n minValue: 0,\n maxValue: 100,\n label: 'CPU Usage',\n animationDuration: 3000,\n },\n },\n },\n };\n}\n\n// Widget generator factory\nfunction getWidgetGenerator(type: string) {\n const generators: Record<string, () => any> = {\n 'bar-chart': generateBarChartWidget,\n 'clock-calendar': generateClockCalendarWidget,\n weather: generateWeatherWidget,\n 'sticky-note': generateStickyNoteWidget,\n 'donut-chart': generateDonutChartWidget,\n 'gauge-chart': generateGaugeChartWidget,\n };\n\n return generators[type] || generateBarChartWidget;\n}\n\n// Generate a random dashboard widget\nfunction generateRandomWidget() {\n const type = AXPDataGenerator.pick(widgetTypes);\n const generator = getWidgetGenerator(type);\n return generator();\n}\n\n// Generate a random dashboard with random widgets\nexport function generateRandomDashboard(): AXMCommonDashboardEntityModel {\n const widgetCount = AXPDataGenerator.number(1, 5);\n const widgets = Array.from({ length: widgetCount }).map(() => generateRandomWidget());\n\n return {\n id: AXPDataGenerator.uuid(),\n name: `Dashboard ${AXPDataGenerator.firstName()}`,\n title: `${AXPDataGenerator.firstName()} Dashboard`,\n description: `This is a sample dashboard for ${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}`,\n widget: widgets,\n createdAt: AXPDataGenerator.date(new Date(2023, 0, 1), new Date()),\n createdBy: `${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}`,\n };\n}\n\n// Generate extra random dashboards (in addition to the predefined ones)\nexport function generateExtraRandomDashboards(count: number): AXMCommonDashboardEntityModel[] {\n return Array.from({ length: count }).map(() => generateRandomDashboard());\n}\n\n// Create dashboards: predefined + some random ones\nexport const DASHBOARDS = [...generateExtraRandomDashboards(AXPDataGenerator.number(2, 5))];\n","import { AXMCommonDashboardEntityModel, AXMDashboardServiceImpl } from '@acorex/modules/common';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { DASHBOARDS, generateRandomDashboard } from './dashboard.mock.data';\n\n// Interface for query response\ninterface AXPPagedListResult<T> {\n items: T[];\n total: number;\n}\n\n// Interface for query request\ninterface AXPQueryRequest {\n skip?: number;\n take?: number;\n filter?: any;\n}\n\n@Injectable() // Added to avoid deprecation warning about DI inheriting @Injectable\nexport class AXMDashboardMockService extends AXMDashboardServiceImpl {\n // Use a different property name to avoid conflict with the private entityName in base class\n private readonly dashboardCollection = 'common_dashboards';\n // Use protected instead of private to match the visibility in the parent class\n protected readonly mockStorage = inject(AXPEntityStorageService);\n\n constructor() {\n // Call the parent constructor with the entity name\n super();\n\n // Initialize the storage with mock data\n this.mockStorage.initial(this.dashboardCollection, DASHBOARDS);\n }\n\n // Override getter for storageService from parent class\n override get storageService(): any {\n return this.mockStorage;\n }\n\n // Override methods from AXMEntityCrudServiceImpl\n\n override async insertOne(request: Omit<AXMCommonDashboardEntityModel, 'id'>): Promise<string> {\n const id = await this.mockStorage.insertOne(this.dashboardCollection, request);\n return id;\n }\n\n override async getOne(id: string): Promise<AXMCommonDashboardEntityModel> {\n return this.mockStorage.getOne(this.dashboardCollection, id) as Promise<AXMCommonDashboardEntityModel>;\n }\n\n override async deleteOne(id: string): Promise<void> {\n await this.mockStorage.deleteOne(this.dashboardCollection, id);\n }\n\n override async updateOne(id: string, values: { [key: string]: any }): Promise<AXMCommonDashboardEntityModel> {\n await this.mockStorage.updateOne(this.dashboardCollection, id, values);\n return this.getOne(id);\n }\n\n override async query(\n request: AXPQueryRequest = { skip: 0, take: 100 }\n ): Promise<AXPPagedListResult<AXMCommonDashboardEntityModel>> {\n const allItems = (await this.mockStorage.getAll(this.dashboardCollection)) as AXMCommonDashboardEntityModel[];\n\n // Basic filtering if filter is provided in request\n let filteredItems = allItems;\n if (request.filter) {\n // Implement basic filtering if needed\n }\n\n // Pagination\n const skip = request.skip || 0;\n const take = request.take || 100;\n const items = filteredItems.slice(skip, skip + take);\n\n return {\n items,\n total: filteredItems.length,\n };\n }\n\n // Helper method to get all dashboards\n async getAll(): Promise<AXMCommonDashboardEntityModel[]> {\n return this.mockStorage.getAll(this.dashboardCollection) as Promise<AXMCommonDashboardEntityModel[]>;\n }\n\n // Additional convenience methods specific to the mock service\n\n /**\n * Generate a random dashboard and add it to the store\n */\n async createRandomDashboard(): Promise<string> {\n const dashboard = generateRandomDashboard();\n return this.insertOne(dashboard);\n }\n\n /**\n * Update widget configuration within a dashboard\n */\n async updateWidgetConfig(dashboardId: string, widgetId: string, config: any): Promise<void> {\n const dashboard = await this.getOne(dashboardId);\n if (!dashboard) return;\n\n const updatedWidgets = dashboard.widget.map((widget: any) => {\n if (widget.config.id === widgetId) {\n return {\n ...widget,\n config: {\n ...widget.config,\n ...config,\n },\n };\n }\n return widget;\n });\n\n await this.updateOne(dashboardId, {\n ...dashboard,\n widget: updatedWidgets,\n });\n }\n\n /**\n * Update widget node within a dashboard\n */\n async updateWidgetNode(dashboardId: string, widgetId: string, node: any): Promise<void> {\n const dashboard = await this.getOne(dashboardId);\n if (!dashboard) return;\n\n const updatedWidgets = dashboard.widget.map((widget: any) => {\n if (widget.config.id === widgetId) {\n return {\n ...widget,\n node: {\n ...widget.node,\n ...node,\n },\n };\n }\n return widget;\n });\n\n await this.updateOne(dashboardId, {\n ...dashboard,\n widget: updatedWidgets,\n });\n }\n\n /**\n * Get dashboards as Observable for the store\n */\n getDashboards(): Observable<AXMCommonDashboardEntityModel[]> {\n return from(this.getAll());\n }\n\n /**\n * Save a dashboard (create or update)\n */\n async saveDashboard(dashboard: AXMCommonDashboardEntityModel): Promise<string> {\n if (dashboard.id) {\n await this.updateOne(dashboard.id, dashboard);\n return dashboard.id;\n } else {\n return this.insertOne(dashboard as Omit<AXMCommonDashboardEntityModel, 'id'>);\n }\n }\n}\n","import { AXMCommonDashboardEntityModel, RootConfig } from '@acorex/modules/common';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { DASHBOARDS } from './dashboard.mock.data';\n\n@Injectable()\nexport class AXPDashboardDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMCommonDashboardEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.dashboard.name}`,\n DASHBOARDS\n );\n }\n}\n","import { AXMDashboardServiceImpl } from '@acorex/modules/common';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXMDashboardMockService, AXPDashboardDataSeeder } from './dashboard';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDashboardServiceImpl,\n useClass: AXMDashboardMockService,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPDashboardDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCCommonMockModule {}\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 } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\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 } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\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 AXMCreateCommentDto,\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: AXMCreateCommentDto): 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\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 { AXMChatModule, AXMChatService } from '@acorex/modules/conversation';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPChatDataSeeder } from './chat';\nimport { AXMChatMockService } from './chat/chat.mock.service';\nimport { 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 { AXMDocumentManagementDocumentTypeEntityModel } from '@acorex/modules/document-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nconst checkbox =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"checkbox-editor\",\"name\":\"checkbox-editor1\",\"options\":{\"label\":\"i accept\",\"readonly\":false,\"disabled\":false},\"defaultValue\":false,\"path\":\"accept-check-box\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst color =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"block-layout\",\"name\":\"block-layout1\",\"options\":{\"flexDirection\":{\"id\":\"ax-flex-row\"},\"flexJustifyContent\":{\"id\":\"ax-justify-normal\"},\"flexAlignItems\":{\"id\":\"ax-items-start\"},\"gap\":2,\"flexWrap\":{\"id\":\"ax-flex-nowrap\"},\"spacing\":{\"margin\":\"0px 0px 0px 0px\",\"padding\":\"0px 0px 0px 0px\"},\"border\":{\"width\":\"0px\",\"radius\":\"0px\",\"color\":\"#000000\",\"style\":\"none\"},\"flexOptions\":{\"gap\":\"0px\",\"flexDirection\":\"row\",\"flexWrap\":\"nowrap\",\"justifyContent\":\"flex-start\",\"alignItems\":\"flex-start\"}}},\"children\":[{\"type\":\"color-editor\",\"name\":\"color-editor1\",\"options\":{\"readonly\":false,\"disabled\":false,\"validations\":{\"required\":{\"rule\":\"required\",\"message\":\"This field is required.\"}},\"placeholder\":\"pick color\"},\"path\":\"color-box\"}]}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst titleInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"title-editor\",\n \"name\": \"title-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n \"validations\": {\n \"regex\": null,\n \"required\": {\n \"rule\": \"required\",\n \"message\": \"This field is required.\"\n }\n }\n },\n \"defaultValue\": \"\",\n \"path\": \"title\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\nconst descriptionInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"description-editor\",\n \"name\": \"description-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n },\n \"defaultValue\": \"\",\n \"path\": \"description\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\nconst contractNumberInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"number-editor\",\n \"name\": \"number-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n },\n \"defaultValue\": \"\",\n \"path\": \"contract-number\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\nconst evaluatorInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"text-editor\",\n \"name\": \"text-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n },\n \"defaultValue\": \"\",\n \"path\": \"evaluator\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\n\nexport const DOCUMENT_TYPES: AXMDocumentManagementDocumentTypeEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'risk-assessment-report',\n title: 'Risk Assessment Report',\n maxSize: 5000,\n isEncrypted: false,\n isMultiple: true,\n meta: [\n {\n name: 'accept-check-box',\n title: 'Agreement Box',\n interface: checkbox,\n },\n ],\n type: {\n selectedItems: [\n {\n name: 'image.jpg',\n title: 'Image/JPEG',\n icon: 'fa-light fa-image ax-text-purple-500',\n },\n {\n name: 'image.png',\n title: 'Image/PNG',\n icon: 'fa-light fa-image ax-text-purple-500',\n },\n {\n name: 'image.gif',\n title: 'Image/GIF',\n icon: 'fa-light fa-image ax-text-purple-500',\n },\n ],\n context: {\n image: {\n width: '22',\n height: '33',\n },\n gift: {\n duration: '11',\n },\n },\n },\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'any',\n title: 'Upload File',\n maxSize: 50000,\n isEncrypted: false,\n isMultiple: false,\n meta: [],\n type: {\n selectedItems: [],\n context: {\n audio: {\n bitrate: '320',\n duration: '180',\n },\n },\n },\n },\n];\n","import { AXMDocumentManagementDocumentTypeEntityModel, RootConfig } from '@acorex/modules/document-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { DOCUMENT_TYPES } from './document-type.mock';\n\n@Injectable()\nexport class AXCDocumentTypeDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMDocumentManagementDocumentTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.documentType.name}`,\n DOCUMENT_TYPES\n );\n }\n}\n","import { AXMDocumentManagementFolderEntityModel, AXMFolderServiceImpl } from '@acorex/modules/document-management';\n\nexport class AXMFolderMockService extends AXMFolderServiceImpl {\n private async updateParentFolders(folder: AXMDocumentManagementFolderEntityModel): Promise<void> {\n if (folder.parentId) {\n const parent = await this.getOne(folder.parentId);\n if (parent && parent.id) {\n if (!parent.folders) {\n parent.folders = [];\n }\n const existingIndex = parent.folders.findIndex((f) => f.id === folder.id);\n if (existingIndex === -1) {\n parent.folders.push(folder);\n } else {\n parent.folders[existingIndex] = folder;\n }\n\n await super.updateOne(parent.id, { folders: parent.folders });\n\n await this.updateParentFolders(parent);\n }\n }\n }\n\n private async removeFromParent(folder: AXMDocumentManagementFolderEntityModel): Promise<void> {\n if (folder.parentId) {\n const parent = await this.getOne(folder.parentId);\n if (parent && parent.id && parent.folders) {\n parent.folders = parent.folders.filter((f) => f.id !== folder.id);\n await super.updateOne(parent.id, { folders: parent.folders });\n await this.updateParentFolders(parent);\n }\n }\n }\n\n override async insertOne(request: Omit<AXMDocumentManagementFolderEntityModel, 'id'>): Promise<string> {\n const newId = await super.insertOne(request);\n const folderData = {\n ...request,\n id: newId,\n };\n await this.updateParentFolders(folderData);\n return newId;\n }\n\n override async updateOne(\n id: string,\n values: Partial<AXMDocumentManagementFolderEntityModel>\n ): Promise<AXMDocumentManagementFolderEntityModel> {\n const currentFolder = await this.getOne(id);\n\n const updatedFolder = await super.updateOne(id, values);\n\n if (currentFolder && values.parentId !== undefined && currentFolder.parentId !== values.parentId) {\n await this.removeFromParent(currentFolder);\n }\n\n await this.updateParentFolders(updatedFolder);\n\n return updatedFolder;\n }\n\n override async deleteOne(id: string): Promise<void> {\n const folderToDelete = await this.getOne(id);\n if (folderToDelete) {\n await this.removeFromParent(folderToDelete);\n await super.deleteOne(id);\n }\n }\n\n override async getPath(folderId: string, stopFolderId?: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n const path: AXMDocumentManagementFolderEntityModel[] = [];\n let currentId: string | null = folderId;\n\n while (currentId) {\n const folder = await this.getOne(currentId);\n if (!folder) {\n // Folder not found in persisted storage\n break;\n }\n path.push(folder);\n if (currentId == stopFolderId) {\n // Stop if we reach the specified stop folder ID\n break;\n }\n currentId = folder.parentId ?? null;\n }\n\n return path.reverse();\n }\n\n override async getOne(id: string): Promise<AXMDocumentManagementFolderEntityModel> {\n const folder = await super.getOne(id);\n if (folder) {\n folder.nodeCount = (folder.folders?.length ?? 0) + (folder.documents?.length ?? 0);\n folder.folders?.forEach((f) => {\n f.nodeCount = (f.folders?.length ?? 0) + (f.documents?.length ?? 0);\n });\n }\n return folder;\n }\n\n /**\n * Search folders with specified name using recursive method\n * @param searchTerm search term\n * @param rootFolderId ID of the root folder to start the search\n */\n override async searchFolders(\n searchTerm: string,\n rootFolderId: string\n ): Promise<AXMDocumentManagementFolderEntityModel[]> {\n const result: AXMDocumentManagementFolderEntityModel[] = [];\n await this.searchFoldersRecursive(searchTerm, rootFolderId, result);\n return result;\n }\n\n /**\n * Recursive folder search\n * @param searchTerm search term\n * @param folderId current folder ID\n * @param result results array\n */\n private async searchFoldersRecursive(\n searchTerm: string,\n folderId: string,\n result: AXMDocumentManagementFolderEntityModel[]\n ): Promise<void> {\n try {\n // Get current folder\n const currentFolder = await this.getOne(folderId);\n if (!currentFolder) {\n return;\n }\n\n // Check subfolders\n const subFolders = currentFolder.folders || [];\n\n // Add folders that match the search term\n for (const folder of subFolders) {\n if (folder.name.toLowerCase().includes(searchTerm.toLowerCase())) {\n result.push(folder);\n }\n\n // Recursive search in subfolders\n if (folder.id) {\n await this.searchFoldersRecursive(searchTerm, folder.id, result);\n }\n }\n } catch (error) {\n console.error('Error searching folders:', error);\n }\n }\n}\n","import {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementFolderEntityModel,\n AXMDocumentServiceImpl,\n} from '@acorex/modules/document-management';\nimport { AXMFolderMockService } from '../folder/folder.service';\n\nexport class AXMFileMockService extends AXMDocumentServiceImpl {\n private folderService: AXMFolderMockService;\n\n constructor() {\n super();\n this.folderService = new AXMFolderMockService();\n }\n\n private async updateParentFolder(file: AXMDocumentManagementDocumentEntityModel): Promise<void> {\n if (!file.parentId) {\n throw new Error('File must have a parent folder');\n }\n\n const parent = await this.folderService.getOne(file.parentId);\n if (parent && parent.id) {\n if (!parent.documents) {\n parent.documents = [];\n }\n const existingIndex = parent.documents.findIndex((f) => f.id === file.id);\n if (existingIndex === -1) {\n parent.documents.push(file);\n } else {\n parent.documents[existingIndex] = file;\n }\n\n await this.folderService.updateOne(parent.id, { documents: parent.documents });\n }\n }\n\n private async removeFromParent(file: AXMDocumentManagementDocumentEntityModel): Promise<void> {\n if (!file.parentId) {\n throw new Error('File must have a parent folder');\n }\n\n const parent = await this.folderService.getOne(file.parentId);\n if (parent && parent.id && parent.documents) {\n parent.documents = parent.documents.filter((f) => f.id !== file.id);\n await this.folderService.updateOne(parent.id, { documents: parent.documents });\n }\n }\n\n override async insertOne(request: Omit<AXMDocumentManagementDocumentEntityModel, 'id'>): Promise<string> {\n if (!request.parentId) {\n throw new Error('File must have a parent folder');\n }\n\n const newId = await super.insertOne(request);\n const fileData = {\n ...request,\n id: newId,\n };\n await this.updateParentFolder(fileData);\n return newId;\n }\n\n override async updateOne(\n id: string,\n values: Partial<AXMDocumentManagementDocumentEntityModel>\n ): Promise<AXMDocumentManagementDocumentEntityModel> {\n const currentFile = await this.getOne(id);\n const updatedFile = await super.updateOne(id, values);\n\n if (currentFile && values.parentId !== undefined && currentFile.parentId !== values.parentId) {\n await this.removeFromParent(currentFile);\n }\n\n await this.updateParentFolder(updatedFile);\n return updatedFile;\n }\n\n override async deleteOne(id: string): Promise<void> {\n const fileToDelete = await this.getOne(id);\n if (fileToDelete) {\n await this.removeFromParent(fileToDelete);\n await super.deleteOne(id);\n }\n }\n\n override async getPath(documentId: string, stop?: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n const file = await this.getOne(documentId);\n if (!file) {\n throw new Error('File not found');\n }\n return await this.folderService.getPath(file.parentId, stop);\n }\n\n override async searchFiles(\n searchTerm: string,\n rootFolderId: string\n ): Promise<AXMDocumentManagementDocumentEntityModel[]> {\n const result: AXMDocumentManagementDocumentEntityModel[] = [];\n await this.searchFilesRecursive(searchTerm, rootFolderId, result);\n return result;\n }\n\n /**\n * جستجوی بازگشتی فایل‌ها\n * @param searchTerm عبارت جستجو\n * @param folderId شناسه فولدر فعلی\n * @param result آرایه نتایج\n */\n private async searchFilesRecursive(\n searchTerm: string,\n folderId: string,\n result: AXMDocumentManagementDocumentEntityModel[]\n ): Promise<void> {\n try {\n const currentFolder = await this.folderService.getOne(folderId);\n if (!currentFolder) {\n return;\n }\n\n const files = currentFolder.documents || [];\n\n for (const file of files) {\n if (file.name.toLowerCase().includes(searchTerm.toLowerCase())) {\n result.push(file);\n }\n }\n\n const subFolders = currentFolder.folders || [];\n for (const folder of subFolders) {\n if (folder.id) {\n await this.searchFilesRecursive(searchTerm, folder.id, result);\n }\n }\n } catch (error) {\n console.error('Error searching files:', error);\n }\n }\n}\n","import { AXPApplication, AXPTenant } from '@acorex/platform/auth';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nexport interface MockRole {\n id: string;\n name: string;\n title: string;\n description?: string;\n permissions: string[];\n}\n\ninterface UserRole {\n id: string;\n title: string;\n}\n\nexport interface MockUser {\n id: string;\n username: string;\n firstname: string;\n lastname: string;\n nationalCode: string;\n mobile: string;\n roleIds: UserRole[];\n}\n\nexport const tenantsMock: AXPTenant[] = [\n {\n id: '99',\n name: 'acorex-tenant',\n title: 'ACoreX Platform Tenant',\n },\n {\n id: '1',\n name: 'demo-tenant',\n title: 'DEMO Tenant',\n },\n];\n\nexport const applications: AXPApplication[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'demo',\n title: 'DEMO Application',\n version: '1.0.0',\n editionName: 'Standard',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'platform',\n title: 'Platform Console',\n version: '1.0.0',\n editionName: 'Standard',\n },\n];\n\n// Now we only define role structure without permissions\nexport const mockRoleDefinitions = [\n {\n id: '1001',\n name: 'admin',\n title: 'Administrator',\n description: 'Full system access with all administrative privileges',\n permissions: [], // Will be filled dynamically\n },\n {\n id: '1002',\n name: 'manager',\n title: 'Manager',\n description: 'Manages users and has access to most system features',\n permissions: [],\n },\n {\n id: '1003',\n name: 'user',\n title: 'Regular User',\n description: 'Standard user with basic system access',\n permissions: [],\n },\n {\n id: '1004',\n name: 'readonly',\n title: 'Read Only',\n description: 'View-only access to specific system areas',\n permissions: [],\n },\n {\n id: '1005',\n name: 'support',\n title: 'Support Staff',\n description: 'Customer support and ticket management access',\n permissions: [],\n },\n {\n id: '1006',\n name: 'hr',\n title: 'Human Resources',\n description: 'Access to HR-related features and user management',\n permissions: [],\n },\n {\n id: '1007',\n name: 'finance',\n title: 'Finance',\n description: 'Access to financial reports and invoicing features',\n permissions: [],\n },\n {\n id: '1008',\n name: 'dev',\n title: 'Developer',\n description: 'Technical access to development and debugging features',\n permissions: [],\n },\n];\n\nexport const mockUsers: MockUser[] = [\n {\n id: AXPDataGenerator.uuid(),\n username: 'johndoe',\n firstname: 'John',\n lastname: 'Doe',\n nationalCode: '1234567890',\n mobile: '555-123-4567',\n roleIds: [\n { id: '1001', title: 'Administrator' },\n { id: '1002', title: 'Manager' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'janesmith',\n firstname: 'Jane',\n lastname: 'Smith',\n nationalCode: '0987654321',\n mobile: '555-987-6543',\n\n roleIds: [\n { id: '1002', title: 'Manager' },\n { id: '1006', title: 'Human Resources' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'mikeross',\n firstname: 'Mike',\n lastname: 'Ross',\n nationalCode: '2468135790',\n mobile: '555-246-8135',\n roleIds: [\n { id: '1008', title: 'Developer' },\n { id: '1005', title: 'Support Staff' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'emilyparker',\n firstname: 'Emily',\n lastname: 'Parker',\n nationalCode: '1357924680',\n mobile: '555-135-7924',\n roleIds: [{ id: '1003', title: 'Regular User' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'robertjohnson',\n firstname: 'Robert',\n lastname: 'Johnson',\n nationalCode: '9876543210',\n mobile: '555-987-6542',\n roleIds: [{ id: '1007', title: 'Finance' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'sarahwilliams',\n firstname: 'Sarah',\n lastname: 'Williams',\n nationalCode: '5678901234',\n mobile: '555-567-8901',\n roleIds: [{ id: '1004', title: 'Read Only' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'davidbrown',\n firstname: 'David',\n lastname: 'Brown',\n nationalCode: '3456789012',\n mobile: '555-345-6789',\n roleIds: [\n { id: '1003', title: 'Regular User' },\n { id: '1005', title: 'Support Staff' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'lisadavis',\n firstname: 'Lisa',\n lastname: 'Davis',\n nationalCode: '7890123456',\n mobile: '555-789-0123',\n roleIds: [{ id: '1006', title: 'Human Resources' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'michaelwilson',\n firstname: 'Michael',\n lastname: 'Wilson',\n nationalCode: '6789012345',\n mobile: '555-678-9012',\n roleIds: [\n { id: '1002', title: 'Manager' },\n { id: '1007', title: 'Finance' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'amandamiller',\n firstname: 'Amanda',\n lastname: 'Miller',\n nationalCode: '4567890123',\n mobile: '555-456-7890',\n roleIds: [{ id: '1008', title: 'Developer' }],\n },\n {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n username: 'root',\n firstname: 'Root',\n lastname: 'Root',\n nationalCode: '4567890124',\n mobile: '555-456-7891',\n roleIds: [{ id: '1001', title: 'Administrator' }],\n },\n];\n","import {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementDocumentTypeEntityModel,\n AXMDocumentManagementFolderEntityModel,\n} from '@acorex/modules/document-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { mockUsers } from '../../security-management/mock-data';\nimport { DOCUMENT_TYPES } from '../document-type/document-type.mock';\n\n// Section: Constants and Initial Setup\nconst checkbox =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"checkbox-editor\",\"name\":\"checkbox-editor1\",\"options\":{\"label\":\"i accept\",\"readonly\":false,\"disabled\":false},\"defaultValue\":false,\"path\":\"accept-check-box\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\n\nconst allTypes: AXMDocumentManagementDocumentTypeEntityModel[] = DOCUMENT_TYPES;\n\nconst tenantId = '99';\n\n// Section: Folder and File Initialization\nconst allFolders: AXMDocumentManagementFolderEntityModel[] = [];\nconst allFiles: AXMDocumentManagementDocumentEntityModel[] = [];\n\nfunction getRandomSize(): number {\n return AXPDataGenerator.number(500 * 1024, 10 * 1024 * 1024);\n}\n\n// Section: Root Folder Setup\nconst rootFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'WHS Documentation',\n color: '#FFFFFF',\n description: 'Root folder for WHS/OHS Documentation',\n parentId: undefined,\n isSystem: true,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n size: getRandomSize(),\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n};\n\n// Section: Tenant Folders\nconst rootTenantsFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'Tenants',\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder Of Tenants`,\n parentId: rootFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n folders: [],\n documents: [],\n};\nallFolders.push(rootTenantsFolder);\nrootFolder.folders?.push(rootTenantsFolder);\n\nconst mainTenantFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'ACoreX',\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder Of ACoreX`,\n parentId: rootTenantsFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n};\n\n// Section: Sample File Types\nconst sampleFileTypes = [\n {\n ext: 'pdf',\n titles: ['Risk Assessment Report', 'Safety Audit Checklist', 'Emergency Response Plan', 'Safety Training Manual'],\n },\n {\n ext: 'docx',\n titles: ['Incident Investigation Form', 'Safety Meeting Minutes', 'Hazard Report Template', 'Safe Work Procedure'],\n },\n {\n ext: 'xlsx',\n titles: ['Incident Statistics', 'Safety Training Matrix', 'PPE Inventory List', 'Risk Register'],\n },\n {\n ext: 'jpg',\n titles: ['Hazard Photo', 'Safety Signage', 'Emergency Exit Plan', 'PPE Requirements Chart'],\n },\n {\n ext: 'png',\n titles: ['Safety Infographic', 'Evacuation Map', 'Incident Scene Photo', 'Safety Procedure Diagram'],\n },\n {\n ext: 'pptx',\n titles: ['Safety Induction', 'WHS Training Module', 'Safety Committee Presentation', 'Toolbox Talk'],\n },\n];\n\n// Section: Common Files for Users\nconst commonFilesForUser = [\n 'Incident Report Form.docx',\n 'Investigation Guidelines.pdf',\n 'Corrective Action Register.xlsx',\n 'Monthly Statistics.xlsx',\n];\n\n// Section: Site and WHS Folders\nconst sites = ['Main Factory', 'Warehouse Complex', 'Office Building', 'Construction Site'];\n\nconst whsFolders = [\n {\n name: 'Policies and Procedures',\n subFolders: ['Safety Policies', 'Standard Operating Procedures', 'Emergency Procedures', 'Work Instructions'],\n commonFiles: [\n 'WHS Policy Manual.pdf',\n 'Emergency Response Plan.pdf',\n 'Safety Management System.docx',\n 'Risk Management Framework.pdf',\n ],\n },\n {\n name: 'Risk Management',\n subFolders: ['Risk Assessments', 'Hazard Reports', 'Control Measures', 'Safety Audits'],\n commonFiles: [\n 'Risk Assessment Matrix.xlsx',\n 'Hazard Register.xlsx',\n 'Control Measure Checklist.pdf',\n 'Audit Schedule.xlsx',\n ],\n },\n {\n name: 'Incident Management',\n subFolders: ['Incident Reports', 'Investigations', 'Corrective Actions', 'Statistics'],\n commonFiles: [\n 'Incident Report Form.docx',\n 'Investigation Guidelines.pdf',\n 'Corrective Action Register.xlsx',\n 'Monthly Statistics.xlsx',\n ],\n },\n {\n name: 'Training and Compliance',\n subFolders: ['Training Records', 'Certifications', 'Competency Assessments', 'Toolbox Talks'],\n commonFiles: [\n 'Training Matrix.xlsx',\n 'Induction Package.pdf',\n 'Competency Framework.docx',\n 'Training Calendar.xlsx',\n ],\n },\n {\n name: 'Safety Equipment',\n subFolders: ['PPE Records', 'Equipment Inspections', 'Maintenance Records', 'Safety Data Sheets'],\n commonFiles: [\n 'PPE Register.xlsx',\n 'Equipment Maintenance Schedule.xlsx',\n 'Safety Equipment Inventory.xlsx',\n 'PPE Guidelines.pdf',\n ],\n },\n];\n\n// Section: User Folders\nconst rootUsersFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'Users',\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder Of Users`,\n parentId: mainTenantFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n};\n\n// Section: User Specific Folders and Files\nmockUsers.forEach((user) => {\n const specificUserFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: user.username,\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder of User : ${user.firstname} ${user.lastname}`,\n parentId: rootUsersFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n userId: user.id,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n commonFilesForUser.forEach((fileName) => {\n const [name, extension] = fileName.split('.');\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: fileName,\n title: name,\n parentId: specificUserFolder.id!,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n fileId: `${window.location.origin}/assets/temp/${extension}/${Math.floor(Math.random() * 3) + 1}.${extension}`,\n meta: {\n type: extension == 'png' || extension == 'jpg' ? 'image' : extension,\n },\n };\n allFiles.push(file);\n specificUserFolder.documents?.push(file);\n });\n\n allFolders.push(specificUserFolder);\n rootUsersFolder.folders?.push(specificUserFolder);\n});\n\nmainTenantFolder.folders?.push(rootUsersFolder);\nallFolders.push(rootUsersFolder);\n\n// Section: Site Folders and Role Specific Folders\nsites.forEach((site) => {\n const siteFolderId = AXPDataGenerator.uuid();\n const siteFolder: AXMDocumentManagementFolderEntityModel = {\n id: siteFolderId,\n name: site,\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `WHS Documentation for ${site}`,\n parentId: mainTenantFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n userId: undefined,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n const safetyRoles = ['Safety Officer', 'Site Supervisor', 'WHS Representative'];\n\n safetyRoles.forEach((role) => {\n const roleFolderId = AXPDataGenerator.uuid();\n const roleFolder: AXMDocumentManagementFolderEntityModel = {\n id: roleFolderId,\n name: role,\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `${role} Documentation`,\n parentId: siteFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n userId: role.toLowerCase().replace(/\\s+/g, '_'),\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n sampleFileTypes.forEach((fileType) => {\n fileType.titles.forEach((title) => {\n if (Math.random() > 0.5) {\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: `${title.toLowerCase().replace(/\\s+/g, '-')}.${fileType.ext}`,\n title: title,\n parentId: roleFolderId,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n fileId: `${window.location.origin}/assets/temp/${fileType.ext}/${Math.floor(Math.random() * 3) + 1}.${\n fileType.ext\n }`,\n meta: {\n type: fileType.ext == 'png' || fileType.ext == 'jpg' ? 'image' : fileType.ext,\n },\n };\n allFiles.push(file);\n roleFolder.documents?.push(file);\n }\n });\n });\n\n siteFolder.folders?.push(roleFolder);\n allFolders.push(roleFolder);\n });\n\n // Section: WHS Department Folders\n whsFolders.forEach((dept) => {\n const deptFolderId = AXPDataGenerator.uuid();\n const deptFolder: AXMDocumentManagementFolderEntityModel = {\n id: deptFolderId,\n name: dept.name,\n color: '#' + Math.floor(Math.random() * 16777215).toString(16),\n size: getRandomSize(),\n description: `${dept.name} documentation`,\n parentId: siteFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n documentTypes: [allTypes[0]],\n };\n\n dept.commonFiles.forEach((fileName) => {\n const [name, extension] = fileName.split('.');\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: fileName,\n title: name,\n parentId: deptFolderId,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n fileId: `${window.location.origin}/assets/temp/${extension}/${Math.floor(Math.random() * 3) + 1}.${extension}`,\n meta: {\n type: extension == 'png' || extension == 'jpg' ? 'image' : extension,\n },\n };\n allFiles.push(file);\n deptFolder.documents?.push(file);\n });\n\n dept.subFolders.forEach((subFolderName) => {\n const subFolderId = AXPDataGenerator.uuid();\n const subFolder: AXMDocumentManagementFolderEntityModel = {\n id: subFolderId,\n name: subFolderName,\n color: '#' + Math.floor(Math.random() * 16777215).toString(16),\n size: getRandomSize(),\n description: `${subFolderName} documentation`,\n parentId: deptFolderId,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n sampleFileTypes.forEach((fileType) => {\n fileType.titles.forEach((title) => {\n if (Math.random() > 0.7) {\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: `${title.toLowerCase().replace(/\\s+/g, '-')}.${fileType.ext}`,\n title: title,\n parentId: subFolderId,\n fileId: `${window.location.origin}/assets/temp/${fileType.ext}/${Math.floor(Math.random() * 3) + 1}.${\n fileType.ext\n }`,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n meta: {\n type: fileType.ext == 'png' || fileType.ext == 'jpg' ? 'image' : fileType.ext,\n },\n };\n allFiles.push(file);\n subFolder.documents?.push(file);\n }\n });\n });\n\n deptFolder.folders?.push(subFolder);\n allFolders.push(subFolder);\n });\n\n siteFolder.folders?.push(deptFolder);\n allFolders.push(deptFolder);\n });\n\n mainTenantFolder.folders?.push(siteFolder);\n allFolders.push(siteFolder);\n});\n\nrootTenantsFolder.folders?.push(mainTenantFolder);\nallFolders.push(mainTenantFolder);\n\n// Section: Export Mock Data\nallFolders.push(rootFolder);\n\nexport const FOLDER_MOCK_DATA = allFolders;\nexport const FILE_MOCK_DATA = allFiles;\n","import {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementFolderEntityModel,\n RootConfig,\n} from '@acorex/modules/document-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { FILE_MOCK_DATA, FOLDER_MOCK_DATA } from './folder.mock.data';\n\n@Injectable()\nexport class AXCFolderDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMDocumentManagementFolderEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.folder.name}`,\n FOLDER_MOCK_DATA\n );\n await this.storageService.initial<AXMDocumentManagementDocumentEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.document.name}`,\n FILE_MOCK_DATA\n );\n }\n}\n","import { AXPSearchProvider, AXPSearchResult } from '@acorex/platform/common';\nimport Dexie from 'dexie';\n\nexport class EntitySearchProvider implements AXPSearchProvider {\n async search(text: string): Promise<AXPSearchResult[]> {\n const db = new Dexie('ACoreXPlatform');\n const lowerText = text.toLowerCase(); // Normalize search text for case-insensitive search\n db.version(1).stores({\n 'entity-store': '++id, entityName, [entityName+id]',\n });\n\n // Fetch all records from the entity-store table\n const allRecords = await db.table('entity-store').toArray();\n // Filter records based on the search text\n const filteredRecords = allRecords.filter((record) => this.shallowSearch(record, lowerText));\n return filteredRecords.map<AXPSearchResult>((record) => ({\n group: `Module.${record.entityName}`,\n data: record,\n command: {\n // 'open-entity': {\n // entity: record.entityName,\n // data: record,\n // },\n name: 'open-entity',\n options: {\n entity: record.entityName,\n data: record,\n }\n },\n }));\n }\n\n // Helper function for shallow search\n shallowSearch(obj: any, text: string): boolean {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n\n return Object.entries(obj).some(([key, value]) => {\n if (key != 'id' && key != 'entityName') {\n if (typeof value === 'string' || typeof value === 'number') {\n return value.toString().toLowerCase().includes(text);\n }\n return false;\n } else {\n return false;\n }\n });\n }\n}\n","import {\n AXMCreateFormTemplateDto,\n AXMFormTemplateCategoryEntityModel,\n AXMFormTemplateTypes,\n} from '@acorex/modules/form-template-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateCategories(): AXMFormTemplateCategoryEntityModel[] {\n const categories: AXMFormTemplateCategoryEntityModel[] = [];\n\n const rootCategories = [\n 'Risk Assessment',\n 'Servicing',\n 'Checklists',\n 'Incident Reporting',\n 'Emergency Procedures',\n 'Hazardous Materials',\n 'PPE (Personal Protective Equipment)',\n 'Workplace Ergonomics',\n 'Equipment Safety',\n 'Fire Safety',\n 'First Aid',\n 'Manual Handling',\n 'Electrical Safety',\n 'Confined Spaces',\n 'Chemical Safety',\n ];\n\n rootCategories.forEach((title) => {\n const categoryId = AXPDataGenerator.uuid();\n categories.push({ id: categoryId, title, parentId: undefined, childCount: 0 });\n });\n\n const childCategories = [\n {\n parent: 'Risk Assessment',\n children: ['Job Safety Analysis', 'Task Risk Assessment', 'General Hazard Identification'],\n },\n { parent: 'Incident Reporting', children: ['Near Miss Reports', 'Accident Reports', 'Injury Logs'] },\n {\n parent: 'Emergency Procedures',\n children: ['Fire Evacuation', 'Medical Emergencies', 'Chemical Spill Response'],\n },\n {\n parent: 'Hazardous Materials',\n children: ['Material Safety Data Sheets', 'Storage & Handling', 'Hazardous Waste Disposal'],\n },\n {\n parent: 'PPE (Personal Protective Equipment)',\n children: ['Protective Gloves', 'Eye Protection', 'Hearing Protection'],\n },\n { parent: 'Workplace Ergonomics', children: ['Seating Arrangements', 'Lifting Techniques', 'Workstation Setup'] },\n { parent: 'Equipment Safety', children: ['Machine Guarding', 'Lockout/Tagout', 'Inspection Procedures'] },\n { parent: 'Fire Safety', children: ['Fire Extinguishers', 'Fire Drills', 'Smoke Alarms'] },\n { parent: 'First Aid', children: ['CPR Training', 'First Aid Kits', 'Emergency Contacts'] },\n { parent: 'Manual Handling', children: ['Proper Lifting', 'Load Limits', 'Back Injury Prevention'] },\n {\n parent: 'Electrical Safety',\n children: ['Grounding & Wiring', 'High Voltage Procedures', 'Portable Equipment Checks'],\n },\n { parent: 'Confined Spaces', children: ['Permit-Required Spaces', 'Ventilation Protocols', 'Rescue Plans'] },\n { parent: 'Chemical Safety', children: ['Chemical Labeling', 'Exposure Limits', 'Emergency Showers'] },\n ];\n\n childCategories.forEach(({ parent, children }) => {\n const parentCategory = categories.find((c) => c.title === parent);\n if (parentCategory) {\n children.forEach((title) => {\n categories.push({ id: AXPDataGenerator.uuid(), title, parentId: parentCategory.id, childCount: 0 });\n });\n parentCategory.childCount = children.length;\n }\n });\n\n return categories;\n}\n\nexport const TEMPLATE_CATEGORIES = generateCategories();\n\nfunction generateTemplates(): AXMCreateFormTemplateDto[] {\n const templates: AXMCreateFormTemplateDto[] = [];\n\n AXPDataGenerator.pick(TEMPLATE_CATEGORIES, 5).forEach((category) => {\n const numberOfTemplates = 2; // Generate 1 to 5 templates per category\n\n for (let i = 0; i < numberOfTemplates; i++) {\n // Assuming 10 is for Form and 20 is for Widget\n const type = i % 2 === 0 ? AXMFormTemplateTypes.Form : AXMFormTemplateTypes.Widget;\n templates.push({\n id: AXPDataGenerator.uuid(),\n templateId: `Document-${i + 1}`,\n template: null!,\n typeId: type.id,\n type: type,\n title: `${category.title} Template ${i + 1}`,\n categoryIds: [category.id!],\n categories: [category],\n description: `Description for ${category.title} Template ${i + 1}`,\n createdAt: new Date(),\n updatedAt: new Date(),\n } as any);\n }\n });\n\n return templates;\n}\n\nexport const TEMPLATE_FORM_TEMPLATES = generateTemplates();\n","import { AXMFormTemplateCategoryEntityModel, AXMCreateFormTemplateDto, RootConfig } from '@acorex/modules/form-template-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { TEMPLATE_CATEGORIES, TEMPLATE_FORM_TEMPLATES } from './mock.data';\n\n@Injectable()\nexport class AXPFormTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMFormTemplateCategoryEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n TEMPLATE_CATEGORIES\n );\n\n await this.storageService.initial<AXMCreateFormTemplateDto>(\n `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n TEMPLATE_FORM_TEMPLATES\n );\n }\n\n}\n","import { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPFormTemplateCategoryDataSeeder } from './data.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\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 { AXMSecurityManagementUsersEntityModel, RootConfig } from '@acorex/modules/security-management';\nimport {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { inject, 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 private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n\n get name(): string {\n return 'user-pass';\n }\n\n async signin(credentials: MockUserPassCredentials): Promise<AXPSignInResult> {\n const entityRef = await this.entityRegistery.resolve(RootConfig.module.name, RootConfig.entities.users.name);\n\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n\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\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 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 } else {\n const func = entityRef?.queries.list?.execute as Function;\n const users = await func({\n skip: 0,\n take: 1000,\n });\n const currentUser: AXMSecurityManagementUsersEntityModel = users.items.find(\n (u: AXMSecurityManagementUsersEntityModel) =>\n u.username === credentials.username && u.password === credentials.password\n );\n\n if (currentUser) {\n const user: AXPUser = {\n id: currentUser.id,\n name: currentUser.username,\n title: `${currentUser.firstname} ${currentUser.lastname}`,\n };\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\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 } from '@acorex/platform/common';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\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 { AXMNotificationManagementTemplateEntityModel } from '@acorex/modules/notification-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const NOTIFICATION_TEMPLATES: AXMNotificationManagementTemplateEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'rest-password-admin',\n title: 'Rest Password To Admin',\n description: 'when user rest password notify to admin',\n },\n];\n","import { AXMNotificationManagementTemplateEntityModel, RootConfig } from '@acorex/modules/notification-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { NOTIFICATION_TEMPLATES } from './notification-management.mock.data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXCNotificationTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMNotificationManagementTemplateEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n NOTIFICATION_TEMPLATES\n );\n }\n}\n","import { AXMOrganizationNode, AXMOrganizationNodeType } from '@acorex/modules/organization-management';\n\nexport const SOFTWARE_COMPANY_ORGANIZATION: AXMOrganizationNode = {\n id: '1',\n title: 'Tech Innovators Inc.',\n subtitle: 'Software Development Company',\n description: 'A leading software company specializing in SaaS solutions.',\n icon: 'fa-building',\n type: AXMOrganizationNodeType.Company, // Updated type here\n isExpanded: true,\n children: [\n {\n id: '2',\n title: 'United States',\n subtitle: 'Country Headquarters',\n description: 'Main operations in the US.',\n icon: 'fa-flag-usa',\n type: AXMOrganizationNodeType.Country, // Updated type here\n parentId: '1',\n entity: {\n id: 'US',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '3',\n title: 'San Francisco Office',\n subtitle: 'Head Office & Development Hub',\n description: 'Main engineering and corporate hub.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City, // Updated type here\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '4',\n title: 'Engineering Division',\n subtitle: 'Software Development',\n description: 'Responsible for product development.',\n icon: 'fa-code',\n type: AXMOrganizationNodeType.Division, // Updated type here\n parentId: '3',\n isExpanded: true,\n children: [\n {\n id: '5',\n title: 'Backend Team',\n subtitle: 'Handles backend systems',\n description: 'Develops APIs and database architecture.',\n icon: 'fa-database',\n type: AXMOrganizationNodeType.Department, // Updated type here\n parentId: '4',\n children: [\n {\n id: '6',\n title: 'Backend Developer',\n subtitle: 'Software Engineer',\n description: 'Builds and maintains backend services.',\n icon: 'fa-server',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '5',\n children: [\n {\n id: '6-1',\n title: 'Jane Smith',\n subtitle: 'Backend Developer',\n description: 'Expert in Node.js and database architecture.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n {\n id: '6-2',\n title: 'Michael Johnson',\n subtitle: 'Backend Developer',\n description: 'Specializes in API development and microservices.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n ],\n },\n ],\n },\n {\n id: '8',\n title: 'Frontend Team',\n subtitle: 'Handles frontend applications',\n description: 'Develops UI/UX for web and mobile apps.',\n icon: 'fa-paint-brush',\n type: AXMOrganizationNodeType.Department, // Updated type here\n parentId: '4',\n children: [\n {\n id: '9',\n title: 'Frontend Developer',\n subtitle: 'Software Engineer',\n description: 'Works on UI/UX and frontend logic.',\n icon: 'fa-laptop-code',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '8',\n children: [\n {\n id: '9-1',\n title: 'Emma Davis',\n subtitle: 'Frontend Developer',\n description: 'Expert in React and modern UI frameworks.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '9',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '10',\n title: 'New York Office',\n subtitle: 'East Coast Operations',\n description: 'Handles business development and sales.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City, // Updated type here\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '12',\n title: 'Sales Division',\n subtitle: 'Business Growth and Partnerships',\n description: 'Responsible for client acquisitions and revenue growth.',\n icon: 'fa-handshake',\n type: AXMOrganizationNodeType.Division, // Updated type here\n parentId: '10',\n children: [\n {\n id: '13',\n title: 'Sales Manager',\n subtitle: 'Leads the sales team',\n description: 'Manages key partnerships and sales strategies.',\n icon: 'fa-chart-line',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '12',\n children: [\n {\n id: '13-1',\n title: 'Robert Wilson',\n subtitle: 'Senior Sales Executive',\n description: 'Focuses on enterprise client relationships.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n {\n id: '13-2',\n title: 'Lisa Brown',\n subtitle: 'Sales Representative',\n description: 'Handles client negotiations and sales leads.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '14',\n title: 'India',\n subtitle: 'Regional Office',\n description: 'Call Center & Customer Support Operations.',\n icon: 'fa-flag',\n type: AXMOrganizationNodeType.Country, // Updated type here\n parentId: '1',\n entity: {\n id: 'IN',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '15',\n title: 'Bangalore Office',\n subtitle: 'Support & Call Center Hub',\n description: 'Handles customer support and service inquiries.',\n icon: 'fa-phone',\n type: AXMOrganizationNodeType.City, // Updated type here\n parentId: '14',\n isExpanded: true,\n children: [\n {\n id: '16',\n title: 'Customer Support Division',\n subtitle: 'Technical Support',\n description: 'Responsible for customer service and tech support.',\n icon: 'fa-headset',\n type: AXMOrganizationNodeType.Division, // Updated type here\n parentId: '15',\n children: [\n {\n id: '17',\n title: 'Call Center Representative',\n subtitle: 'Support Agent',\n description: 'Answers customer questions and resolves issues.',\n icon: 'fa-user-headset',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '16',\n children: [\n {\n id: '17-1',\n title: 'Rahul Sharma',\n subtitle: 'Call Center Representative',\n description: 'Provides top-notch customer support.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-2',\n title: 'Priya Kapoor',\n subtitle: 'Call Center Representative',\n description: 'Handles inquiries and customer escalations.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-3',\n title: 'Amit Verma',\n subtitle: 'Call Center Supervisor',\n description: 'Manages a team of call center representatives.',\n icon: 'fa-user-tie',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-4',\n title: 'Neha Mehta',\n subtitle: 'Quality Analyst',\n description: 'Monitors and evaluates customer interactions.',\n icon: 'fa-user-check',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-5',\n title: 'Vikram Singh',\n subtitle: 'Technical Support Specialist',\n description: 'Provides assistance with technical issues.',\n icon: 'fa-user-cog',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n};\n\nexport const PERSIAN_COMPANY_ORGANIZATION: AXMOrganizationNode = {\n id: '1',\n title: 'شرکت فناوری اطلاعات نوآوران',\n subtitle: 'شرکت توسعه نرم‌افزار',\n description: 'یک شرکت پیشرو در زمینه ارائه راه‌حل‌های نرم‌افزاری SaaS.',\n icon: 'fa-building',\n type: AXMOrganizationNodeType.Company,\n isExpanded: true,\n children: [\n {\n id: '2',\n title: 'ایران',\n subtitle: 'دفتر مرکزی',\n description: 'دفتر اصلی شرکت در ایران.',\n icon: 'fa-flag',\n type: AXMOrganizationNodeType.Country,\n parentId: '1',\n entity: {\n id: 'IR',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '3',\n title: 'دفتر تهران',\n subtitle: 'مرکز توسعه و مدیریت',\n description: 'دفتر اصلی توسعه و مدیریت شرکت.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City,\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '4',\n title: 'تیم مهندسی',\n subtitle: 'توسعه نرم‌افزار',\n description: 'مسئول توسعه محصولات نرم‌افزاری.',\n icon: 'fa-code',\n type: AXMOrganizationNodeType.Division,\n parentId: '3',\n isExpanded: true,\n children: [\n {\n id: '5',\n title: 'تیم بک‌اند',\n subtitle: 'مدیریت سیستم‌های بک‌اند',\n description: 'توسعه API و معماری پایگاه داده.',\n icon: 'fa-database',\n type: AXMOrganizationNodeType.Department,\n parentId: '4',\n children: [\n {\n id: '6',\n title: 'توسعه‌دهنده بک‌اند',\n subtitle: 'مهندس نرم‌افزار',\n description: 'ساخت و نگهداری سرویس‌های بک‌اند.',\n icon: 'fa-server',\n type: AXMOrganizationNodeType.Position,\n parentId: '5',\n children: [\n {\n id: '6-1',\n title: 'علی رضایی',\n subtitle: 'توسعه‌دهنده بک‌اند',\n description: 'متخصص در Node.js و معماری پایگاه داده.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n {\n id: '6-2',\n title: 'سارا محمدی',\n subtitle: 'توسعه‌دهنده بک‌اند',\n description: 'متخصص در توسعه API و میکروسرویس‌ها.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n ],\n },\n ],\n },\n {\n id: '8',\n title: 'تیم فرانت‌اند',\n subtitle: 'توسعه رابط کاربری',\n description: 'توسعه UI/UX برای وب و اپلیکیشن‌های موبایل.',\n icon: 'fa-paint-brush',\n type: AXMOrganizationNodeType.Department,\n parentId: '4',\n children: [\n {\n id: '9',\n title: 'توسعه‌دهنده فرانت‌اند',\n subtitle: 'مهندس نرم‌افزار',\n description: 'کار بر روی رابط کاربری و منطق فرانت‌اند.',\n icon: 'fa-laptop-code',\n type: AXMOrganizationNodeType.Position,\n parentId: '8',\n children: [\n {\n id: '9-1',\n title: 'نازنین کریمی',\n subtitle: 'توسعه‌دهنده فرانت‌اند',\n description: 'متخصص در React و فریم‌ورک‌های مدرن UI.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '9',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '10',\n title: 'دفتر اصفهان',\n subtitle: 'تیم فروش و پشتیبانی',\n description: 'مسئول توسعه کسب‌وکار و فروش.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City,\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '12',\n title: 'تیم فروش',\n subtitle: 'توسعه کسب‌وکار و شراکت‌ها',\n description: 'مسئول جذب مشتری و رشد درآمد.',\n icon: 'fa-handshake',\n type: AXMOrganizationNodeType.Division,\n parentId: '10',\n children: [\n {\n id: '13',\n title: 'مدیر فروش',\n subtitle: 'رهبری تیم فروش',\n description: 'مدیریت شراکت‌های کلیدی و استراتژی‌های فروش.',\n icon: 'fa-chart-line',\n type: AXMOrganizationNodeType.Position,\n parentId: '12',\n children: [\n {\n id: '13-1',\n title: 'محمد حسینی',\n subtitle: 'مدیر ارشد فروش',\n description: 'متمرکز بر روابط با مشتریان سازمانی.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n {\n id: '13-2',\n title: 'زهرا علی‌زاده',\n subtitle: 'نماینده فروش',\n description: 'مدیریت مذاکرات و سرنخ‌های فروش.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '14',\n title: 'ترکیه',\n subtitle: 'دفتر منطقه‌ای',\n description: 'مرکز تماس و پشتیبانی مشتریان.',\n icon: 'fa-flag',\n type: AXMOrganizationNodeType.Country,\n parentId: '1',\n entity: {\n id: 'TR',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '15',\n title: 'دفتر استانبول',\n subtitle: 'مرکز پشتیبانی و تماس',\n description: 'مسئول پشتیبانی و پاسخ به درخواست‌های مشتریان.',\n icon: 'fa-phone',\n type: AXMOrganizationNodeType.City,\n parentId: '14',\n isExpanded: true,\n children: [\n {\n id: '16',\n title: 'تیم پشتیبانی مشتریان',\n subtitle: 'پشتیبانی فنی',\n description: 'مسئول خدمات مشتری و پشتیبانی فنی.',\n icon: 'fa-headset',\n type: AXMOrganizationNodeType.Division,\n parentId: '15',\n children: [\n {\n id: '17',\n title: 'نماینده مرکز تماس',\n subtitle: 'کارشناس پشتیبانی',\n description: 'پاسخ به سوالات و حل مشکلات مشتریان.',\n icon: 'fa-user-headset',\n type: AXMOrganizationNodeType.Position,\n parentId: '16',\n children: [\n {\n id: '17-1',\n title: 'مریم یلماز',\n subtitle: 'نماینده مرکز تماس',\n description: 'ارائه پشتیبانی عالی به مشتریان.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-2',\n title: 'احمد دمیر',\n subtitle: 'نماینده مرکز تماس',\n description: 'مدیریت درخواست‌ها و پیگیری‌های مشتریان.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-3',\n title: 'فاطمه آکین',\n subtitle: 'سرپرست مرکز تماس',\n description: 'مدیریت تیم نمایندگان مرکز تماس.',\n icon: 'fa-user-tie',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-4',\n title: 'علی کایا',\n subtitle: 'تحلیلگر کیفیت',\n description: 'نظارت و ارزیابی تعاملات مشتریان.',\n icon: 'fa-user-check',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-5',\n title: 'زینب ارسلان',\n subtitle: 'کارشناس پشتیبانی فنی',\n description: 'ارائه کمک‌های فنی به مشتریان.',\n icon: 'fa-user-cog',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n};\n","import {\n AXMOrganizationManagementBranchEntityModel,\n AXMOrganizationManagementChartEntityModel,\n AXMOrganizationManagementDepartmentEntityModel,\n AXMOrganizationManagementDivisionEntityModel,\n AXMOrganizationManagementEmployeeEntityModel,\n AXMOrganizationManagementEmploymentTypeEntityModel,\n AXMOrganizationManagementPositionEntityModel,\n RootConfig,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { SOFTWARE_COMPANY_ORGANIZATION } from './org-chart.mock';\n\n@Injectable()\nexport class AXCOrganizationManagementDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n const uuid = AXPDataGenerator.uuid;\n\n // Departments\n await this.storageService.initial<AXMOrganizationManagementDepartmentEntityModel>(\n RootConfig.entities.department.source,\n [\n {\n id: uuid(),\n title: 'Engineering Division',\n description: 'A department focused on engineering projects and development.',\n },\n {\n id: uuid(),\n title: 'Sales Division',\n description: 'A department dedicated to driving sales and customer engagement.',\n },\n {\n id: uuid(),\n title: 'Customer Support Division',\n description: 'A department committed to delivering excellent customer service.',\n },\n ]\n );\n\n // Divisions\n await this.storageService.initial<AXMOrganizationManagementDivisionEntityModel>(\n RootConfig.entities.division.source,\n [\n {\n id: uuid(),\n title: 'Software Development',\n description: 'A division within the Engineering Department responsible for developing software solutions.',\n },\n {\n id: uuid(),\n title: 'Business Development',\n description: 'A division within the Sales Department focused on expanding business opportunities.',\n },\n {\n id: uuid(),\n title: 'Technical Support',\n description: 'A division within the Customer Support Department that handles technical assistance.',\n },\n ]\n );\n\n // Branches\n await this.storageService.initial<AXMOrganizationManagementBranchEntityModel>(RootConfig.entities.branch.source, [\n {\n id: uuid(),\n title: 'San Francisco Office',\n description: 'A branch office located in San Francisco, serving as a hub for West Coast operations.',\n },\n {\n id: uuid(),\n title: 'New York Office',\n description: 'A branch office located in New York, catering to our East Coast clients.',\n },\n {\n id: uuid(),\n title: 'Bangalore Office',\n description: 'A branch office in Bangalore supporting our international operations.',\n },\n ]);\n\n // Positions\n await this.storageService.initial<AXMOrganizationManagementPositionEntityModel>(\n RootConfig.entities.position.source,\n [\n {\n id: uuid(),\n title: 'Backend Developer',\n description: 'A role responsible for server-side logic and integration with databases.',\n },\n {\n id: uuid(),\n title: 'Frontend Developer',\n description: 'A role focused on crafting engaging user interfaces and client-side features.',\n },\n {\n id: uuid(),\n title: 'Sales Manager',\n description: 'A leadership position overseeing sales strategies and team performance.',\n },\n {\n id: uuid(),\n title: 'Sales Representative',\n description: 'A role tasked with building client relationships and closing sales deals.',\n },\n {\n id: uuid(),\n title: 'Call Center Representative',\n description: 'A position dedicated to managing inbound and outbound customer calls.',\n },\n {\n id: uuid(),\n title: 'Technical Support Specialist',\n description: 'A role providing specialized technical assistance and problem resolution.',\n },\n ]\n );\n\n // Employment Types\n await this.storageService.initial<AXMOrganizationManagementEmploymentTypeEntityModel>(\n RootConfig.entities.employmentType.source,\n [\n {\n id: uuid(),\n title: 'Full-Time',\n description: 'An employment category for full-time engagements.',\n },\n {\n id: uuid(),\n title: 'Part-Time',\n description: 'An employment category for part-time work schedules.',\n },\n {\n id: uuid(),\n title: 'Contract',\n description: 'An employment type based on fixed-term contractual agreements.',\n },\n {\n id: uuid(),\n title: 'Internship',\n description: 'An employment type designed for internship programs.',\n },\n {\n id: uuid(),\n title: 'Freelance',\n description: 'An employment type for freelance and project-based work.',\n },\n ]\n );\n\n // Employees\n await this.storageService.initial<AXMOrganizationManagementEmployeeEntityModel>(\n RootConfig.entities.employee.source,\n [\n { id: uuid(), firstname: 'Jane', lastname: 'Smith', birthDate: new Date('1985-02-15'), employeeID: 'EMP002' },\n {\n id: uuid(),\n firstname: 'Michael',\n lastname: 'Johnson',\n birthDate: new Date('1978-03-22'),\n employeeID: 'EMP003',\n },\n { id: uuid(), firstname: 'Emma', lastname: 'Davis', birthDate: new Date('1992-04-10'), employeeID: 'EMP004' },\n {\n id: uuid(),\n firstname: 'Robert',\n lastname: 'Wilson',\n birthDate: new Date('1980-09-18'),\n employeeID: 'EMP009',\n },\n { id: uuid(), firstname: 'Lisa', lastname: 'Brown', birthDate: new Date('1987-10-29'), employeeID: 'EMP010' },\n { id: uuid(), firstname: 'Rahul', lastname: 'Sharma', birthDate: new Date('1982-07-14'), employeeID: 'EMP007' },\n { id: uuid(), firstname: 'Priya', lastname: 'Kapoor', birthDate: new Date('1982-07-14'), employeeID: 'EMP007' },\n { id: uuid(), firstname: 'Amit', lastname: 'Verma', birthDate: new Date('1982-07-14'), employeeID: 'EMP007' },\n { id: uuid(), firstname: 'Vikram', lastname: 'Singh', birthDate: new Date('1982-07-14'), employeeID: 'EMP007' },\n ]\n );\n\n // Store Chart Data\n await this.storageService.initial<AXMOrganizationManagementChartEntityModel>(RootConfig.entities.chart.source, [\n {\n id: uuid(),\n version: '1.0',\n data: SOFTWARE_COMPANY_ORGANIZATION as any,\n },\n ]);\n }\n}\n","import { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXCOrganizationManagementDataSeeder } from './organization-management.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCOrganizationManagementDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCFOrganizationManagementMockModule {}\n","import { AXMAppTermEntityModel } from '@acorex/modules/platform-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nconst titles: string[] = [\n 'Term and Condition Bank App',\n 'Term and Condition Social App',\n 'Term Test',\n 'Condition Test',\n];\n\nexport const APP_TERMS = Array.from({ length: 4 }).map<AXMAppTermEntityModel>((element, i) => {\n const publishDate = new Date();\n publishDate.setDate(publishDate.getDate() - i * 7); // Subtract i weeks from the current date\n\n return {\n id: AXPDataGenerator.uuid(),\n title: titles[i],\n content: `Welcome to <b>[Your App]</b> (\"we,\" \"our,\" or \"us\"). By accessing and using our banking application (the \"App\"), you agree to abide by these Terms and Conditions. If you do not agree, please refrain from using the App.\n\n<b>1. Acceptance of Terms</b>\nBy accessing or using <b>[Your Banking App]</b>, you acknowledge that you have read, understood, and agree to these Terms and Conditions. We reserve the right to modify these terms at any time. Continued use of the App constitutes acceptance of the updated terms.\n\n<b>2. User Eligibility</b>\nYou must be at least 18 years old or the legal age in your jurisdiction to use the App.\nYou must provide accurate and complete information for account registration.\nYou agree to comply with all applicable financial and banking regulations.\n\n<b>3. Account Registration & Security</b>\nYou are responsible for maintaining the confidentiality of your login credentials.\nYou must notify us immediately of any unauthorized access to your account.\nWe are not liable for any losses incurred due to unauthorized access caused by your failure to secure your account.\n\n<b>4. Transactions & Banking Services</b>\nAll transactions made through the App are subject to verification and approval.\nTransaction limits, fees, and processing times may vary based on your account type and applicable regulations.\nYou agree to provide accurate transaction details and maintain sufficient funds for transactions.\n\n<b>5. Fees & Charges</b>\nCertain transactions and services may be subject to fees.\nWe reserve the right to modify or introduce new fees with prior notice.\nUsers will be responsible for any government-imposed taxes on transactions.\n\n<b>6. Privacy & Data Protection</b>\nYour privacy is important to us. Our Privacy Policy outlines how we collect, use, and protect your personal and financial information.\n\n<b>7. Security & Fraud Prevention</b>\nWe implement industry-standard security measures to protect your data and transactions.\nUsers must not engage in fraudulent activities, including identity theft, money laundering, or unauthorized transactions.\nAny suspicious activity may result in account suspension, investigation, or legal action.\n\n<b>8. Account Suspension & Termination</b>\nWe reserve the right to suspend or terminate your account if:\nYou violate these Terms and Conditions.\nWe detect suspicious or fraudulent activities.\nRequired by law enforcement or regulatory authorities.\n\n<b>9. Liability & Disclaimers</b>\nThe App is provided on an \"as is\" and \"as available\" basis.\nWe do not guarantee uninterrupted service, and we are not responsible for losses due to service outages.\nWe are not liable for third-party actions, including fraudulent transactions made by other users.\n\n<b>10. Third-Party Services</b>\nThe App may integrate with third-party services for payments and other banking functions.\nWe are not responsible for the privacy, security, or functionality of third-party services.\n\n<b>11. Changes to Terms</b>\nWe may update these Terms and Conditions periodically.\nChanges will be effective upon posting, and continued use of the App indicates acceptance of the revised terms.\n\n<b>12. Governing Law & Dispute Resolution</b>\nThese Terms shall be governed by and construed in accordance with the laws of [Your Country/State].\nAny disputes shall be resolved through arbitration or legal proceedings in the appropriate jurisdiction.\n\n<b>13. Contact Us</b>\nFor any inquiries, support, or concerns regarding these Terms and Conditions, please contact us at [your contact email].\n\nBy using <b>[Your Banking App]</b>, you acknowledge that you have read, understood, and agreed to these Terms and Conditions.`,\n effectiveDate: publishDate.toString(),\n notifyUser: true,\n type: 'term',\n version: 1,\n };\n});\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { APP_TERMS } from './app-term.mock.data';\n\n@Injectable()\nexport class AXCAppTermDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.appTerm.name}`, APP_TERMS);\n }\n}\n","import { AXMAppVersionEntityModel } from '@acorex/modules/platform-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nconst changeLog: string[] = [];\nfor (let i = 0; i < 10; i++) {\n changeLog.push(`This is a detailed description of the changes made in version 1.6.0${i}. \n It includes various updates, bug fixes, and improvements. \n The changes are extensive and cover multiple aspects of the application, \n ensuring better performance, enhanced security, and a more user-friendly interface. \n Each update is carefully tested to maintain the highest quality standards. \n This description is intentionally verbose to exceed 300 characters and provide a comprehensive overview of the changes in this version.`);\n}\n\nexport const APP_VERSIONS = Array.from({ length: 10 }).map<AXMAppVersionEntityModel>((element, i) => {\n const publishDate = new Date();\n publishDate.setDate(publishDate.getDate() - i * 7); // Subtract i weeks from the current date\n\n return {\n id: AXPDataGenerator.uuid(),\n versionNumber: `1.6.0${i}`,\n changeLog: changeLog[i],\n publishDate: publishDate.toString(),\n showFirstTimePopup: true,\n };\n});\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { APP_VERSIONS } from './app-version.mock.data';\n\n@Injectable()\nexport class AXCAppVersionDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.appVersion.name}`, APP_VERSIONS);\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 value: data[i][0],\n };\n});\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { GLOBAL_VARIABLES } from './global-variables.mock.data';\n\n@Injectable()\nexport class AXCGlobalVariablesDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(\n `${RootConfig.module.name}.${RootConfig.entities.globalVariable.name}`,\n GLOBAL_VARIABLES\n );\n }\n}\n","import { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPCity,\n AXPCountry,\n AXPCurrency,\n AXPLanguage,\n AXPProvince,\n AXPRegionalFormat,\n AXPRegionalService,\n AXPTimeZone,\n} from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\n\nexport class AXCRegionalServiceImpl extends AXPRegionalService {\n languageService = inject(AXTranslationService);\n\n async getCountries(): Promise<AXPCountry[]> {\n const lang = await firstValueFrom(this.languageService.langChanges$);\n\n const { countries } = await import('./data/countries');\n return countries.map<AXPCountry>((country) => {\n if (lang == country.regional) {\n return {\n ...country,\n title: country.native,\n };\n } else {\n return country;\n }\n });\n }\n\n async getProvinces(countryId?: string): Promise<AXPProvince[]> {\n const lang = await firstValueFrom(this.languageService.langChanges$);\n\n const country = await this.getCountries();\n const data = country\n .filter((c) => !countryId || c.code === countryId)\n .flatMap(\n (c) =>\n c.provinces?.map<AXPProvince>((province) => {\n if (lang == c.regional) {\n return {\n ...province,\n title: province.native,\n };\n } else {\n return province;\n }\n }) ?? []\n );\n return data;\n }\n\n async getCities(filter: { countryId?: string; provinceId?: string } = {}): Promise<AXPCity[]> {\n const { countryId, provinceId } = filter;\n const countries = await this.getCountries();\n const lang = await firstValueFrom(this.languageService.langChanges$);\n\n const filteredCountries = countryId ? countries.filter((c) => c.code === countryId) : countries;\n\n const provinces = filteredCountries.flatMap((c) => c.provinces ?? []);\n const filteredProvinces = provinceId ? provinces.filter((p) => p.code === provinceId) : provinces;\n\n filteredProvinces.forEach((province) => {\n province.cities = province.cities?.map<AXPCity>((city) => {\n const country = countries.find((c) => c.provinces?.some((p) => p.code === province.code));\n if (country && lang == country.regional) {\n return {\n ...city,\n title: city.native,\n };\n } else {\n return city;\n }\n });\n });\n\n return filteredProvinces.flatMap((p) => p.cities ?? []);\n }\n\n async getCurrencies(): Promise<AXPCurrency[]> {\n const { currencies } = await import('./data/currencies');\n return currencies;\n }\n\n async getRegionalFormats(): Promise<AXPRegionalFormat[]> {\n const { regionalFormats } = await import('./data/regional-formats');\n return regionalFormats;\n }\n\n async getLanguages(): Promise<AXPLanguage[]> {\n return (await this.getRegionalFormats()).map((c) => ({ code: c.locale, title: c.title }));\n }\n\n async getAvailableLanguages(): Promise<AXPLanguage[]> {\n return (await this.getLanguages()).filter((c) => ['fa-IR', 'en-US'].some((e) => e == c.code));\n }\n\n async getTimeZones(): Promise<AXPTimeZone[]> {\n const { timeZones } = await import('./data/timezones');\n return timeZones;\n }\n\n async getBrowserTimeZoneCode(): Promise<string> {\n const { timeZones } = await import('./data/timezones');\n const now = new Date();\n\n // Calculate offset in hours and minutes\n const offsetMinutes = now.getTimezoneOffset();\n const offsetHours = Math.floor(-offsetMinutes / 60);\n const offsetRemainder = Math.abs(offsetMinutes % 60);\n\n // Format the offset properly\n const formattedOffset = `UTC${offsetHours >= 0 ? '+' : ''}${offsetHours}${offsetRemainder ? `:${offsetRemainder.toString().padStart(2, '0')}` : ''\n }`;\n\n // Find matching time zone\n const matchedZone = timeZones.find((zone) => zone.code === formattedOffset);\n return matchedZone ? matchedZone.code : 'UTC';\n }\n}\n","import {\n AXPFileStorageCreateRequest,\n AXPFileStorageFindRequest,\n AXPFileStorageInfo,\n AXPFileStorageService,\n AXPFileStorageStatus,\n AXPFileStorageUpdateRequest,\n} from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\nimport { AXFileService } from '@acorex/core/file';\nimport Dexie, { Table } from 'dexie';\n\nclass FileStorageDatabase extends Dexie {\n files!: Table<AXPFileStorageInfo & { binary: Blob }, string>;\n\n constructor() {\n super('FileStorageDatabase');\n this.version(1).stores({\n files: 'fileId,refId,refType,category,isPrimary,status',\n });\n }\n}\n\nconst db = new FileStorageDatabase();\n\n@Injectable()\nexport class AXCFileStorageService implements AXPFileStorageService {\n private fileService = inject(AXFileService);\n\n private async mapToFileStorageInfo(record: any): Promise<AXPFileStorageInfo> {\n if (!record) {\n throw new Error('Record not found');\n }\n\n const { binary, ...fileInfo } = record;\n\n const url = await this.fileService.blobToBase64(binary);\n\n return { ...fileInfo, url };\n }\n\n async save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo> {\n const fileId = crypto.randomUUID();\n\n const fileInfo: AXPFileStorageInfo = {\n fileId,\n refId: request.refId,\n refType: request.refType,\n category: request.category,\n size: request.file.size,\n mimeType: request.file.type,\n uploadedAt: new Date(),\n isPublic: request.metadata?.['isPublic'] || true,\n isPrimary: request.isPrimary || false,\n status: request.status ?? AXPFileStorageStatus.Temporary, // Use enum\n name: request.name,\n };\n\n // Save the binary content along with metadata in Dexie\n await db.files.add({ ...fileInfo, binary: request.file });\n return fileInfo;\n }\n\n async commit(fileId: string): Promise<void> {\n const file = await db.files.get(fileId);\n\n if (!file) {\n throw new Error('File not found');\n }\n\n file.status = AXPFileStorageStatus.Committed; // Use enum\n await db.files.put(file);\n }\n\n async markForDeletion(fileId: string): Promise<void> {\n const file = await db.files.get(fileId);\n if (!file) {\n throw new Error('File not found');\n }\n file.status = AXPFileStorageStatus.PendingDeletion; // Use enum\n await db.files.put(file);\n }\n\n async update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo> {\n const file = await db.files.get(request.fileId);\n\n if (!file) {\n throw new Error('File not found');\n }\n\n const updatedFileInfo = {\n ...file,\n ...request.metadata,\n isPrimary: request.isPrimary !== undefined ? request.isPrimary : file.isPrimary,\n };\n\n await db.files.put(updatedFileInfo);\n return this.mapToFileStorageInfo(updatedFileInfo);\n }\n\n async find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]> {\n const files = await db.files.toArray();\n\n const filteredFiles = files.filter((file) => {\n return (\n (!request.refId || file.refId === request.refId) &&\n (!request.refType || file.refType === request.refType) &&\n (!request.category || file.category === request.category) &&\n (!request.isPrimary || file.isPrimary === request.isPrimary) &&\n (!request.isPublic || file.isPublic === request.isPublic) &&\n (!request.mimeType || file.mimeType === request.mimeType) &&\n (!request.uploadedAtRange ||\n (file.uploadedAt >= request.uploadedAtRange.from && file.uploadedAt <= request.uploadedAtRange.to)) &&\n file.status === AXPFileStorageStatus.Committed // Use enum\n );\n });\n\n // Map all filtered files to `AXPFileStorageInfo`\n return Promise.all(filteredFiles.map((file) => this.mapToFileStorageInfo(file)));\n }\n\n async getInfo(fileId: string): Promise<AXPFileStorageInfo> {\n // Simulate a delay of 2 seconds (2000 milliseconds)\n await new Promise((resolve) => setTimeout(resolve, 2000));\n\n const file = await db.files.get(fileId);\n return this.mapToFileStorageInfo(file);\n }\n\n async remove(fileId: string): Promise<void> {\n await db.files.delete(fileId);\n }\n\n private async cleanupTemporaryFiles(): Promise<void> {\n const files = await db.files.toArray();\n\n const temporaryFiles = files.filter((file) => file.status === AXPFileStorageStatus.Temporary);\n\n for (const file of temporaryFiles) {\n await db.files.delete(file.fileId);\n }\n }\n\n private async cleanupMarkedFiles(gracePeriod: number): Promise<void> {\n const now = new Date();\n const files = await db.files.toArray();\n\n for (const file of files) {\n if (\n file.status === AXPFileStorageStatus.PendingDeletion &&\n now.getTime() - file.uploadedAt.getTime() > gracePeriod\n ) {\n await db.files.delete(file.fileId);\n }\n }\n }\n\n // Semi-background cleanup job\n constructor() {\n setInterval(() => {\n this.cleanupMarkedFiles(5 * 60 * 1000) // Grace period: 5 minutes in milliseconds\n .catch((error) => console.error('Error during cleanup:', error));\n this.cleanupTemporaryFiles() // Ensure temporary files are cleaned\n .catch((error) => console.error('Error during cleanup:', error));\n }, 5 * 60 * 1000); // Runs every 5 minutes\n }\n}\n","import {\n AXMMetaDataDefinitionCategoryEntityModel,\n AXMPlatformManagementMetaDataDefinitionEntityModel,\n} from '@acorex/modules/platform-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nconst OHS_ID = AXPDataGenerator.uuid();\nexport const METADATA_CATEGORY_MOCK: AXMMetaDataDefinitionCategoryEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'General',\n },\n {\n id: OHS_ID,\n title: 'OHS',\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'General',\n parentId: OHS_ID,\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'License',\n parentId: OHS_ID,\n },\n];\n\nconst checkbox =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"checkbox-editor\",\"name\":\"checkbox-editor1\",\"options\":{\"label\":\"i accept\",\"readonly\":false,\"disabled\":false},\"defaultValue\":false,\"path\":\"accept-check-box\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst colorboxInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"block-layout\",\"name\":\"block-layout1\",\"options\":{\"flexDirection\":{\"id\":\"ax-flex-row\"},\"flexJustifyContent\":{\"id\":\"ax-justify-normal\"},\"flexAlignItems\":{\"id\":\"ax-items-start\"},\"gap\":2,\"flexWrap\":{\"id\":\"ax-flex-nowrap\"},\"spacing\":{\"margin\":\"0px 0px 0px 0px\",\"padding\":\"0px 0px 0px 0px\"},\"border\":{\"width\":\"0px\",\"radius\":\"0px\",\"color\":\"#000000\",\"style\":\"none\"},\"flexOptions\":{\"gap\":\"0px\",\"flexDirection\":\"row\",\"flexWrap\":\"nowrap\",\"justifyContent\":\"flex-start\",\"alignItems\":\"flex-start\"}}},\"children\":[{\"type\":\"color-editor\",\"name\":\"color-editor1\",\"options\":{\"readonly\":false,\"disabled\":false,\"validations\":{\"required\":{\"rule\":\"required\",\"message\":\"This field is required.\"}},\"placeholder\":\"pick color\"},\"path\":\"color-box\"}]}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst titleInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"text-editor\",\"name\":\"title-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false,\"validations\":{\"regex\":null,\"required\":{\"rule\":\"required\",\"message\":\"This field is required.\"}}},\"defaultValue\":\"\",\"path\":\"title\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst descriptionInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"text-editor\",\"name\":\"description-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false},\"defaultValue\":\"\",\"path\":\"description\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst contractNumberInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"number-editor\",\"name\":\"number-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false},\"defaultValue\":\"\",\"path\":\"contract-number\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst evaluatorInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"text-editor\",\"name\":\"text-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false},\"defaultValue\":\"\",\"path\":\"evaluator\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\n\nexport const METADATA_MOCK: AXMPlatformManagementMetaDataDefinitionEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'title',\n title: 'Title',\n defaultValue: '',\n interface: titleInterface,\n categoryId: METADATA_CATEGORY_MOCK[0].id!,\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'description',\n title: 'Description',\n defaultValue: '',\n interface: descriptionInterface,\n categoryId: METADATA_CATEGORY_MOCK[0].id!,\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'agreement-check-box',\n title: 'Agreement Box',\n defaultValue: false,\n interface: checkbox,\n categoryId: METADATA_CATEGORY_MOCK[2].id!,\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'contract-number',\n title: 'Contract Number',\n defaultValue: '',\n interface: contractNumberInterface,\n categoryId: METADATA_CATEGORY_MOCK[2].id!,\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'evaluator',\n title: 'Evaluator',\n defaultValue: '',\n interface: evaluatorInterface,\n categoryId: METADATA_CATEGORY_MOCK[3].id!,\n },\n];\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { METADATA_CATEGORY_MOCK, METADATA_MOCK } from './metadata.mock';\n@Injectable()\nexport class AXCMetaDataDefinitionDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(\n `${RootConfig.module.name}.${RootConfig.entities.metaDataDefinitionCategory.name}`,\n METADATA_CATEGORY_MOCK\n );\n\n await this.storageService.initial(\n `${RootConfig.module.name}.${RootConfig.entities.metaDataDefinition.name}`,\n METADATA_MOCK\n );\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 { AXMSchedulerJobManagementSchedulerJobEntityModel, RootConfig } from '@acorex/modules/scheduler-job-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { SCHEDULER_JOB } from './scheduler-job-management.mock.data';\n\n@Injectable()\nexport class AXCSchedulerJobDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSchedulerJobManagementSchedulerJobEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.schedulerJob.name}`,\n SCHEDULER_JOB\n );\n }\n}\n","import { convertArrayToDataSource } from '@acorex/components/common';\nimport { AXPWidgetDataSource, AXPWidgetDataSourceProvider } from '@acorex/platform/layout/builder';\n\nexport class AXPSecurityManagementMockWidgetDataSourceProvider implements AXPWidgetDataSourceProvider {\n async items(): Promise<AXPWidgetDataSource[]> {\n return [\n {\n name: 'mock.securityUsers',\n title: 'Security Users',\n valueField: 'id',\n textField: 'displayName',\n columns: [\n {\n name: 'id',\n title: 'Id',\n },\n {\n name: 'username',\n title: 'Username',\n },\n {\n name: 'displayName',\n title: 'Display Name',\n },\n ],\n samples: [\n {\n id: '1',\n username: 'johndoe',\n displayName: 'John Doe',\n },\n {\n id: '2',\n username: 'janesmith',\n displayName: 'Jane Smith',\n },\n ],\n source: () =>\n convertArrayToDataSource([\n {\n id: '1',\n username: 'johndoe',\n displayName: 'John Doe',\n },\n {\n id: '2',\n username: 'janesmith',\n displayName: 'Jane Smith',\n },\n {\n id: '3',\n username: 'mikeross',\n displayName: 'Mike Ross',\n },\n ]),\n },\n {\n name: 'mock.securityRoles',\n title: 'Security Roles',\n valueField: 'id',\n textField: 'title',\n columns: [\n {\n name: 'id',\n title: 'Id',\n },\n {\n name: 'title',\n title: 'Title',\n },\n ],\n samples: [\n {\n id: 'admin',\n title: 'Administrator',\n },\n {\n id: 'user',\n title: 'Regular User',\n },\n ],\n source: () =>\n convertArrayToDataSource([\n {\n id: 'admin',\n title: 'Administrator',\n },\n {\n id: 'manager',\n title: 'Manager',\n },\n {\n id: 'user',\n title: 'Regular User',\n },\n ]),\n },\n ];\n }\n}\n","import { AXMSecurityManagementRolesEntityModel, RootConfig } from '@acorex/modules/security-management';\nimport { AXPPermissionProviderService } from '@acorex/platform/auth';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { mockRoleDefinitions } from './mock-data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXPSecurityManagementRoleDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n private permissionService = inject(AXPPermissionProviderService);\n\n async seed(): Promise<void> {\n const permissions = await this.permissionService.permissions();\n const permissionKeys = permissions.map((p) => p.name);\n\n // Generate roles with random permissions from the actual permission list\n const roles = mockRoleDefinitions.map((role) => ({\n ...role,\n permissions: this.getRandomPermissions(permissionKeys, 2, 5), // Get 2-5 random permissions\n }));\n\n await this.storageService.initial<AXMSecurityManagementRolesEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.roles.name}`,\n roles\n );\n }\n\n private getRandomPermissions(permissions: string[], min: number, max: number): string[] {\n const count = Math.floor(Math.random() * (max - min + 1)) + min;\n const shuffled = [...permissions].sort(() => 0.5 - Math.random());\n return shuffled.slice(0, count);\n }\n}\n","import { AXMSecurityManagementUsersEntityModel, RootConfig } from '@acorex/modules/security-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { mockUsers } from './mock-data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXPSecurityManagementUserDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSecurityManagementUsersEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.users.name}`,\n this.generateUsers()\n );\n }\n\n private generateUsers(): AXMSecurityManagementUsersEntityModel[] {\n return mockUsers.map((user) => ({\n id: user.id,\n username: user.username,\n firstname: user.firstname,\n lastname: user.lastname,\n nationalCode: user.nationalCode,\n mobile: user.mobile,\n password: '123',\n roles: user.roleIds,\n }));\n }\n}\n","import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPSecurityManagementMockWidgetDataSourceProvider } from './datasource-provider.mock.service';\nimport { AXPSecurityManagementRoleDataSeeder } from './role.seeder';\nimport { AXPSecurityManagementUserDataSeeder } from './user.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_WIDGET_DATASOURCE_PROVIDER,\n useClass: AXPSecurityManagementMockWidgetDataSourceProvider,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSecurityManagementUserDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSecurityManagementRoleDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCSecurityManagementMockModule {}\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 { AXMTextTemplateManagementCategoryEntityModel, RootConfig } from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATE_CATEGORY } from './text-template-management.mock.data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXCTextTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementCategoryEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n TEXT_TEMPLATE_CATEGORY\n );\n }\n}\n","import { AXMTextTemplateManagementTemplateEntityModel, RootConfig } from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATES } from './text-template-management.mock.data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXCTextTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementTemplateEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n TEXT_TEMPLATES\n );\n }\n}\n","import { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXMDocumentService, AXMFolderService } from '@acorex/modules/document-management';\nimport { AXMNotificationEntityService } from '@acorex/modules/notification-management';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXP_SEARCH_PROVIDER, AXPFileStorageService, AXPRegionalService } from '@acorex/platform/common';\nimport {\n AXP_DATA_SEEDER_TOKEN,\n AXPEntityStorageService,\n} from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXCApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXCCommonMockModule } from './common';\nimport { AXCConversationMockModule } from './conversation/conversation.module';\nimport { AXCDocumentTypeDataSeeder } from './document-management/document-type/document-type.seeder';\nimport { AXMFileMockService } from './document-management/file/file.service';\nimport { AXCFolderDataSeeder } from './document-management/folder';\nimport { AXMFolderMockService } from './document-management/folder/folder.service';\nimport { EntitySearchProvider } from './entity-search.provider';\nimport { AXCFormTemplateManagementMockModule } from './form-template-management/form-template-management-mock.module';\nimport { MOCKStrategy } from './mock.strategy';\nimport { AXMMockNotificationService } from './notification-management/notification/notification.mock.service';\nimport { AXCNotificationTemplateDataSeeder } from './notification-management/template.seeder';\nimport { AXCFOrganizationManagementMockModule } from './organization-management/organization-management-mock.module';\nimport { AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCGlobalVariablesDataSeeder } from './platform-management';\nimport { AXCRegionalServiceImpl } from './platform-management/common/regional-util.service';\nimport { AXCFileStorageService } from './platform-management/file-storage/file-storage-service';\nimport { AXCMetaDataDefinitionDataSeeder } from './platform-management/metadata/metadata.seeder';\nimport { AXCSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXCSecurityManagementMockModule } from './security-management/security-management-mock.module';\nimport { AXCTextTemplateCategoryDataSeeder, AXCTextTemplateDataSeeder } from './text-template-management';\nimport { AXPDexieEntityStorageService } from './dexie-storage.service';\n\n@NgModule({\n imports: [\n AXPAuthModule.forRoot({\n strategies: [MOCKStrategy],\n }),\n AXCFormTemplateManagementMockModule,\n AXCFOrganizationManagementMockModule,\n AXCConversationMockModule,\n AXCSecurityManagementMockModule,\n AXCCommonMockModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n AXPDexieEntityStorageService,\n {\n provide: AXMNotificationEntityService,\n useClass: AXMMockNotificationService,\n },\n {\n provide: AXPEntityStorageService,\n useClass: AXPDexieEntityStorageService,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCGlobalVariablesDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTextTemplateCategoryDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTextTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCApplicationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCSchedulerJobDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCNotificationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCAppVersionDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCAppTermDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCMetaDataDefinitionDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCFolderDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCDocumentTypeDataSeeder,\n multi: true,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXCModuleDesignerService,\n },\n {\n provide: AXPFileStorageService,\n useClass: AXCFileStorageService,\n },\n {\n provide: AXPRegionalService,\n useClass: AXCRegionalServiceImpl,\n },\n {\n provide: AXMFolderService,\n useClass: AXMFolderMockService,\n },\n {\n provide: AXMDocumentService,\n useClass: AXMFileMockService,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: EntitySearchProvider,\n multi: true,\n },\n ],\n})\nexport class AXCMockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AXPDataGenerator","checkbox","titleInterface","descriptionInterface","contractNumberInterface","evaluatorInterface","RootConfig"],"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/dexie-storage.service.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/common/dashboard/dashboard.mock.data.ts","../../../../libs/connectivity/mock/src/lib/common/dashboard/dashboard.seeder.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/document-management/document-type/document-type.mock.ts","../../../../libs/connectivity/mock/src/lib/document-management/document-type/document-type.seeder.ts","../../../../libs/connectivity/mock/src/lib/document-management/folder/folder.service.ts","../../../../libs/connectivity/mock/src/lib/document-management/file/file.service.ts","../../../../libs/connectivity/mock/src/lib/security-management/mock-data.ts","../../../../libs/connectivity/mock/src/lib/document-management/folder/folder.mock.data.ts","../../../../libs/connectivity/mock/src/lib/document-management/folder/folder.seeder.ts","../../../../libs/connectivity/mock/src/lib/entity-search.provider.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/mock.data.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/data.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/form-template-management-mock.module.ts","../../../../libs/connectivity/mock/src/lib/log-management/log/log.mock.ts","../../../../libs/connectivity/mock/src/lib/log-management/log/log.seeder.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/notification-management/notification-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/notification-management/template.seeder.ts","../../../../libs/connectivity/mock/src/lib/organization-management/org-chart.mock.ts","../../../../libs/connectivity/mock/src/lib/organization-management/organization-management.seeder.ts","../../../../libs/connectivity/mock/src/lib/organization-management/organization-management-mock.module.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-term/app-term.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-term/app-term.seeder.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-version/app-version.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/app-version/app-version.seeder.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/platform-management/common/regional-util.service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/file-storage/file-storage-service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/issue-type/mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/issue-type/data.seeder.ts","../../../../libs/connectivity/mock/src/lib/platform-management/metadata/metadata.mock.ts","../../../../libs/connectivity/mock/src/lib/platform-management/metadata/metadata.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/security-management/device-session.service.ts","../../../../libs/connectivity/mock/src/lib/security-management/device-sessions.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/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 { applyFilterArray, applySortArray } from '@acorex/platform/core';\nimport Dexie from 'dexie';\n\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/core';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\n\nexport class AXPDexieEntityStorageService extends Dexie implements AXPEntityStorageService<string, any> {\n constructor() {\n super('ACoreXPlatform');\n this.version(1).stores({\n 'entity-store': '++id, entityName, [entityName+id]',\n });\n }\n\n get dbName(): string {\n return 'ACoreXPlatform';\n }\n\n async initial<T = any>(entityName: string, collection: T[]): Promise<T[]> {\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 return collection;\n }\n\n async getOne<T = any>(entityName: string, id: string): Promise<T> {\n return await this.table('entity-store').where({ entityName, id: id }).first();\n }\n\n async updateOne<T = any>(entityName: string, id: string, keyValue: { [key: string]: any }): Promise<T> {\n await this.table('entity-store').where({ entityName, id: id }).modify(keyValue);\n return await this.getOne(entityName, id);\n }\n\n async deleteOne(entityName: string, id: string): Promise<void> {\n await this.table('entity-store').where({ entityName, id: id }).delete();\n }\n\n async insertOne<T = any>(entityName: string, entity: T): Promise<string> {\n const uuid = AXPDataGenerator.uuid();\n await this.table('entity-store').add({ ...entity, id: uuid, entityName });\n return uuid;\n }\n\n async getAll<T = any>(entityName: string): Promise<T[]> {\n return await this.table('entity-store').where({ entityName }).toArray();\n }\n\n async query<T = any>(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<T>> {\n let result = await this.table('entity-store').where({ entityName }).toArray();\n\n if (request.sort && request.sort.length) {\n result = applySortArray(result, request.sort);\n }\n result = applyFilterArray(result, request.filter ? [request.filter] : []);\n\n return Promise.resolve({\n total: result.length,\n items: result.slice(request.skip, (request.skip ?? 0) + (request.take ?? 0)),\n });\n }\n}\n\n// export class AXPDexieTableStorageService extends Dexie implements AXPEntityStorageService {\n// private schemaUpdateLock: Promise<void> = Promise.resolve();\n\n// constructor() {\n// super('ACoreXPlatform');\n// // Initial empty version\n// //this.version(1).stores({});\n// }\n\n// // Function to change the schema dynamically\n// private async changeSchema(schemaChanges: { [tableName: string]: string | null }): Promise<void> {\n// // Acquire schema update lock to ensure no other operations are performed while schema is changing\n// this.schemaUpdateLock = this.schemaUpdateLock.then(async () => {\n// console.log('Attempting schema change with:', schemaChanges);\n\n// try {\n// this.close();\n\n// const newDb = new Dexie(this.name);\n\n// // Extract current schema in Dexie format\n// const currentSchema = this.tables.reduce((result, { name, schema }) => {\n// result[name] = [schema.primKey.src, ...schema.indexes.map((idx) => idx.src)].join(',');\n// return result;\n// }, {} as { [tableName: string]: string });\n\n// console.log('Current Schema:', currentSchema);\n\n// // Define current schema version\n\n// newDb.version(this.verno + 10).stores(currentSchema);\n\n// // Define new schema version with schema changes\n// const nextVersion = this.verno + 1;\n// newDb.version(nextVersion).stores(schemaChanges);\n// await newDb.open();\n\n// // Reassign updated db instance\n// Object.assign(this, newDb);\n// console.log(`Schema updated. Current version: ${this.verno}`);\n// } catch (error) {\n// console.error('Error during schema change:', error);\n// throw error;\n// }\n// });\n\n// // Wait for schema change lock to complete\n// await this.schemaUpdateLock;\n// }\n\n// private async ensureInitialized(entityName: string): Promise<void> {\n// if (this.tables.findIndex((table) => table.name === entityName) == -1) {\n// const schemaChanges: { [tableName: string]: string } = {};\n// schemaChanges[entityName] = '++id';\n// await this.changeSchema(schemaChanges);\n// }\n// }\n\n// get dbName(): string {\n// return 'ACoreXPlatform';\n// }\n\n// private async getTable<T>(entityName: string) {\n// await this.ensureInitialized(entityName);\n// return this.table<T, number>(entityName);\n// }\n\n// async initial<T = any>(entityName: string, collection: T[]): Promise<void> {\n// const table = await this.getTable<T>(entityName);\n// const exists = await table.count();\n// if (exists === 0) {\n// await table.bulkAdd(collection);\n// }\n// }\n\n// async getOne<T = any>(entityName: string, id: string): Promise<T> {\n// const table = await this.getTable<T>(entityName);\n// return (await table.where({ id: parseInt(id) }).first()) as T;\n// }\n\n// async updateOne(entityName: string, id: string, keyValue: { [key: string]: any }): Promise<void> {\n// const table = await this.getTable(entityName);\n// await table.update(parseInt(id), keyValue);\n// }\n\n// async deleteOne(entityName: string, id: string): Promise<void> {\n// const table = await this.getTable(entityName);\n// await table.delete(parseInt(id));\n// }\n\n// async insertOne<T = any>(entityName: string, entity: T): Promise<void> {\n// const table = await this.getTable<T>(entityName);\n// await table.add(entity);\n// }\n\n// async getAll<T = any>(entityName: string): Promise<T[]> {\n// const table = await this.getTable<T>(entityName);\n// return await table.toArray();\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 } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\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 AXCApplicationTemplateDataSeeder 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 { AXPDataGenerator } from '@acorex/platform/core';\nimport {\n AXPBarChartWidget,\n AXPClockCalendarWidget,\n AXPDonutChartWidget,\n AXPGaugeChartWidget,\n AXPStickyNoteWidget,\n AXPWeatherWidget,\n} from '@acorex/platform/widgets';\n\n// Widget types that can be used for generating mock data\nconst widgetTypes = ['bar-chart', 'donut-chart', 'gauge-chart', 'map', 'clock-calendar', 'weather', 'sticky-note'];\n\n// Define the dashboard entity model locally\nexport type AXMCommonDashboardEntityModel = {\n id: string;\n name: string;\n title: string;\n description: string;\n widgets: any[];\n createdAt?: Date;\n createdBy?: string;\n};\n\n// Generate bar chart widget\nfunction generateBarChartWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPBarChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `bar-chart-${uniqueId}`,\n path: 'bar-chart',\n type: 'bar-chart',\n defaultValue: [\n { id: 'a', label: 'Category A', value: AXPDataGenerator.number(30, 100), color: 'green' },\n { id: 'b', label: 'Category B', value: AXPDataGenerator.number(30, 100) },\n { id: 'c', label: 'Category C', value: AXPDataGenerator.number(30, 100) },\n { id: 'd', label: 'Category D', value: AXPDataGenerator.number(10, 30) },\n { id: 'e', label: 'Category E', value: AXPDataGenerator.number(70, 100) },\n ],\n options: {\n width: 600,\n height: 400,\n color: ['red', 'yellow', 'blue'],\n hasOptions: true,\n },\n },\n };\n}\n\n// Generate clock-calendar widget\nfunction generateClockCalendarWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPClockCalendarWidget?.meta?.['dimensions'],\n },\n node: {\n name: `clock-calendar-${uniqueId}`,\n path: 'clock-calendar',\n type: 'clock-calendar',\n defaultValue: JSON.stringify({\n showDigital: true,\n showAnalog: true,\n showDate: true,\n use24Hour: AXPDataGenerator.boolean(),\n digitalClockSize: 3,\n analogClockSize: 200,\n bgColor: '#ffffff',\n accentColor: AXPDataGenerator.color(),\n }),\n options: {\n hasOptions: true,\n },\n },\n };\n}\n\n// Generate weather widget\nfunction generateWeatherWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPWeatherWidget?.meta?.['dimensions'],\n },\n node: {\n name: `weather-${uniqueId}`,\n path: 'weather',\n type: 'weather',\n options: {\n city: AXPDataGenerator.city(),\n hasOptions: true,\n },\n meta: {\n ...AXPWeatherWidget.meta,\n },\n },\n };\n}\n\n// Generate sticky-note widget\nfunction generateStickyNoteWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPStickyNoteWidget?.meta?.['dimensions'],\n },\n node: {\n name: `sticky-note-${uniqueId}`,\n path: 'sticky-note',\n type: 'sticky-note',\n defaultValue: `Note from ${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}: \nRemember to complete the ${AXPDataGenerator.pick(['project', 'task', 'meeting', 'report'])} by end of day.`,\n options: {\n hasOptions: false,\n },\n },\n };\n}\n\n// Generate donut-chart widget\nfunction generateDonutChartWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPDonutChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `donut-chart-${uniqueId}`,\n path: 'donut-chart',\n type: 'donut-chart',\n defaultValue: [\n { id: 'a', name: 'Apples', value: AXPDataGenerator.number(20, 50), color: '#E57373' },\n { id: 'b', name: 'Bananas', value: AXPDataGenerator.number(20, 40), color: '#FFF176' },\n { id: 'c', name: AXPDataGenerator.firstName(), value: AXPDataGenerator.number(10, 30), color: '#F06292' },\n { id: 'd', name: 'Dates', value: AXPDataGenerator.number(5, 20), color: '#9575CD' },\n ],\n options: {\n width: 500,\n height: 500,\n showLegend: true,\n showTooltip: true,\n showPercentage: true,\n showValue: true,\n hasOptions: true,\n },\n },\n };\n}\n\n// Generate gauge-chart widget\nfunction generateGaugeChartWidget() {\n const uniqueId = AXPDataGenerator.alphabet(3).toUpperCase();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPGaugeChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `gauge-chart-${uniqueId}`,\n path: 'gauge-chart',\n type: 'gauge-chart',\n defaultValue: AXPDataGenerator.number(30, 90),\n options: {\n width: 250,\n height: 250,\n minValue: 0,\n maxValue: 100,\n label: 'CPU Usage',\n animationDuration: 3000,\n },\n },\n };\n}\n\n// Widget generator factory\nfunction getWidgetGenerator(type: string) {\n const generators: Record<string, () => any> = {\n 'bar-chart': generateBarChartWidget,\n 'clock-calendar': generateClockCalendarWidget,\n weather: generateWeatherWidget,\n 'sticky-note': generateStickyNoteWidget,\n 'donut-chart': generateDonutChartWidget,\n 'gauge-chart': generateGaugeChartWidget,\n };\n\n return generators[type] || generateBarChartWidget;\n}\n\n// Generate a random dashboard widget\nfunction generateRandomWidget() {\n const type = AXPDataGenerator.pick(widgetTypes);\n const generator = getWidgetGenerator(type);\n return generator();\n}\n\n// Generate a random dashboard with random widgets\nexport function generateRandomDashboard(): AXMCommonDashboardEntityModel {\n const widgetCount = AXPDataGenerator.number(1, 5);\n const widgets = Array.from({ length: widgetCount }).map(() => generateRandomWidget());\n\n return {\n id: AXPDataGenerator.uuid(),\n name: `Dashboard ${AXPDataGenerator.firstName()}`,\n title: `${AXPDataGenerator.firstName()} Dashboard`,\n description: `This is a sample dashboard for ${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}`,\n widgets: widgets,\n createdAt: AXPDataGenerator.date(new Date(2023, 0, 1), new Date()),\n createdBy: `${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}`,\n };\n}\n\n// Generate extra random dashboards (in addition to the predefined ones)\nexport function generateExtraRandomDashboards(count: number): AXMCommonDashboardEntityModel[] {\n return Array.from({ length: count }).map(() => generateRandomDashboard());\n}\n\n// Create dashboards: predefined + some random ones\nexport const DASHBOARDS = [...generateExtraRandomDashboards(AXPDataGenerator.number(2, 5))];\n","import { AXMCommonDashboardEntityModel, RootConfig } from '@acorex/modules/common';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { DASHBOARDS } from './dashboard.mock.data';\n\n@Injectable()\nexport class AXPDashboardDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMCommonDashboardEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.dashboard.name}`,\n DASHBOARDS\n );\n }\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 } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\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 } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\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 AXMCreateCommentDto,\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: AXMCreateCommentDto): 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\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 { AXMChatModule, AXMChatService } from '@acorex/modules/conversation';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPChatDataSeeder } from './chat';\nimport { AXMChatMockService } from './chat/chat.mock.service';\nimport { 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 { AXMDocumentManagementDocumentTypeEntityModel } from '@acorex/modules/document-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nconst checkbox =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"checkbox-editor\",\"name\":\"checkbox-editor1\",\"options\":{\"label\":\"i accept\",\"readonly\":false,\"disabled\":false},\"defaultValue\":false,\"path\":\"accept-check-box\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst color =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"block-layout\",\"name\":\"block-layout1\",\"options\":{\"flexDirection\":{\"id\":\"ax-flex-row\"},\"flexJustifyContent\":{\"id\":\"ax-justify-normal\"},\"flexAlignItems\":{\"id\":\"ax-items-start\"},\"gap\":2,\"flexWrap\":{\"id\":\"ax-flex-nowrap\"},\"spacing\":{\"margin\":\"0px 0px 0px 0px\",\"padding\":\"0px 0px 0px 0px\"},\"border\":{\"width\":\"0px\",\"radius\":\"0px\",\"color\":\"#000000\",\"style\":\"none\"},\"flexOptions\":{\"gap\":\"0px\",\"flexDirection\":\"row\",\"flexWrap\":\"nowrap\",\"justifyContent\":\"flex-start\",\"alignItems\":\"flex-start\"}}},\"children\":[{\"type\":\"color-editor\",\"name\":\"color-editor1\",\"options\":{\"readonly\":false,\"disabled\":false,\"validations\":{\"required\":{\"rule\":\"required\",\"message\":\"This field is required.\"}},\"placeholder\":\"pick color\"},\"path\":\"color-box\"}]}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst titleInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"title-editor\",\n \"name\": \"title-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n \"validations\": {\n \"regex\": null,\n \"required\": {\n \"rule\": \"required\",\n \"message\": \"This field is required.\"\n }\n }\n },\n \"defaultValue\": \"\",\n \"path\": \"title\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\nconst descriptionInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"description-editor\",\n \"name\": \"description-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n },\n \"defaultValue\": \"\",\n \"path\": \"description\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\nconst contractNumberInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"number-editor\",\n \"name\": \"number-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n },\n \"defaultValue\": \"\",\n \"path\": \"contract-number\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\nconst evaluatorInterface = `{\n \"type\": \"document-layout\",\n \"children\": [\n {\n \"type\": \"page-layout\",\n \"children\": [\n {\n \"type\": \"text-editor\",\n \"name\": \"text-editor1\",\n \"meta\": {\n \"header\": true\n },\n \"options\": {\n \"multiple\": false,\n \"disabled\": false,\n \"hasClearButton\": false,\n },\n \"defaultValue\": \"\",\n \"path\": \"evaluator\"\n }\n ],\n \"name\": \"page-layout1\"\n }\n ],\n \"name\": \"document\"\n}`;\n\nexport const DOCUMENT_TYPES: AXMDocumentManagementDocumentTypeEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'risk-assessment-report',\n title: 'Risk Assessment Report',\n maxSize: 5000,\n isEncrypted: false,\n isMultiple: true,\n meta: [\n {\n name: 'accept-check-box',\n title: 'Agreement Box',\n interface: checkbox,\n },\n ],\n type: {\n selectedItems: [\n {\n name: 'image.jpg',\n title: 'Image/JPEG',\n icon: 'fa-light fa-image ax-text-purple-500',\n },\n {\n name: 'image.png',\n title: 'Image/PNG',\n icon: 'fa-light fa-image ax-text-purple-500',\n },\n {\n name: 'image.gif',\n title: 'Image/GIF',\n icon: 'fa-light fa-image ax-text-purple-500',\n },\n ],\n context: {\n image: {\n width: '22',\n height: '33',\n },\n gift: {\n duration: '11',\n },\n },\n },\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'any',\n title: 'Upload File',\n maxSize: 50000,\n isEncrypted: false,\n isMultiple: false,\n meta: [],\n type: {\n selectedItems: [],\n context: {\n audio: {\n bitrate: '320',\n duration: '180',\n },\n },\n },\n },\n];\n","import { AXMDocumentManagementDocumentTypeEntityModel, RootConfig } from '@acorex/modules/document-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { DOCUMENT_TYPES } from './document-type.mock';\n\n@Injectable()\nexport class AXCDocumentTypeDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMDocumentManagementDocumentTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.documentType.name}`,\n DOCUMENT_TYPES\n );\n }\n}\n","import { AXMDocumentManagementFolderEntityModel, AXMFolderServiceImpl } from '@acorex/modules/document-management';\n\nexport class AXMFolderMockService extends AXMFolderServiceImpl {\n private async updateParentFolders(folder: AXMDocumentManagementFolderEntityModel): Promise<void> {\n if (folder.parentId) {\n const parent = await this.getOne(folder.parentId);\n if (parent && parent.id) {\n if (!parent.folders) {\n parent.folders = [];\n }\n const existingIndex = parent.folders.findIndex((f) => f.id === folder.id);\n if (existingIndex === -1) {\n parent.folders.push(folder);\n } else {\n parent.folders[existingIndex] = folder;\n }\n\n await super.updateOne(parent.id, { folders: parent.folders });\n\n await this.updateParentFolders(parent);\n }\n }\n }\n\n private async removeFromParent(folder: AXMDocumentManagementFolderEntityModel): Promise<void> {\n if (folder.parentId) {\n const parent = await this.getOne(folder.parentId);\n if (parent && parent.id && parent.folders) {\n parent.folders = parent.folders.filter((f) => f.id !== folder.id);\n await super.updateOne(parent.id, { folders: parent.folders });\n await this.updateParentFolders(parent);\n }\n }\n }\n\n override async insertOne(request: Omit<AXMDocumentManagementFolderEntityModel, 'id'>): Promise<string> {\n const newId = await super.insertOne(request);\n const folderData = {\n ...request,\n id: newId,\n };\n await this.updateParentFolders(folderData);\n return newId;\n }\n\n override async updateOne(\n id: string,\n values: Partial<AXMDocumentManagementFolderEntityModel>\n ): Promise<AXMDocumentManagementFolderEntityModel> {\n const currentFolder = await this.getOne(id);\n\n const updatedFolder = await super.updateOne(id, values);\n\n if (currentFolder && values.parentId !== undefined && currentFolder.parentId !== values.parentId) {\n await this.removeFromParent(currentFolder);\n }\n\n await this.updateParentFolders(updatedFolder);\n\n return updatedFolder;\n }\n\n override async deleteOne(id: string): Promise<void> {\n const folderToDelete = await this.getOne(id);\n if (folderToDelete) {\n await this.removeFromParent(folderToDelete);\n await super.deleteOne(id);\n }\n }\n\n override async getPath(folderId: string, stopFolderId?: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n const path: AXMDocumentManagementFolderEntityModel[] = [];\n let currentId: string | null = folderId;\n\n while (currentId) {\n const folder = await this.getOne(currentId);\n if (!folder) {\n // Folder not found in persisted storage\n break;\n }\n path.push(folder);\n if (currentId == stopFolderId) {\n // Stop if we reach the specified stop folder ID\n break;\n }\n currentId = folder.parentId ?? null;\n }\n\n return path.reverse();\n }\n\n override async getOne(id: string): Promise<AXMDocumentManagementFolderEntityModel> {\n const folder = await super.getOne(id);\n if (folder) {\n folder.nodeCount = (folder.folders?.length ?? 0) + (folder.documents?.length ?? 0);\n folder.folders?.forEach((f) => {\n f.nodeCount = (f.folders?.length ?? 0) + (f.documents?.length ?? 0);\n });\n }\n return folder;\n }\n\n /**\n * Search folders with specified name using recursive method\n * @param searchTerm search term\n * @param rootFolderId ID of the root folder to start the search\n */\n override async searchFolders(\n searchTerm: string,\n rootFolderId: string\n ): Promise<AXMDocumentManagementFolderEntityModel[]> {\n const result: AXMDocumentManagementFolderEntityModel[] = [];\n await this.searchFoldersRecursive(searchTerm, rootFolderId, result);\n return result;\n }\n\n /**\n * Recursive folder search\n * @param searchTerm search term\n * @param folderId current folder ID\n * @param result results array\n */\n private async searchFoldersRecursive(\n searchTerm: string,\n folderId: string,\n result: AXMDocumentManagementFolderEntityModel[]\n ): Promise<void> {\n try {\n // Get current folder\n const currentFolder = await this.getOne(folderId);\n if (!currentFolder) {\n return;\n }\n\n // Check subfolders\n const subFolders = currentFolder.folders || [];\n\n // Add folders that match the search term\n for (const folder of subFolders) {\n if (folder.name.toLowerCase().includes(searchTerm.toLowerCase())) {\n result.push(folder);\n }\n\n // Recursive search in subfolders\n if (folder.id) {\n await this.searchFoldersRecursive(searchTerm, folder.id, result);\n }\n }\n } catch (error) {\n console.error('Error searching folders:', error);\n }\n }\n}\n","import {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementFolderEntityModel,\n AXMDocumentServiceImpl,\n} from '@acorex/modules/document-management';\nimport { AXMFolderMockService } from '../folder/folder.service';\n\nexport class AXMFileMockService extends AXMDocumentServiceImpl {\n private folderService: AXMFolderMockService;\n\n constructor() {\n super();\n this.folderService = new AXMFolderMockService();\n }\n\n private async updateParentFolder(file: AXMDocumentManagementDocumentEntityModel): Promise<void> {\n if (!file.parentId) {\n throw new Error('File must have a parent folder');\n }\n\n const parent = await this.folderService.getOne(file.parentId);\n if (parent && parent.id) {\n if (!parent.documents) {\n parent.documents = [];\n }\n const existingIndex = parent.documents.findIndex((f) => f.id === file.id);\n if (existingIndex === -1) {\n parent.documents.push(file);\n } else {\n parent.documents[existingIndex] = file;\n }\n\n await this.folderService.updateOne(parent.id, { documents: parent.documents });\n }\n }\n\n private async removeFromParent(file: AXMDocumentManagementDocumentEntityModel): Promise<void> {\n if (!file.parentId) {\n throw new Error('File must have a parent folder');\n }\n\n const parent = await this.folderService.getOne(file.parentId);\n if (parent && parent.id && parent.documents) {\n parent.documents = parent.documents.filter((f) => f.id !== file.id);\n await this.folderService.updateOne(parent.id, { documents: parent.documents });\n }\n }\n\n override async insertOne(request: Omit<AXMDocumentManagementDocumentEntityModel, 'id'>): Promise<string> {\n if (!request.parentId) {\n throw new Error('File must have a parent folder');\n }\n\n const newId = await super.insertOne(request);\n const fileData = {\n ...request,\n id: newId,\n };\n await this.updateParentFolder(fileData);\n return newId;\n }\n\n override async updateOne(\n id: string,\n values: Partial<AXMDocumentManagementDocumentEntityModel>\n ): Promise<AXMDocumentManagementDocumentEntityModel> {\n const currentFile = await this.getOne(id);\n const updatedFile = await super.updateOne(id, values);\n\n if (currentFile && values.parentId !== undefined && currentFile.parentId !== values.parentId) {\n await this.removeFromParent(currentFile);\n }\n\n await this.updateParentFolder(updatedFile);\n return updatedFile;\n }\n\n override async deleteOne(id: string): Promise<void> {\n const fileToDelete = await this.getOne(id);\n if (fileToDelete) {\n await this.removeFromParent(fileToDelete);\n await super.deleteOne(id);\n }\n }\n\n override async getPath(documentId: string, stop?: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n const file = await this.getOne(documentId);\n if (!file) {\n throw new Error('File not found');\n }\n return await this.folderService.getPath(file.parentId, stop);\n }\n\n override async searchFiles(\n searchTerm: string,\n rootFolderId: string\n ): Promise<AXMDocumentManagementDocumentEntityModel[]> {\n const result: AXMDocumentManagementDocumentEntityModel[] = [];\n await this.searchFilesRecursive(searchTerm, rootFolderId, result);\n return result;\n }\n\n /**\n * جستجوی بازگشتی فایل‌ها\n * @param searchTerm عبارت جستجو\n * @param folderId شناسه فولدر فعلی\n * @param result آرایه نتایج\n */\n private async searchFilesRecursive(\n searchTerm: string,\n folderId: string,\n result: AXMDocumentManagementDocumentEntityModel[]\n ): Promise<void> {\n try {\n const currentFolder = await this.folderService.getOne(folderId);\n if (!currentFolder) {\n return;\n }\n\n const files = currentFolder.documents || [];\n\n for (const file of files) {\n if (file.name.toLowerCase().includes(searchTerm.toLowerCase())) {\n result.push(file);\n }\n }\n\n const subFolders = currentFolder.folders || [];\n for (const folder of subFolders) {\n if (folder.id) {\n await this.searchFilesRecursive(searchTerm, folder.id, result);\n }\n }\n } catch (error) {\n console.error('Error searching files:', error);\n }\n }\n}\n","import { AXPApplication, AXPTenant } from '@acorex/platform/auth';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nexport interface MockRole {\n id: string;\n name: string;\n title: string;\n description?: string;\n permissions: string[];\n}\n\ninterface UserRole {\n id: string;\n title: string;\n}\n\nexport interface MockUser {\n id: string;\n username: string;\n firstname: string;\n lastname: string;\n nationalCode: string;\n mobile: string;\n roleIds: UserRole[];\n}\n\nexport const tenantsMock: AXPTenant[] = [\n {\n id: '99',\n name: 'acorex-tenant',\n title: 'ACoreX Platform Tenant',\n },\n {\n id: '1',\n name: 'demo-tenant',\n title: 'DEMO Tenant',\n },\n];\n\nexport const applications: AXPApplication[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'demo',\n title: 'DEMO Application',\n version: '1.0.0',\n editionName: 'Standard',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'platform',\n title: 'Platform Console',\n version: '1.0.0',\n editionName: 'Standard',\n },\n];\n\n// Now we only define role structure without permissions\nexport const mockRoleDefinitions = [\n {\n id: '1001',\n name: 'admin',\n title: 'Administrator',\n description: 'Full system access with all administrative privileges',\n permissions: [], // Will be filled dynamically\n },\n {\n id: '1002',\n name: 'manager',\n title: 'Manager',\n description: 'Manages users and has access to most system features',\n permissions: [],\n },\n {\n id: '1003',\n name: 'user',\n title: 'Regular User',\n description: 'Standard user with basic system access',\n permissions: [],\n },\n {\n id: '1004',\n name: 'readonly',\n title: 'Read Only',\n description: 'View-only access to specific system areas',\n permissions: [],\n },\n {\n id: '1005',\n name: 'support',\n title: 'Support Staff',\n description: 'Customer support and ticket management access',\n permissions: [],\n },\n {\n id: '1006',\n name: 'hr',\n title: 'Human Resources',\n description: 'Access to HR-related features and user management',\n permissions: [],\n },\n {\n id: '1007',\n name: 'finance',\n title: 'Finance',\n description: 'Access to financial reports and invoicing features',\n permissions: [],\n },\n {\n id: '1008',\n name: 'dev',\n title: 'Developer',\n description: 'Technical access to development and debugging features',\n permissions: [],\n },\n];\n\nexport const mockUsers: MockUser[] = [\n {\n id: AXPDataGenerator.uuid(),\n username: 'johndoe',\n firstname: 'John',\n lastname: 'Doe',\n nationalCode: '1234567890',\n mobile: '555-123-4567',\n roleIds: [\n { id: '1001', title: 'Administrator' },\n { id: '1002', title: 'Manager' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'janesmith',\n firstname: 'Jane',\n lastname: 'Smith',\n nationalCode: '0987654321',\n mobile: '555-987-6543',\n\n roleIds: [\n { id: '1002', title: 'Manager' },\n { id: '1006', title: 'Human Resources' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'mikeross',\n firstname: 'Mike',\n lastname: 'Ross',\n nationalCode: '2468135790',\n mobile: '555-246-8135',\n roleIds: [\n { id: '1008', title: 'Developer' },\n { id: '1005', title: 'Support Staff' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'emilyparker',\n firstname: 'Emily',\n lastname: 'Parker',\n nationalCode: '1357924680',\n mobile: '555-135-7924',\n roleIds: [{ id: '1003', title: 'Regular User' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'robertjohnson',\n firstname: 'Robert',\n lastname: 'Johnson',\n nationalCode: '9876543210',\n mobile: '555-987-6542',\n roleIds: [{ id: '1007', title: 'Finance' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'sarahwilliams',\n firstname: 'Sarah',\n lastname: 'Williams',\n nationalCode: '5678901234',\n mobile: '555-567-8901',\n roleIds: [{ id: '1004', title: 'Read Only' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'davidbrown',\n firstname: 'David',\n lastname: 'Brown',\n nationalCode: '3456789012',\n mobile: '555-345-6789',\n roleIds: [\n { id: '1003', title: 'Regular User' },\n { id: '1005', title: 'Support Staff' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'lisadavis',\n firstname: 'Lisa',\n lastname: 'Davis',\n nationalCode: '7890123456',\n mobile: '555-789-0123',\n roleIds: [{ id: '1006', title: 'Human Resources' }],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'michaelwilson',\n firstname: 'Michael',\n lastname: 'Wilson',\n nationalCode: '6789012345',\n mobile: '555-678-9012',\n roleIds: [\n { id: '1002', title: 'Manager' },\n { id: '1007', title: 'Finance' },\n ],\n },\n {\n id: AXPDataGenerator.uuid(),\n username: 'amandamiller',\n firstname: 'Amanda',\n lastname: 'Miller',\n nationalCode: '4567890123',\n mobile: '555-456-7890',\n roleIds: [{ id: '1008', title: 'Developer' }],\n },\n {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n username: 'root',\n firstname: 'Root',\n lastname: 'Root',\n nationalCode: '4567890124',\n mobile: '555-456-7891',\n roleIds: [{ id: '1001', title: 'Administrator' }],\n },\n];\n","import {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementDocumentTypeEntityModel,\n AXMDocumentManagementFolderEntityModel,\n} from '@acorex/modules/document-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { mockUsers } from '../../security-management/mock-data';\nimport { DOCUMENT_TYPES } from '../document-type/document-type.mock';\n\n// Section: Constants and Initial Setup\nconst checkbox =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"checkbox-editor\",\"name\":\"checkbox-editor1\",\"options\":{\"label\":\"i accept\",\"readonly\":false,\"disabled\":false},\"defaultValue\":false,\"path\":\"accept-check-box\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\n\nconst allTypes: AXMDocumentManagementDocumentTypeEntityModel[] = DOCUMENT_TYPES;\n\nconst tenantId = '99';\n\n// Section: Folder and File Initialization\nconst allFolders: AXMDocumentManagementFolderEntityModel[] = [];\nconst allFiles: AXMDocumentManagementDocumentEntityModel[] = [];\n\nfunction getRandomSize(): number {\n return AXPDataGenerator.number(500 * 1024, 10 * 1024 * 1024);\n}\n\n// Section: Root Folder Setup\nconst rootFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'WHS Documentation',\n color: '#FFFFFF',\n description: 'Root folder for WHS/OHS Documentation',\n parentId: undefined,\n isSystem: true,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n size: getRandomSize(),\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n};\n\n// Section: Tenant Folders\nconst rootTenantsFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'Tenants',\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder Of Tenants`,\n parentId: rootFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n folders: [],\n documents: [],\n};\nallFolders.push(rootTenantsFolder);\nrootFolder.folders?.push(rootTenantsFolder);\n\nconst mainTenantFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'ACoreX',\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder Of ACoreX`,\n parentId: rootTenantsFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n};\n\n// Section: Sample File Types\nconst sampleFileTypes = [\n {\n ext: 'pdf',\n titles: ['Risk Assessment Report', 'Safety Audit Checklist', 'Emergency Response Plan', 'Safety Training Manual'],\n },\n {\n ext: 'docx',\n titles: ['Incident Investigation Form', 'Safety Meeting Minutes', 'Hazard Report Template', 'Safe Work Procedure'],\n },\n {\n ext: 'xlsx',\n titles: ['Incident Statistics', 'Safety Training Matrix', 'PPE Inventory List', 'Risk Register'],\n },\n {\n ext: 'jpg',\n titles: ['Hazard Photo', 'Safety Signage', 'Emergency Exit Plan', 'PPE Requirements Chart'],\n },\n {\n ext: 'png',\n titles: ['Safety Infographic', 'Evacuation Map', 'Incident Scene Photo', 'Safety Procedure Diagram'],\n },\n {\n ext: 'pptx',\n titles: ['Safety Induction', 'WHS Training Module', 'Safety Committee Presentation', 'Toolbox Talk'],\n },\n];\n\n// Section: Common Files for Users\nconst commonFilesForUser = [\n 'Incident Report Form.docx',\n 'Investigation Guidelines.pdf',\n 'Corrective Action Register.xlsx',\n 'Monthly Statistics.xlsx',\n];\n\n// Section: Site and WHS Folders\nconst sites = ['Main Factory', 'Warehouse Complex', 'Office Building', 'Construction Site'];\n\nconst whsFolders = [\n {\n name: 'Policies and Procedures',\n subFolders: ['Safety Policies', 'Standard Operating Procedures', 'Emergency Procedures', 'Work Instructions'],\n commonFiles: [\n 'WHS Policy Manual.pdf',\n 'Emergency Response Plan.pdf',\n 'Safety Management System.docx',\n 'Risk Management Framework.pdf',\n ],\n },\n {\n name: 'Risk Management',\n subFolders: ['Risk Assessments', 'Hazard Reports', 'Control Measures', 'Safety Audits'],\n commonFiles: [\n 'Risk Assessment Matrix.xlsx',\n 'Hazard Register.xlsx',\n 'Control Measure Checklist.pdf',\n 'Audit Schedule.xlsx',\n ],\n },\n {\n name: 'Incident Management',\n subFolders: ['Incident Reports', 'Investigations', 'Corrective Actions', 'Statistics'],\n commonFiles: [\n 'Incident Report Form.docx',\n 'Investigation Guidelines.pdf',\n 'Corrective Action Register.xlsx',\n 'Monthly Statistics.xlsx',\n ],\n },\n {\n name: 'Training and Compliance',\n subFolders: ['Training Records', 'Certifications', 'Competency Assessments', 'Toolbox Talks'],\n commonFiles: [\n 'Training Matrix.xlsx',\n 'Induction Package.pdf',\n 'Competency Framework.docx',\n 'Training Calendar.xlsx',\n ],\n },\n {\n name: 'Safety Equipment',\n subFolders: ['PPE Records', 'Equipment Inspections', 'Maintenance Records', 'Safety Data Sheets'],\n commonFiles: [\n 'PPE Register.xlsx',\n 'Equipment Maintenance Schedule.xlsx',\n 'Safety Equipment Inventory.xlsx',\n 'PPE Guidelines.pdf',\n ],\n },\n];\n\n// Section: User Folders\nconst rootUsersFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: 'Users',\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder Of Users`,\n parentId: mainTenantFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n};\n\n// Section: User Specific Folders and Files\nmockUsers.forEach((user) => {\n const specificUserFolder: AXMDocumentManagementFolderEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: user.username,\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `Folder of User : ${user.firstname} ${user.lastname}`,\n parentId: rootUsersFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n userId: user.id,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n commonFilesForUser.forEach((fileName) => {\n const [name, extension] = fileName.split('.');\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: fileName,\n title: name,\n parentId: specificUserFolder.id!,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n fileId: `${window.location.origin}/assets/temp/${extension}/${Math.floor(Math.random() * 3) + 1}.${extension}`,\n meta: {\n type: extension == 'png' || extension == 'jpg' ? 'image' : extension,\n },\n };\n allFiles.push(file);\n specificUserFolder.documents?.push(file);\n });\n\n allFolders.push(specificUserFolder);\n rootUsersFolder.folders?.push(specificUserFolder);\n});\n\nmainTenantFolder.folders?.push(rootUsersFolder);\nallFolders.push(rootUsersFolder);\n\n// Section: Site Folders and Role Specific Folders\nsites.forEach((site) => {\n const siteFolderId = AXPDataGenerator.uuid();\n const siteFolder: AXMDocumentManagementFolderEntityModel = {\n id: siteFolderId,\n name: site,\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `WHS Documentation for ${site}`,\n parentId: mainTenantFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n userId: undefined,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n const safetyRoles = ['Safety Officer', 'Site Supervisor', 'WHS Representative'];\n\n safetyRoles.forEach((role) => {\n const roleFolderId = AXPDataGenerator.uuid();\n const roleFolder: AXMDocumentManagementFolderEntityModel = {\n id: roleFolderId,\n name: role,\n color: '#FFFFFF',\n size: getRandomSize(),\n description: `${role} Documentation`,\n parentId: siteFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n userId: role.toLowerCase().replace(/\\s+/g, '_'),\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n sampleFileTypes.forEach((fileType) => {\n fileType.titles.forEach((title) => {\n if (Math.random() > 0.5) {\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: `${title.toLowerCase().replace(/\\s+/g, '-')}.${fileType.ext}`,\n title: title,\n parentId: roleFolderId,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n fileId: `${window.location.origin}/assets/temp/${fileType.ext}/${Math.floor(Math.random() * 3) + 1}.${\n fileType.ext\n }`,\n meta: {\n type: fileType.ext == 'png' || fileType.ext == 'jpg' ? 'image' : fileType.ext,\n },\n };\n allFiles.push(file);\n roleFolder.documents?.push(file);\n }\n });\n });\n\n siteFolder.folders?.push(roleFolder);\n allFolders.push(roleFolder);\n });\n\n // Section: WHS Department Folders\n whsFolders.forEach((dept) => {\n const deptFolderId = AXPDataGenerator.uuid();\n const deptFolder: AXMDocumentManagementFolderEntityModel = {\n id: deptFolderId,\n name: dept.name,\n color: '#' + Math.floor(Math.random() * 16777215).toString(16),\n size: getRandomSize(),\n description: `${dept.name} documentation`,\n parentId: siteFolder.id,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n documentTypes: [allTypes[0]],\n };\n\n dept.commonFiles.forEach((fileName) => {\n const [name, extension] = fileName.split('.');\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: fileName,\n title: name,\n parentId: deptFolderId,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n fileId: `${window.location.origin}/assets/temp/${extension}/${Math.floor(Math.random() * 3) + 1}.${extension}`,\n meta: {\n type: extension == 'png' || extension == 'jpg' ? 'image' : extension,\n },\n };\n allFiles.push(file);\n deptFolder.documents?.push(file);\n });\n\n dept.subFolders.forEach((subFolderName) => {\n const subFolderId = AXPDataGenerator.uuid();\n const subFolder: AXMDocumentManagementFolderEntityModel = {\n id: subFolderId,\n name: subFolderName,\n color: '#' + Math.floor(Math.random() * 16777215).toString(16),\n size: getRandomSize(),\n description: `${subFolderName} documentation`,\n parentId: deptFolderId,\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n tenantId: tenantId,\n folders: [],\n documents: [],\n documentTypes: [allTypes[1]],\n };\n\n sampleFileTypes.forEach((fileType) => {\n fileType.titles.forEach((title) => {\n if (Math.random() > 0.7) {\n const file: AXMDocumentManagementDocumentEntityModel = {\n id: AXPDataGenerator.uuid(),\n name: `${title.toLowerCase().replace(/\\s+/g, '-')}.${fileType.ext}`,\n title: title,\n parentId: subFolderId,\n fileId: `${window.location.origin}/assets/temp/${fileType.ext}/${Math.floor(Math.random() * 3) + 1}.${\n fileType.ext\n }`,\n size: getRandomSize(),\n createdAt: new Date(),\n updatedAt: new Date(),\n createdBy: 'system',\n updatedBy: 'system',\n meta: {\n type: fileType.ext == 'png' || fileType.ext == 'jpg' ? 'image' : fileType.ext,\n },\n };\n allFiles.push(file);\n subFolder.documents?.push(file);\n }\n });\n });\n\n deptFolder.folders?.push(subFolder);\n allFolders.push(subFolder);\n });\n\n siteFolder.folders?.push(deptFolder);\n allFolders.push(deptFolder);\n });\n\n mainTenantFolder.folders?.push(siteFolder);\n allFolders.push(siteFolder);\n});\n\nrootTenantsFolder.folders?.push(mainTenantFolder);\nallFolders.push(mainTenantFolder);\n\n// Section: Export Mock Data\nallFolders.push(rootFolder);\n\nexport const FOLDER_MOCK_DATA = allFolders;\nexport const FILE_MOCK_DATA = allFiles;\n","import {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementFolderEntityModel,\n RootConfig,\n} from '@acorex/modules/document-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { FILE_MOCK_DATA, FOLDER_MOCK_DATA } from './folder.mock.data';\n\n@Injectable()\nexport class AXCFolderDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMDocumentManagementFolderEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.folder.name}`,\n FOLDER_MOCK_DATA\n );\n await this.storageService.initial<AXMDocumentManagementDocumentEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.document.name}`,\n FILE_MOCK_DATA\n );\n }\n}\n","import { AXPSearchProvider, AXPSearchResult } from '@acorex/platform/common';\nimport Dexie from 'dexie';\n\nexport class EntitySearchProvider implements AXPSearchProvider {\n async search(text: string): Promise<AXPSearchResult[]> {\n const db = new Dexie('ACoreXPlatform');\n const lowerText = text.toLowerCase(); // Normalize search text for case-insensitive search\n db.version(1).stores({\n 'entity-store': '++id, entityName, [entityName+id]',\n });\n\n // Fetch all records from the entity-store table\n const allRecords = await db.table('entity-store').toArray();\n // Filter records based on the search text\n const filteredRecords = allRecords.filter((record) => this.shallowSearch(record, lowerText));\n return filteredRecords.map<AXPSearchResult>((record) => ({\n group: `Module.${record.entityName}`,\n data: record,\n command: {\n // 'open-entity': {\n // entity: record.entityName,\n // data: record,\n // },\n name: 'open-entity',\n options: {\n entity: record.entityName,\n data: record,\n }\n },\n }));\n }\n\n // Helper function for shallow search\n shallowSearch(obj: any, text: string): boolean {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n\n return Object.entries(obj).some(([key, value]) => {\n if (key != 'id' && key != 'entityName') {\n if (typeof value === 'string' || typeof value === 'number') {\n return value.toString().toLowerCase().includes(text);\n }\n return false;\n } else {\n return false;\n }\n });\n }\n}\n","import { AXMFormTemplateCategoryEntityModel, AXMCreateFormTemplateDto, AXMFormTemplateTypes } from \"@acorex/modules/form-template-management\";\nimport { AXPDataGenerator } from \"@acorex/platform/core\";\n\nfunction generateCategories(): AXMFormTemplateCategoryEntityModel[] {\n const categories: AXMFormTemplateCategoryEntityModel[] = [];\n\n const rootCategories = [\n 'Risk Assessment',\n 'Servicing',\n 'Checklists',\n 'Incident Reporting',\n 'Emergency Procedures',\n 'Hazardous Materials',\n 'PPE (Personal Protective Equipment)',\n 'Workplace Ergonomics',\n 'Equipment Safety',\n 'Fire Safety',\n 'First Aid',\n 'Manual Handling',\n 'Electrical Safety',\n 'Confined Spaces',\n 'Chemical Safety',\n ];\n\n rootCategories.forEach((title) => {\n const categoryId = AXPDataGenerator.uuid();\n categories.push({ id: categoryId, title, parentId: undefined, childCount: 0 });\n });\n\n const childCategories = [\n {\n parent: 'Risk Assessment',\n children: ['Job Safety Analysis', 'Task Risk Assessment', 'General Hazard Identification'],\n },\n { parent: 'Incident Reporting', children: ['Near Miss Reports', 'Accident Reports', 'Injury Logs'] },\n {\n parent: 'Emergency Procedures',\n children: ['Fire Evacuation', 'Medical Emergencies', 'Chemical Spill Response'],\n },\n {\n parent: 'Hazardous Materials',\n children: ['Material Safety Data Sheets', 'Storage & Handling', 'Hazardous Waste Disposal'],\n },\n {\n parent: 'PPE (Personal Protective Equipment)',\n children: ['Protective Gloves', 'Eye Protection', 'Hearing Protection'],\n },\n { parent: 'Workplace Ergonomics', children: ['Seating Arrangements', 'Lifting Techniques', 'Workstation Setup'] },\n { parent: 'Equipment Safety', children: ['Machine Guarding', 'Lockout/Tagout', 'Inspection Procedures'] },\n { parent: 'Fire Safety', children: ['Fire Extinguishers', 'Fire Drills', 'Smoke Alarms'] },\n { parent: 'First Aid', children: ['CPR Training', 'First Aid Kits', 'Emergency Contacts'] },\n { parent: 'Manual Handling', children: ['Proper Lifting', 'Load Limits', 'Back Injury Prevention'] },\n {\n parent: 'Electrical Safety',\n children: ['Grounding & Wiring', 'High Voltage Procedures', 'Portable Equipment Checks'],\n },\n { parent: 'Confined Spaces', children: ['Permit-Required Spaces', 'Ventilation Protocols', 'Rescue Plans'] },\n { parent: 'Chemical Safety', children: ['Chemical Labeling', 'Exposure Limits', 'Emergency Showers'] },\n ];\n\n childCategories.forEach(({ parent, children }) => {\n const parentCat = categories.find((c) => c.title === parent);\n if (parentCat) {\n children.forEach((title) => {\n categories.push({ id: AXPDataGenerator.uuid(), title, parentId: parentCat.id, childCount: 0 });\n });\n parentCat.childCount = children.length;\n }\n });\n\n return categories;\n}\n\nexport const TEMPLATE_CATEGORIES = generateCategories();\n\nfunction generateTemplates(): AXMCreateFormTemplateDto[] {\n const templates: AXMCreateFormTemplateDto[] = [];\n\n AXPDataGenerator.pick(TEMPLATE_CATEGORIES, 5).forEach((category) => {\n const numberOfTemplates = 2; // Generate 1 to 5 templates per category\n\n for (let i = 0; i < numberOfTemplates; i++) {\n // Assuming 10 is for Form and 20 is for Widget\n const type = i % 2 === 0 ? AXMFormTemplateTypes.Form : AXMFormTemplateTypes.Widget;\n templates.push({\n id: AXPDataGenerator.uuid(),\n templateId: `Document-${i + 1}`,\n template: null!,\n typeId: type.id,\n type: type,\n title: `${category.title} Template ${i + 1}`,\n categoryIds: [category.id!],\n categories: [category],\n description: `Description for ${category.title} Template ${i + 1}`,\n createdAt: new Date(),\n updatedAt: new Date(),\n } as any);\n }\n });\n\n return templates;\n}\n\nexport const TEMPLATE_FORM_TEMPLATES = generateTemplates();\n\n\n","import { AXMFormTemplateCategoryEntityModel, AXMCreateFormTemplateDto, RootConfig } from '@acorex/modules/form-template-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { TEMPLATE_CATEGORIES, TEMPLATE_FORM_TEMPLATES } from './mock.data';\n\n@Injectable()\nexport class AXPFormTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMFormTemplateCategoryEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n TEMPLATE_CATEGORIES\n );\n\n await this.storageService.initial<AXMCreateFormTemplateDto>(\n `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n TEMPLATE_FORM_TEMPLATES\n );\n }\n\n}\n","import { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXPFormTemplateCategoryDataSeeder } from './data.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\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 { AXMLogManagementAxpLogEntityModel } from '@acorex/modules/log-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const projectMock: AXMLogManagementAxpLogEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n level: 'Error',\n message: 'Cannot access a disposed object.',\n actionName: 'ACoreX.OIDC.AuthorizeController.GetToken (ACoreX.OIDC.HttpApi)',\n operation: 'CheckPassword',\n category: 'Authentication',\n tenantId: 'b1e7040f-f219-2f64-2893-3a0e9c2315de',\n tenantName: 'ark',\n userId: 'fb0c9a89-f57f-43dd-82c2-b50992bdde8c',\n utcTimestamp: '2025-04-15 11:53:46Z',\n type:'auth',\n properties: {\n actionId: '50b5c660-bcc8-45bc-a111-42eab92c3adb',\n correlationId: 'de5ccac8485c4c7f9afaf15603c36227',\n requestId: '0HNBS2G24BO4E:00000002',\n requestPath: '/Token/GetToken',\n sourceContext: 'Microsoft.AspNetCore.Identity.UserManager',\n },\n },\n {\n id: AXPDataGenerator.uuid(),\n level: '2Error',\n message: '2Cannot access a disposed object.',\n actionName: '2ACoreX.OIDC.AuthorizeController.GetToken (ACoreX.OIDC.HttpApi)',\n operation: '2CheckPassword',\n category: '2Authentication',\n tenantId: '2b1e7040f-f219-2f64-2893-3a0e9c2315de',\n tenantName: '2ark',\n userId: '2fb0c9a89-f57f-43dd-82c2-b50992bdde8c',\n utcTimestamp: '2025-04-15 11:53:46Z',\n properties: {\n actionId: '50b5c660-bcc8-45bc-a111-42eab92c3adb',\n correlationId: 'de5ccac8485c4c7f9afaf15603c36227',\n requestId: '0HNBS2G24BO4E:00000002',\n requestPath: '2/Token/GetToken',\n sourceContext: '2Microsoft.AspNetCore.Identity.UserManager',\n },\n },\n {\n id: AXPDataGenerator.uuid(),\n level: '3Error',\n message: '3Cannot access a disposed object.',\n actionName: '3ACoreX.OIDC.AuthorizeController.GetToken (ACoreX.OIDC.HttpApi)',\n operation: '3CheckPassword',\n category: '3Authentication',\n tenantId: '3b1e7040f-f219-2f64-2893-3a0e9c2315de',\n tenantName: '3ark',\n userId: '3fb0c9a89-f57f-43dd-82c2-b50992bdde8c',\n utcTimestamp: '2025-04-15 11:53:46Z',\n properties: {\n actionId: '50b5c660-bcc8-45bc-a111-42eab92c3adb',\n correlationId: 'de5ccac8485c4c7f9afaf15603c36227',\n requestId: '0HNBS2G24BO4E:00000002',\n requestPath: '3/Token/GetToken',\n sourceContext: '3Microsoft.AspNetCore.Identity.UserManager',\n },\n },\n];\n","import { AXMLogManagementAxpLogEntityModel, RootConfig } from '@acorex/modules/log-management';\n\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { projectMock } from './log.mock';\n// import { AXMLogManagementAxpLogEntityModel } from 'libs/modules/log-management/src/lib/entities/axp-log';\n\n@Injectable()\nexport class AXMLogDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMLogManagementAxpLogEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.axpLog.name}`,\n projectMock\n );\n }\n}\n","import { AXMSecurityManagementUsersEntityModel, RootConfig } from '@acorex/modules/security-management';\nimport {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { inject, 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 private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n\n get name(): string {\n return 'user-pass';\n }\n\n async signin(credentials: MockUserPassCredentials): Promise<AXPSignInResult> {\n const entityRef = await this.entityRegistery.resolve(RootConfig.module.name, RootConfig.entities.users.name);\n\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n\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\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 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 } else {\n const func = entityRef?.queries.list?.execute as Function;\n const users = await func({\n skip: 0,\n take: 1000,\n });\n const currentUser: AXMSecurityManagementUsersEntityModel = users.items.find(\n (u: AXMSecurityManagementUsersEntityModel) =>\n u.username === credentials.username && u.password === credentials.password\n );\n\n if (currentUser) {\n const user: AXPUser = {\n id: currentUser.id,\n name: currentUser.username,\n title: `${currentUser.firstname} ${currentUser.lastname}`,\n };\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\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 } from '@acorex/platform/common';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\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 { AXMNotificationManagementTemplateEntityModel } from '@acorex/modules/notification-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const NOTIFICATION_TEMPLATES: AXMNotificationManagementTemplateEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'rest-password-admin',\n title: 'Rest Password To Admin',\n description: 'when user rest password notify to admin',\n },\n];\n","import { AXMNotificationManagementTemplateEntityModel, RootConfig } from '@acorex/modules/notification-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { NOTIFICATION_TEMPLATES } from './notification-management.mock.data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXCNotificationTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMNotificationManagementTemplateEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n NOTIFICATION_TEMPLATES\n );\n }\n}\n","import { AXMOrganizationNode, AXMOrganizationNodeType } from '@acorex/modules/organization-management';\n\nexport const SOFTWARE_COMPANY_ORGANIZATION: AXMOrganizationNode = {\n id: '1',\n title: 'Tech Innovators Inc.',\n subtitle: 'Software Development Company',\n description: 'A leading software company specializing in SaaS solutions.',\n icon: 'fa-building',\n type: AXMOrganizationNodeType.Company, // Updated type here\n isExpanded: true,\n children: [\n {\n id: '2',\n title: 'United States',\n subtitle: 'Country Headquarters',\n description: 'Main operations in the US.',\n icon: 'fa-flag-usa',\n type: AXMOrganizationNodeType.Country, // Updated type here\n parentId: '1',\n entity: {\n id: 'US',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '3',\n title: 'San Francisco Office',\n subtitle: 'Head Office & Development Hub',\n description: 'Main engineering and corporate hub.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City, // Updated type here\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '4',\n title: 'Engineering Division',\n subtitle: 'Software Development',\n description: 'Responsible for product development.',\n icon: 'fa-code',\n type: AXMOrganizationNodeType.Division, // Updated type here\n parentId: '3',\n isExpanded: true,\n children: [\n {\n id: '5',\n title: 'Backend Team',\n subtitle: 'Handles backend systems',\n description: 'Develops APIs and database architecture.',\n icon: 'fa-database',\n type: AXMOrganizationNodeType.Department, // Updated type here\n parentId: '4',\n children: [\n {\n id: '6',\n title: 'Backend Developer',\n subtitle: 'Software Engineer',\n description: 'Builds and maintains backend services.',\n icon: 'fa-server',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '5',\n children: [\n {\n id: '6-1',\n title: 'Jane Smith',\n subtitle: 'Backend Developer',\n description: 'Expert in Node.js and database architecture.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n {\n id: '6-2',\n title: 'Michael Johnson',\n subtitle: 'Backend Developer',\n description: 'Specializes in API development and microservices.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n ],\n },\n ],\n },\n {\n id: '8',\n title: 'Frontend Team',\n subtitle: 'Handles frontend applications',\n description: 'Develops UI/UX for web and mobile apps.',\n icon: 'fa-paint-brush',\n type: AXMOrganizationNodeType.Department, // Updated type here\n parentId: '4',\n children: [\n {\n id: '9',\n title: 'Frontend Developer',\n subtitle: 'Software Engineer',\n description: 'Works on UI/UX and frontend logic.',\n icon: 'fa-laptop-code',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '8',\n children: [\n {\n id: '9-1',\n title: 'Emma Davis',\n subtitle: 'Frontend Developer',\n description: 'Expert in React and modern UI frameworks.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '9',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '10',\n title: 'New York Office',\n subtitle: 'East Coast Operations',\n description: 'Handles business development and sales.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City, // Updated type here\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '12',\n title: 'Sales Division',\n subtitle: 'Business Growth and Partnerships',\n description: 'Responsible for client acquisitions and revenue growth.',\n icon: 'fa-handshake',\n type: AXMOrganizationNodeType.Division, // Updated type here\n parentId: '10',\n children: [\n {\n id: '13',\n title: 'Sales Manager',\n subtitle: 'Leads the sales team',\n description: 'Manages key partnerships and sales strategies.',\n icon: 'fa-chart-line',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '12',\n children: [\n {\n id: '13-1',\n title: 'Robert Wilson',\n subtitle: 'Senior Sales Executive',\n description: 'Focuses on enterprise client relationships.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n {\n id: '13-2',\n title: 'Lisa Brown',\n subtitle: 'Sales Representative',\n description: 'Handles client negotiations and sales leads.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '14',\n title: 'India',\n subtitle: 'Regional Office',\n description: 'Call Center & Customer Support Operations.',\n icon: 'fa-flag',\n type: AXMOrganizationNodeType.Country, // Updated type here\n parentId: '1',\n entity: {\n id: 'IN',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '15',\n title: 'Bangalore Office',\n subtitle: 'Support & Call Center Hub',\n description: 'Handles customer support and service inquiries.',\n icon: 'fa-phone',\n type: AXMOrganizationNodeType.City, // Updated type here\n parentId: '14',\n isExpanded: true,\n children: [\n {\n id: '16',\n title: 'Customer Support Division',\n subtitle: 'Technical Support',\n description: 'Responsible for customer service and tech support.',\n icon: 'fa-headset',\n type: AXMOrganizationNodeType.Division, // Updated type here\n parentId: '15',\n children: [\n {\n id: '17',\n title: 'Call Center Representative',\n subtitle: 'Support Agent',\n description: 'Answers customer questions and resolves issues.',\n icon: 'fa-user-headset',\n type: AXMOrganizationNodeType.Position, // Updated type here\n parentId: '16',\n children: [\n {\n id: '17-1',\n title: 'Rahul Sharma',\n subtitle: 'Call Center Representative',\n description: 'Provides top-notch customer support.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-2',\n title: 'Priya Kapoor',\n subtitle: 'Call Center Representative',\n description: 'Handles inquiries and customer escalations.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-3',\n title: 'Amit Verma',\n subtitle: 'Call Center Supervisor',\n description: 'Manages a team of call center representatives.',\n icon: 'fa-user-tie',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-4',\n title: 'Neha Mehta',\n subtitle: 'Quality Analyst',\n description: 'Monitors and evaluates customer interactions.',\n icon: 'fa-user-check',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-5',\n title: 'Vikram Singh',\n subtitle: 'Technical Support Specialist',\n description: 'Provides assistance with technical issues.',\n icon: 'fa-user-cog',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n};\n\nexport const PERSIAN_COMPANY_ORGANIZATION: AXMOrganizationNode = {\n id: '1',\n title: 'شرکت فناوری اطلاعات نوآوران',\n subtitle: 'شرکت توسعه نرم‌افزار',\n description: 'یک شرکت پیشرو در زمینه ارائه راه‌حل‌های نرم‌افزاری SaaS.',\n icon: 'fa-building',\n type: AXMOrganizationNodeType.Company,\n isExpanded: true,\n children: [\n {\n id: '2',\n title: 'ایران',\n subtitle: 'دفتر مرکزی',\n description: 'دفتر اصلی شرکت در ایران.',\n icon: 'fa-flag',\n type: AXMOrganizationNodeType.Country,\n parentId: '1',\n entity: {\n id: 'IR',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '3',\n title: 'دفتر تهران',\n subtitle: 'مرکز توسعه و مدیریت',\n description: 'دفتر اصلی توسعه و مدیریت شرکت.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City,\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '4',\n title: 'تیم مهندسی',\n subtitle: 'توسعه نرم‌افزار',\n description: 'مسئول توسعه محصولات نرم‌افزاری.',\n icon: 'fa-code',\n type: AXMOrganizationNodeType.Division,\n parentId: '3',\n isExpanded: true,\n children: [\n {\n id: '5',\n title: 'تیم بک‌اند',\n subtitle: 'مدیریت سیستم‌های بک‌اند',\n description: 'توسعه API و معماری پایگاه داده.',\n icon: 'fa-database',\n type: AXMOrganizationNodeType.Department,\n parentId: '4',\n children: [\n {\n id: '6',\n title: 'توسعه‌دهنده بک‌اند',\n subtitle: 'مهندس نرم‌افزار',\n description: 'ساخت و نگهداری سرویس‌های بک‌اند.',\n icon: 'fa-server',\n type: AXMOrganizationNodeType.Position,\n parentId: '5',\n children: [\n {\n id: '6-1',\n title: 'علی رضایی',\n subtitle: 'توسعه‌دهنده بک‌اند',\n description: 'متخصص در Node.js و معماری پایگاه داده.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n {\n id: '6-2',\n title: 'سارا محمدی',\n subtitle: 'توسعه‌دهنده بک‌اند',\n description: 'متخصص در توسعه API و میکروسرویس‌ها.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '6',\n },\n ],\n },\n ],\n },\n {\n id: '8',\n title: 'تیم فرانت‌اند',\n subtitle: 'توسعه رابط کاربری',\n description: 'توسعه UI/UX برای وب و اپلیکیشن‌های موبایل.',\n icon: 'fa-paint-brush',\n type: AXMOrganizationNodeType.Department,\n parentId: '4',\n children: [\n {\n id: '9',\n title: 'توسعه‌دهنده فرانت‌اند',\n subtitle: 'مهندس نرم‌افزار',\n description: 'کار بر روی رابط کاربری و منطق فرانت‌اند.',\n icon: 'fa-laptop-code',\n type: AXMOrganizationNodeType.Position,\n parentId: '8',\n children: [\n {\n id: '9-1',\n title: 'نازنین کریمی',\n subtitle: 'توسعه‌دهنده فرانت‌اند',\n description: 'متخصص در React و فریم‌ورک‌های مدرن UI.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '9',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '10',\n title: 'دفتر اصفهان',\n subtitle: 'تیم فروش و پشتیبانی',\n description: 'مسئول توسعه کسب‌وکار و فروش.',\n icon: 'fa-city',\n type: AXMOrganizationNodeType.City,\n parentId: '2',\n isExpanded: true,\n children: [\n {\n id: '12',\n title: 'تیم فروش',\n subtitle: 'توسعه کسب‌وکار و شراکت‌ها',\n description: 'مسئول جذب مشتری و رشد درآمد.',\n icon: 'fa-handshake',\n type: AXMOrganizationNodeType.Division,\n parentId: '10',\n children: [\n {\n id: '13',\n title: 'مدیر فروش',\n subtitle: 'رهبری تیم فروش',\n description: 'مدیریت شراکت‌های کلیدی و استراتژی‌های فروش.',\n icon: 'fa-chart-line',\n type: AXMOrganizationNodeType.Position,\n parentId: '12',\n children: [\n {\n id: '13-1',\n title: 'محمد حسینی',\n subtitle: 'مدیر ارشد فروش',\n description: 'متمرکز بر روابط با مشتریان سازمانی.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n {\n id: '13-2',\n title: 'زهرا علی‌زاده',\n subtitle: 'نماینده فروش',\n description: 'مدیریت مذاکرات و سرنخ‌های فروش.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '13',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n id: '14',\n title: 'ترکیه',\n subtitle: 'دفتر منطقه‌ای',\n description: 'مرکز تماس و پشتیبانی مشتریان.',\n icon: 'fa-flag',\n type: AXMOrganizationNodeType.Country,\n parentId: '1',\n entity: {\n id: 'TR',\n source: 'Country',\n },\n isExpanded: true,\n children: [\n {\n id: '15',\n title: 'دفتر استانبول',\n subtitle: 'مرکز پشتیبانی و تماس',\n description: 'مسئول پشتیبانی و پاسخ به درخواست‌های مشتریان.',\n icon: 'fa-phone',\n type: AXMOrganizationNodeType.City,\n parentId: '14',\n isExpanded: true,\n children: [\n {\n id: '16',\n title: 'تیم پشتیبانی مشتریان',\n subtitle: 'پشتیبانی فنی',\n description: 'مسئول خدمات مشتری و پشتیبانی فنی.',\n icon: 'fa-headset',\n type: AXMOrganizationNodeType.Division,\n parentId: '15',\n children: [\n {\n id: '17',\n title: 'نماینده مرکز تماس',\n subtitle: 'کارشناس پشتیبانی',\n description: 'پاسخ به سوالات و حل مشکلات مشتریان.',\n icon: 'fa-user-headset',\n type: AXMOrganizationNodeType.Position,\n parentId: '16',\n children: [\n {\n id: '17-1',\n title: 'مریم یلماز',\n subtitle: 'نماینده مرکز تماس',\n description: 'ارائه پشتیبانی عالی به مشتریان.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-2',\n title: 'احمد دمیر',\n subtitle: 'نماینده مرکز تماس',\n description: 'مدیریت درخواست‌ها و پیگیری‌های مشتریان.',\n icon: 'fa-user',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-3',\n title: 'فاطمه آکین',\n subtitle: 'سرپرست مرکز تماس',\n description: 'مدیریت تیم نمایندگان مرکز تماس.',\n icon: 'fa-user-tie',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-4',\n title: 'علی کایا',\n subtitle: 'تحلیلگر کیفیت',\n description: 'نظارت و ارزیابی تعاملات مشتریان.',\n icon: 'fa-user-check',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n {\n id: '17-5',\n title: 'زینب ارسلان',\n subtitle: 'کارشناس پشتیبانی فنی',\n description: 'ارائه کمک‌های فنی به مشتریان.',\n icon: 'fa-user-cog',\n type: AXMOrganizationNodeType.Employee,\n parentId: '17',\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n};\n","import {\n AXMOrganizationManagementBranchEntityModel,\n AXMOrganizationManagementChartEntityModel,\n AXMOrganizationManagementDepartmentEntityModel,\n AXMOrganizationManagementDivisionEntityModel,\n AXMOrganizationManagementEmployeeEntityModel,\n AXMOrganizationManagementEmploymentTypeEntityModel,\n AXMOrganizationManagementPositionEntityModel,\n AXMOrganizationManagementRoleEntityModel,\n AXMOrganizationManagementTeamEntityModel,\n RootConfig,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { SOFTWARE_COMPANY_ORGANIZATION } from './org-chart.mock';\n\n@Injectable()\nexport class AXCOrganizationManagementDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n const uuid = AXPDataGenerator.uuid;\n\n // Departments\n await this.storageService.initial<AXMOrganizationManagementDepartmentEntityModel>(\n RootConfig.entities.department.source,\n [\n {\n id: uuid(),\n title: 'Software Development',\n description: 'Responsible for designing, developing, and maintaining software applications.',\n manager: {\n id: uuid(),\n firstname: 'Michael',\n lastname: 'Johnson',\n employeeCode: 'EMP003',\n },\n country: 'USA',\n province: 'New York',\n city: 'New York City',\n },\n {\n id: uuid(),\n title: 'Human Resources',\n description: 'Manages employee relations, hiring processes, and company policies.',\n manager: {\n id: uuid(),\n firstname: 'Lisa',\n lastname: 'Brown',\n employeeCode: 'EMP010',\n },\n country: 'USA',\n province: 'California',\n city: 'Los Angeles',\n },\n {\n id: uuid(),\n title: 'IT & Infrastructure',\n description: 'Handles IT systems, security, and infrastructure management.',\n manager: {\n id: uuid(),\n firstname: 'Robert',\n lastname: 'Wilson',\n employeeCode: 'EMP009',\n },\n country: 'Germany',\n province: 'Berlin',\n city: 'Berlin',\n },\n {\n id: uuid(),\n title: 'Project Management',\n description: 'Oversees project execution and ensures successful delivery.',\n manager: {\n id: uuid(),\n firstname: 'Jane',\n lastname: 'Smith',\n employeeCode: 'EMP002',\n },\n country: 'Japan',\n province: 'Tokyo',\n city: 'Tokyo',\n },\n ]\n );\n\n // Divisions\n await this.storageService.initial<AXMOrganizationManagementDivisionEntityModel>(\n RootConfig.entities.division.source,\n [\n {\n id: uuid(),\n title: 'Technology Division',\n description: 'Responsible for all technology-related projects and innovations.',\n manager: {\n id: uuid(),\n firstname: 'Michael',\n lastname: 'Johnson',\n employeeCode: 'EMP003',\n },\n country: 'USA',\n province: 'New York',\n city: 'New York City',\n },\n {\n id: uuid(),\n title: 'Operations Division',\n description: 'Handles operational processes, logistics, and resource management.',\n manager: {\n id: uuid(),\n firstname: 'Robert',\n lastname: 'Wilson',\n employeeCode: 'EMP009',\n },\n country: 'Germany',\n province: 'Berlin',\n city: 'Berlin',\n },\n {\n id: uuid(),\n title: 'Human Capital Division',\n description: 'Manages HR policies, recruitment, and employee relations.',\n manager: {\n id: uuid(),\n firstname: 'Lisa',\n lastname: 'Brown',\n employeeCode: 'EMP010',\n },\n country: 'Japan',\n province: 'Tokyo',\n city: 'Tokyo',\n },\n ]\n );\n\n // Branches\n await this.storageService.initial<AXMOrganizationManagementBranchEntityModel>(RootConfig.entities.branch.source, [\n {\n id: uuid(),\n title: 'Headquarters',\n code: 'BR_HQ',\n manager: {\n id: uuid(),\n firstname: 'Michael',\n lastname: 'Johnson',\n employeeCode: 'EMP003',\n },\n country: 'USA',\n province: 'New York',\n city: 'New York City',\n description: 'The main headquarters located in New York City, overseeing all global operations.',\n },\n {\n id: uuid(),\n title: 'European Branch',\n code: 'BR_EU',\n manager: {\n id: uuid(),\n firstname: 'Robert',\n lastname: 'Wilson',\n employeeCode: 'EMP009',\n },\n country: 'Germany',\n province: 'Berlin',\n city: 'Berlin',\n description: 'The European branch located in Berlin, responsible for all business in Europe.',\n },\n {\n id: uuid(),\n title: 'Asia-Pacific Branch',\n code: 'BR_APAC',\n manager: {\n id: uuid(),\n firstname: 'Lisa',\n lastname: 'Brown',\n employeeCode: 'EMP010',\n },\n country: 'Japan',\n province: 'Tokyo',\n city: 'Tokyo',\n description: 'The Asia-Pacific branch located in Tokyo, managing operations in the APAC region.',\n },\n ]);\n\n // Positions\n await this.storageService.initial<AXMOrganizationManagementPositionEntityModel>(\n RootConfig.entities.position.source,\n [\n {\n id: uuid(),\n title: 'Backend Developer',\n description: 'A role responsible for server-side logic and integration with databases.',\n },\n {\n id: uuid(),\n title: 'Frontend Developer',\n description: 'A role focused on crafting engaging user interfaces and client-side features.',\n },\n {\n id: uuid(),\n title: 'Sales Manager',\n description: 'A leadership position overseeing sales strategies and team performance.',\n },\n {\n id: uuid(),\n title: 'Sales Representative',\n description: 'A role tasked with building client relationships and closing sales deals.',\n },\n {\n id: uuid(),\n title: 'Call Center Representative',\n description: 'A position dedicated to managing inbound and outbound customer calls.',\n },\n {\n id: uuid(),\n title: 'Technical Support Specialist',\n description: 'A role providing specialized technical assistance and problem resolution.',\n },\n ]\n );\n\n // Roles\n await this.storageService.initial<AXMOrganizationManagementRoleEntityModel>(RootConfig.entities.role.source, [\n {\n id: uuid(),\n title: 'Software Engineer',\n description: 'Responsible for developing and maintaining software applications.',\n },\n {\n id: uuid(),\n title: 'Project Manager',\n description: 'Oversees project execution, ensures timely delivery, and manages team coordination.',\n },\n {\n id: uuid(),\n title: 'HR Manager',\n description: 'Handles recruitment, employee relations, and organizational policies.',\n },\n {\n id: uuid(),\n title: 'System Administrator',\n description: 'Manages IT infrastructure, ensures security, and maintains system performance.',\n },\n ]);\n\n // Employment Types\n await this.storageService.initial<AXMOrganizationManagementEmploymentTypeEntityModel>(\n RootConfig.entities.employmentType.source,\n [\n {\n id: uuid(),\n title: 'Full-Time',\n description: 'An employment category for full-time engagements.',\n },\n {\n id: uuid(),\n title: 'Part-Time',\n description: 'An employment category for part-time work schedules.',\n },\n {\n id: uuid(),\n title: 'Contract',\n description: 'An employment type based on fixed-term contractual agreements.',\n },\n {\n id: uuid(),\n title: 'Internship',\n description: 'An employment type designed for internship programs.',\n },\n {\n id: uuid(),\n title: 'Freelance',\n description: 'An employment type for freelance and project-based work.',\n },\n ]\n );\n\n // Teams\n await this.storageService.initial<AXMOrganizationManagementTeamEntityModel>(RootConfig.entities.team.source, [\n {\n id: uuid(),\n title: 'Backend Development Team',\n leader: {\n id: uuid(),\n firstname: 'Jane',\n lastname: 'Smith',\n employeeCode: 'EMP002',\n },\n member: [\n {\n id: uuid(),\n firstname: 'Michael',\n lastname: 'Johnson',\n employeeCode: 'EMP003',\n },\n {\n id: uuid(),\n firstname: 'Emma',\n lastname: 'Davis',\n employeeCode: 'EMP004',\n },\n ],\n description: 'This team focuses on backend development, server-side logic, and database integration.',\n },\n {\n id: uuid(),\n title: 'Sales and HR Team',\n leader: {\n id: uuid(),\n firstname: 'Robert',\n lastname: 'Wilson',\n employeeCode: 'EMP009',\n },\n member: [\n {\n id: uuid(),\n firstname: 'Lisa',\n lastname: 'Brown',\n employeeCode: 'EMP010',\n },\n ],\n description: 'This team focuses on sales and HR operations, including recruitment and client relations.',\n },\n ]);\n\n // Employees\n await this.storageService.initial<AXMOrganizationManagementEmployeeEntityModel>(\n RootConfig.entities.employee.source,\n [\n {\n id: uuid(),\n firstname: 'Jane',\n lastname: 'Smith',\n birthDate: new Date('1985-02-15'),\n employeeCode: 'EMP002',\n email: 'jane.smith@example.com',\n role: {\n id: uuid(),\n title: 'Software Engineer',\n description: 'Responsible for developing and maintaining software applications.',\n },\n position: {\n id: uuid(),\n title: 'Backend Developer',\n description: 'A role responsible for server-side logic and integration with databases.',\n },\n employmentType: {\n id: uuid(),\n title: 'Full-Time',\n description: 'An employment category for full-time engagements.',\n },\n hireDate: new Date('2010-06-01'),\n },\n {\n id: uuid(),\n firstname: 'Michael',\n lastname: 'Johnson',\n birthDate: new Date('1978-03-22'),\n employeeCode: 'EMP003',\n email: 'michael.johnson@example.com',\n role: {\n id: uuid(),\n title: 'Project Manager',\n description: 'Oversees project execution, ensures timely delivery, and manages team coordination.',\n },\n position: {\n id: uuid(),\n title: 'Sales Manager',\n description: 'A leadership position overseeing sales strategies and team performance.',\n },\n employmentType: {\n id: uuid(),\n title: 'Full-Time',\n description: 'An employment category for full-time engagements.',\n },\n hireDate: new Date('2005-09-12'),\n },\n {\n id: uuid(),\n firstname: 'Emma',\n lastname: 'Davis',\n birthDate: new Date('1992-04-10'),\n employeeCode: 'EMP004',\n email: 'emma.davis@example.com',\n role: {\n id: uuid(),\n title: 'HR Manager',\n description: 'Handles recruitment, employee relations, and organizational policies.',\n },\n position: {\n id: uuid(),\n title: 'Call Center Representative',\n description: 'A position dedicated to managing inbound and outbound customer calls.',\n },\n employmentType: {\n id: uuid(),\n title: 'Part-Time',\n description: 'An employment category for part-time work schedules.',\n },\n hireDate: new Date('2018-01-15'),\n },\n {\n id: uuid(),\n firstname: 'Robert',\n lastname: 'Wilson',\n birthDate: new Date('1980-09-18'),\n employeeCode: 'EMP009',\n email: 'robert.wilson@example.com',\n role: {\n id: uuid(),\n title: 'System Administrator',\n description: 'Manages IT infrastructure, ensures security, and maintains system performance.',\n },\n position: {\n id: uuid(),\n title: 'Technical Support Specialist',\n description: 'A role providing specialized technical assistance and problem resolution.',\n },\n employmentType: {\n id: uuid(),\n title: 'Contract',\n description: 'An employment type based on fixed-term contractual agreements.',\n },\n hireDate: new Date('2012-03-05'),\n },\n {\n id: uuid(),\n firstname: 'Lisa',\n lastname: 'Brown',\n birthDate: new Date('1987-10-29'),\n employeeCode: 'EMP010',\n email: 'lisa.brown@example.com',\n role: {\n id: uuid(),\n title: 'HR Manager',\n description: 'Handles recruitment, employee relations, and organizational policies.',\n },\n position: {\n id: uuid(),\n title: 'Sales Representative',\n description: 'A role tasked with building client relationships and closing sales deals.',\n },\n employmentType: {\n id: uuid(),\n title: 'Internship',\n description: 'An employment type designed for internship programs.',\n },\n hireDate: new Date('2014-07-11'),\n },\n ]\n );\n\n // Store Chart Data\n await this.storageService.initial<AXMOrganizationManagementChartEntityModel>(RootConfig.entities.chart.source, [\n {\n id: uuid(),\n version: '1.0',\n data: SOFTWARE_COMPANY_ORGANIZATION as any,\n },\n ]);\n }\n}\n","import { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXCOrganizationManagementDataSeeder } from './organization-management.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCOrganizationManagementDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCFOrganizationManagementMockModule {}\n","import { AXMAppTermEntityModel } from '@acorex/modules/platform-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nconst titles: string[] = [\n 'Term and Condition Bank App',\n 'Term and Condition Social App',\n 'Term Test',\n 'Condition Test',\n];\n\nexport const APP_TERMS = Array.from({ length: 4 }).map<AXMAppTermEntityModel>((element, i) => {\n const publishDate = new Date();\n publishDate.setDate(publishDate.getDate() - i * 7); // Subtract i weeks from the current date\n\n return {\n id: AXPDataGenerator.uuid(),\n title: titles[i],\n content: `Welcome to <b>[Your App]</b> (\"we,\" \"our,\" or \"us\"). By accessing and using our banking application (the \"App\"), you agree to abide by these Terms and Conditions. If you do not agree, please refrain from using the App.\n\n<b>1. Acceptance of Terms</b>\nBy accessing or using <b>[Your Banking App]</b>, you acknowledge that you have read, understood, and agree to these Terms and Conditions. We reserve the right to modify these terms at any time. Continued use of the App constitutes acceptance of the updated terms.\n\n<b>2. User Eligibility</b>\nYou must be at least 18 years old or the legal age in your jurisdiction to use the App.\nYou must provide accurate and complete information for account registration.\nYou agree to comply with all applicable financial and banking regulations.\n\n<b>3. Account Registration & Security</b>\nYou are responsible for maintaining the confidentiality of your login credentials.\nYou must notify us immediately of any unauthorized access to your account.\nWe are not liable for any losses incurred due to unauthorized access caused by your failure to secure your account.\n\n<b>4. Transactions & Banking Services</b>\nAll transactions made through the App are subject to verification and approval.\nTransaction limits, fees, and processing times may vary based on your account type and applicable regulations.\nYou agree to provide accurate transaction details and maintain sufficient funds for transactions.\n\n<b>5. Fees & Charges</b>\nCertain transactions and services may be subject to fees.\nWe reserve the right to modify or introduce new fees with prior notice.\nUsers will be responsible for any government-imposed taxes on transactions.\n\n<b>6. Privacy & Data Protection</b>\nYour privacy is important to us. Our Privacy Policy outlines how we collect, use, and protect your personal and financial information.\n\n<b>7. Security & Fraud Prevention</b>\nWe implement industry-standard security measures to protect your data and transactions.\nUsers must not engage in fraudulent activities, including identity theft, money laundering, or unauthorized transactions.\nAny suspicious activity may result in account suspension, investigation, or legal action.\n\n<b>8. Account Suspension & Termination</b>\nWe reserve the right to suspend or terminate your account if:\nYou violate these Terms and Conditions.\nWe detect suspicious or fraudulent activities.\nRequired by law enforcement or regulatory authorities.\n\n<b>9. Liability & Disclaimers</b>\nThe App is provided on an \"as is\" and \"as available\" basis.\nWe do not guarantee uninterrupted service, and we are not responsible for losses due to service outages.\nWe are not liable for third-party actions, including fraudulent transactions made by other users.\n\n<b>10. Third-Party Services</b>\nThe App may integrate with third-party services for payments and other banking functions.\nWe are not responsible for the privacy, security, or functionality of third-party services.\n\n<b>11. Changes to Terms</b>\nWe may update these Terms and Conditions periodically.\nChanges will be effective upon posting, and continued use of the App indicates acceptance of the revised terms.\n\n<b>12. Governing Law & Dispute Resolution</b>\nThese Terms shall be governed by and construed in accordance with the laws of [Your Country/State].\nAny disputes shall be resolved through arbitration or legal proceedings in the appropriate jurisdiction.\n\n<b>13. Contact Us</b>\nFor any inquiries, support, or concerns regarding these Terms and Conditions, please contact us at [your contact email].\n\nBy using <b>[Your Banking App]</b>, you acknowledge that you have read, understood, and agreed to these Terms and Conditions.`,\n effectiveDate: publishDate.toString(),\n notifyUser: true,\n type: 'term',\n version: 1,\n };\n});\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { APP_TERMS } from './app-term.mock.data';\n\n@Injectable()\nexport class AXCAppTermDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.appTerm.name}`, APP_TERMS);\n }\n}\n","import { AXMAppVersionEntityModel } from '@acorex/modules/platform-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nconst changeLog: string[] = [];\nfor (let i = 0; i < 10; i++) {\n changeLog.push(`This is a detailed description of the changes made in version 1.6.0${i}. \n It includes various updates, bug fixes, and improvements. \n The changes are extensive and cover multiple aspects of the application, \n ensuring better performance, enhanced security, and a more user-friendly interface. \n Each update is carefully tested to maintain the highest quality standards. \n This description is intentionally verbose to exceed 300 characters and provide a comprehensive overview of the changes in this version.`);\n}\n\nexport const APP_VERSIONS = Array.from({ length: 10 }).map<AXMAppVersionEntityModel>((element, i) => {\n const publishDate = new Date();\n publishDate.setDate(publishDate.getDate() - i * 7); // Subtract i weeks from the current date\n\n return {\n id: AXPDataGenerator.uuid(),\n versionNumber: `1.6.0${i}`,\n changeLog: changeLog[i],\n publishDate: publishDate.toString(),\n showFirstTimePopup: true,\n };\n});\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { APP_VERSIONS } from './app-version.mock.data';\n\n@Injectable()\nexport class AXCAppVersionDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.appVersion.name}`, APP_VERSIONS);\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 value: data[i][0],\n };\n});\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { GLOBAL_VARIABLES } from './global-variables.mock.data';\n\n@Injectable()\nexport class AXCGlobalVariablesDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(\n `${RootConfig.module.name}.${RootConfig.entities.globalVariable.name}`,\n GLOBAL_VARIABLES\n );\n }\n}\n","import { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPCity,\n AXPCountry,\n AXPCurrency,\n AXPLanguage,\n AXPProvince,\n AXPRegionalFormat,\n AXPRegionalService,\n AXPTimeZone,\n} from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\n\nexport class AXCRegionalServiceImpl extends AXPRegionalService {\n languageService = inject(AXTranslationService);\n\n async getCountries(): Promise<AXPCountry[]> {\n const lang = await firstValueFrom(this.languageService.langChanges$);\n\n const { countries } = await import('./data/countries');\n return countries.map<AXPCountry>((country) => {\n if (lang == country.regional) {\n return {\n ...country,\n title: country.native,\n };\n } else {\n return country;\n }\n });\n }\n\n async getProvinces(countryId?: string): Promise<AXPProvince[]> {\n const lang = await firstValueFrom(this.languageService.langChanges$);\n\n const country = await this.getCountries();\n const data = country\n .filter((c) => !countryId || c.code === countryId)\n .flatMap(\n (c) =>\n c.provinces?.map<AXPProvince>((province) => {\n if (lang == c.regional) {\n return {\n ...province,\n title: province.native,\n };\n } else {\n return province;\n }\n }) ?? []\n );\n return data;\n }\n\n async getCities(filter: { countryId?: string; provinceId?: string } = {}): Promise<AXPCity[]> {\n const { countryId, provinceId } = filter;\n const countries = await this.getCountries();\n const lang = await firstValueFrom(this.languageService.langChanges$);\n\n const filteredCountries = countryId ? countries.filter((c) => c.code === countryId) : countries;\n\n const provinces = filteredCountries.flatMap((c) => c.provinces ?? []);\n const filteredProvinces = provinceId ? provinces.filter((p) => p.code === provinceId) : provinces;\n\n filteredProvinces.forEach((province) => {\n province.cities = province.cities?.map<AXPCity>((city) => {\n const country = countries.find((c) => c.provinces?.some((p) => p.code === province.code));\n if (country && lang == country.regional) {\n return {\n ...city,\n title: city.native,\n };\n } else {\n return city;\n }\n });\n });\n\n return filteredProvinces.flatMap((p) => p.cities ?? []);\n }\n\n async getCurrencies(): Promise<AXPCurrency[]> {\n const { currencies } = await import('./data/currencies');\n return currencies;\n }\n\n async getRegionalFormats(): Promise<AXPRegionalFormat[]> {\n const { regionalFormats } = await import('./data/regional-formats');\n return regionalFormats;\n }\n\n async getLanguages(): Promise<AXPLanguage[]> {\n return (await this.getRegionalFormats()).map((c) => ({ code: c.locale, title: c.title }));\n }\n\n async getAvailableLanguages(): Promise<AXPLanguage[]> {\n return (await this.getLanguages()).filter((c) => ['fa-IR', 'en-US'].some((e) => e == c.code));\n }\n\n async getTimeZones(): Promise<AXPTimeZone[]> {\n const { timeZones } = await import('./data/timezones');\n return timeZones;\n }\n\n async getBrowserTimeZoneCode(): Promise<string> {\n const { timeZones } = await import('./data/timezones');\n const now = new Date();\n\n // Calculate offset in hours and minutes\n const offsetMinutes = now.getTimezoneOffset();\n const offsetHours = Math.floor(-offsetMinutes / 60);\n const offsetRemainder = Math.abs(offsetMinutes % 60);\n\n // Format the offset properly\n const formattedOffset = `UTC${offsetHours >= 0 ? '+' : ''}${offsetHours}${offsetRemainder ? `:${offsetRemainder.toString().padStart(2, '0')}` : ''\n }`;\n\n // Find matching time zone\n const matchedZone = timeZones.find((zone) => zone.code === formattedOffset);\n return matchedZone ? matchedZone.code : 'UTC';\n }\n}\n","import {\n AXPFileStorageCreateRequest,\n AXPFileStorageFindRequest,\n AXPFileStorageInfo,\n AXPFileStorageService,\n AXPFileStorageStatus,\n AXPFileStorageUpdateRequest,\n} from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\nimport { AXFileService } from '@acorex/core/file';\nimport Dexie, { Table } from 'dexie';\n\nclass FileStorageDatabase extends Dexie {\n files!: Table<AXPFileStorageInfo & { binary: Blob }, string>;\n\n constructor() {\n super('FileStorageDatabase');\n this.version(1).stores({\n files: 'fileId,refId,refType,category,isPrimary,status',\n });\n }\n}\n\nconst db = new FileStorageDatabase();\n\n@Injectable()\nexport class AXCFileStorageService implements AXPFileStorageService {\n private fileService = inject(AXFileService);\n\n private async mapToFileStorageInfo(record: any): Promise<AXPFileStorageInfo> {\n if (!record) {\n throw new Error('Record not found');\n }\n\n const { binary, ...fileInfo } = record;\n\n const url = await this.fileService.blobToBase64(binary);\n\n return { ...fileInfo, url };\n }\n\n async save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo> {\n const fileId = crypto.randomUUID();\n\n const fileInfo: AXPFileStorageInfo = {\n fileId,\n refId: request.refId,\n refType: request.refType,\n category: request.category,\n size: request.file.size,\n mimeType: request.file.type,\n uploadedAt: new Date(),\n isPublic: request.metadata?.['isPublic'] || true,\n isPrimary: request.isPrimary || false,\n status: request.status ?? AXPFileStorageStatus.Temporary, // Use enum\n name: request.name,\n };\n\n // Save the binary content along with metadata in Dexie\n await db.files.add({ ...fileInfo, binary: request.file });\n return fileInfo;\n }\n\n async commit(fileId: string): Promise<void> {\n const file = await db.files.get(fileId);\n\n if (!file) {\n throw new Error('File not found');\n }\n\n file.status = AXPFileStorageStatus.Committed; // Use enum\n await db.files.put(file);\n }\n\n async markForDeletion(fileId: string): Promise<void> {\n const file = await db.files.get(fileId);\n if (!file) {\n throw new Error('File not found');\n }\n file.status = AXPFileStorageStatus.PendingDeletion; // Use enum\n await db.files.put(file);\n }\n\n async update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo> {\n const file = await db.files.get(request.fileId);\n\n if (!file) {\n throw new Error('File not found');\n }\n\n const updatedFileInfo = {\n ...file,\n ...request.metadata,\n isPrimary: request.isPrimary !== undefined ? request.isPrimary : file.isPrimary,\n };\n\n await db.files.put(updatedFileInfo);\n return this.mapToFileStorageInfo(updatedFileInfo);\n }\n\n async find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]> {\n const files = await db.files.toArray();\n\n const filteredFiles = files.filter((file) => {\n return (\n (!request.refId || file.refId === request.refId) &&\n (!request.refType || file.refType === request.refType) &&\n (!request.category || file.category === request.category) &&\n (!request.isPrimary || file.isPrimary === request.isPrimary) &&\n (!request.isPublic || file.isPublic === request.isPublic) &&\n (!request.mimeType || file.mimeType === request.mimeType) &&\n (!request.uploadedAtRange ||\n (file.uploadedAt >= request.uploadedAtRange.from && file.uploadedAt <= request.uploadedAtRange.to)) &&\n file.status === AXPFileStorageStatus.Committed // Use enum\n );\n });\n\n // Map all filtered files to `AXPFileStorageInfo`\n return Promise.all(filteredFiles.map((file) => this.mapToFileStorageInfo(file)));\n }\n\n async getInfo(fileId: string): Promise<AXPFileStorageInfo> {\n // Simulate a delay of 2 seconds (2000 milliseconds)\n await new Promise((resolve) => setTimeout(resolve, 2000));\n\n const file = await db.files.get(fileId);\n return this.mapToFileStorageInfo(file);\n }\n\n async remove(fileId: string): Promise<void> {\n await db.files.delete(fileId);\n }\n\n private async cleanupTemporaryFiles(): Promise<void> {\n const files = await db.files.toArray();\n\n const temporaryFiles = files.filter((file) => file.status === AXPFileStorageStatus.Temporary);\n\n for (const file of temporaryFiles) {\n await db.files.delete(file.fileId);\n }\n }\n\n private async cleanupMarkedFiles(gracePeriod: number): Promise<void> {\n const now = new Date();\n const files = await db.files.toArray();\n\n for (const file of files) {\n if (\n file.status === AXPFileStorageStatus.PendingDeletion &&\n now.getTime() - file.uploadedAt.getTime() > gracePeriod\n ) {\n await db.files.delete(file.fileId);\n }\n }\n }\n\n // Semi-background cleanup job\n constructor() {\n setInterval(() => {\n this.cleanupMarkedFiles(5 * 60 * 1000) // Grace period: 5 minutes in milliseconds\n .catch((error) => console.error('Error during cleanup:', error));\n this.cleanupTemporaryFiles() // Ensure temporary files are cleaned\n .catch((error) => console.error('Error during cleanup:', error));\n }, 5 * 60 * 1000); // Runs every 5 minutes\n }\n}\n","import { AXMPlatformManagementIssueTypeEntityModel } from '@acorex/modules/platform-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateIssueTypes(): AXMPlatformManagementIssueTypeEntityModel[] {\n const issueTypes: AXMPlatformManagementIssueTypeEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'system-error',\n title: 'System Error',\n description: 'Technical issues related to system functionality, crashes, or unexpected errors',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'performance',\n title: 'Performance Issue',\n description: 'Problems with system speed, response time, or resource usage',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'security',\n title: 'Security Concern',\n description: 'Security-related issues, access problems, or potential vulnerabilities',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'data',\n title: 'Data Issue',\n description: 'Problems with data integrity, synchronization, or corruption',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'ui-ux',\n title: 'UI/UX Problem',\n description: 'Issues with user interface, layout, or user experience',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'configuration',\n title: 'Configuration Error',\n description: 'Problems with system settings, environment configuration, or setup',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'integration',\n title: 'Integration Issue',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'network',\n title: 'Network Problem',\n description: 'Connectivity issues, network timeouts, or communication errors',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'feature-request',\n title: 'Feature Request',\n description: 'Requests for new features, enhancements, or functionality improvements',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'documentation',\n title: 'Documentation Issue',\n description: 'Problems with system documentation, help guides, or instructions',\n },\n ];\n\n return issueTypes;\n}\n\nexport const ISSUE_TYPES = generateIssueTypes();\n","import { AXMPlatformManagementIssueTypeEntityModel, RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { ISSUE_TYPES } from './mock.data';\n\nexport class AXPIssueTypeDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMPlatformManagementIssueTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.issueType.name}`,\n ISSUE_TYPES\n );\n }\n}\n","import {\n AXMMetaDataDefinitionCategoryEntityModel,\n AXMPlatformManagementMetaDataDefinitionEntityModel,\n} from '@acorex/modules/platform-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nconst OHS_ID = AXPDataGenerator.uuid();\nconst child1 = {\n id: AXPDataGenerator.uuid(),\n title: 'General',\n parentId: OHS_ID,\n childCount: 0,\n};\nconst child2 = {\n id: AXPDataGenerator.uuid(),\n title: 'License',\n parentId: OHS_ID,\n childCount: 0,\n};\nexport const METADATA_CATEGORY_MOCK: AXMMetaDataDefinitionCategoryEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'General',\n childCount: 0,\n },\n {\n id: OHS_ID,\n title: 'OHS',\n childCount: 2,\n children: [child1, child2],\n },\n child1,\n child2,\n];\n\nconst checkbox =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"checkbox-editor\",\"name\":\"checkbox-editor1\",\"options\":{\"label\":\"i accept\",\"readonly\":false,\"disabled\":false},\"defaultValue\":false,\"path\":\"accept-check-box\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst colorboxInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"block-layout\",\"name\":\"block-layout1\",\"options\":{\"flexDirection\":{\"id\":\"ax-flex-row\"},\"flexJustifyContent\":{\"id\":\"ax-justify-normal\"},\"flexAlignItems\":{\"id\":\"ax-items-start\"},\"gap\":2,\"flexWrap\":{\"id\":\"ax-flex-nowrap\"},\"spacing\":{\"margin\":\"0px 0px 0px 0px\",\"padding\":\"0px 0px 0px 0px\"},\"border\":{\"width\":\"0px\",\"radius\":\"0px\",\"color\":\"#000000\",\"style\":\"none\"},\"flexOptions\":{\"gap\":\"0px\",\"flexDirection\":\"row\",\"flexWrap\":\"nowrap\",\"justifyContent\":\"flex-start\",\"alignItems\":\"flex-start\"}}},\"children\":[{\"type\":\"color-editor\",\"name\":\"color-editor1\",\"options\":{\"readonly\":false,\"disabled\":false,\"validations\":{\"required\":{\"rule\":\"required\",\"message\":\"This field is required.\"}},\"placeholder\":\"pick color\"},\"path\":\"color-box\"}]}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst titleInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"text-editor\",\"name\":\"title-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false,\"validations\":{\"regex\":null,\"required\":{\"rule\":\"required\",\"message\":\"This field is required.\"}}},\"defaultValue\":\"\",\"path\":\"title\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst descriptionInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"text-editor\",\"name\":\"description-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false},\"defaultValue\":\"\",\"path\":\"description\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst contractNumberInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"number-editor\",\"name\":\"number-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false},\"defaultValue\":\"\",\"path\":\"contract-number\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\nconst evaluatorInterface =\n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"text-editor\",\"name\":\"text-editor1\",\"meta\":{\"header\":true},\"options\":{\"multiple\":false,\"disabled\":false,\"hasClearButton\":false},\"defaultValue\":\"\",\"path\":\"evaluator\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}';\n\nexport const METADATA_MOCK: AXMPlatformManagementMetaDataDefinitionEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'title',\n title: 'Title',\n defaultValue: '',\n interface: titleInterface,\n categoryIds: [METADATA_CATEGORY_MOCK[0].id],\n categories: [METADATA_CATEGORY_MOCK[0]],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'description',\n title: 'Description',\n defaultValue: '',\n interface: descriptionInterface,\n categoryIds: [METADATA_CATEGORY_MOCK[0].id!],\n categories: [METADATA_CATEGORY_MOCK[0]],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'agreement-check-box',\n title: 'Agreement Box',\n defaultValue: false,\n interface: checkbox,\n categoryIds: [METADATA_CATEGORY_MOCK[2].id!],\n categories: [METADATA_CATEGORY_MOCK[2]],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'contract-number',\n title: 'Contract Number',\n defaultValue: '',\n interface: contractNumberInterface,\n categoryIds: [METADATA_CATEGORY_MOCK[2].id!],\n categories: [METADATA_CATEGORY_MOCK[2]],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'evaluator',\n title: 'Evaluator',\n defaultValue: '',\n interface: evaluatorInterface,\n categoryIds: [METADATA_CATEGORY_MOCK[3].id!],\n categories: [METADATA_CATEGORY_MOCK[3]],\n },\n];\n","import { RootConfig } from '@acorex/modules/platform-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { METADATA_CATEGORY_MOCK, METADATA_MOCK } from './metadata.mock';\n@Injectable()\nexport class AXCMetaDataDefinitionDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial(\n `${RootConfig.module.name}.${RootConfig.entities.metaDataDefinitionCategory.name}`,\n METADATA_CATEGORY_MOCK\n );\n\n await this.storageService.initial(\n `${RootConfig.module.name}.${RootConfig.entities.metaDataDefinition.name}`,\n METADATA_MOCK\n );\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 { AXMSchedulerJobManagementSchedulerJobEntityModel, RootConfig } from '@acorex/modules/scheduler-job-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { SCHEDULER_JOB } from './scheduler-job-management.mock.data';\n\n@Injectable()\nexport class AXCSchedulerJobDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSchedulerJobManagementSchedulerJobEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.schedulerJob.name}`,\n SCHEDULER_JOB\n );\n }\n}\n","import { AXDataSourceFilterOption } from '@acorex/components/common';\nimport {\n AXMDeviceSessionsServiceImpl,\n AXMSecurityManagementDeviceSessionsEntityModel,\n AXMSessionStatusTypes,\n} from '@acorex/modules/security-management';\nimport { AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/core';\n\nexport class AXCDeviceSessionService extends AXMDeviceSessionsServiceImpl {\n override async terminate(id: string): Promise<boolean> {\n const item = await this.updateOne(id, {\n status: AXMSessionStatusTypes.revoked,\n });\n if (item.status != AXMSessionStatusTypes.revoked) {\n return false;\n }\n return true;\n }\n override async query(\n request?: AXPQueryRequest\n ): Promise<AXPPagedListResult<AXMSecurityManagementDeviceSessionsEntityModel>> {\n let filterByStatus: AXDataSourceFilterOption = {\n field: 'status',\n value: AXMSessionStatusTypes.active,\n operator: { type: 'equal' },\n };\n\n request?.filter?.filters?.push(filterByStatus);\n let res = await super.query(request);\n return res;\n }\n}\n","import {\n AXMSecurityManagementDeviceSessionsEntityModel,\n AXMSessionStatusTypes,\n RootConfig,\n} from '@acorex/modules/security-management';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataGenerator, } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\n\n@Injectable()\nexport class AXPSecurityManagementDeviceSessionDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n private sessionService = inject(AXPSessionService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSecurityManagementDeviceSessionsEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.deviceSessions.name}`,\n this.generateDeviceSessions()\n );\n }\n\n private generateDeviceSessions(): AXMSecurityManagementDeviceSessionsEntityModel[] {\n const deviceSessions: AXMSecurityManagementDeviceSessionsEntityModel[] = [];\n\n const clientNames = ['Client A', 'Client B', 'Client C', 'Client D', 'Client E'];\n const userAgents = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_7) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 Chrome/120.0.0.0 Mobile Safari/537.36',\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_1 like Mac OS X) AppleWebKit/537.36 Version/16.1 Mobile/15E148 Safari/537.36',\n 'PostmanRuntime/7.43.0',\n ];\n const ipAddresses = ['192.168.1.101', '10.0.0.42', '172.16.254.23', '203.0.113.99', '8.8.4.4'];\n const locations = [\n 'New York, USA',\n 'Toronto, Canada',\n 'Berlin, Germany',\n 'Paris, France',\n 'Amsterdam, Netherlands',\n ];\n const browsers = ['Google Chrome', 'Mozilla Firefox', 'Microsoft Edge', 'Safari', 'Opera'];\n const devices = ['MacBook Pro', 'Windows Laptop', 'Android Phone', 'iPhone 13', 'iPad Pro'];\n const operatingSystems = ['macOS', 'Windows 11', 'Android 12', 'iOS 16', 'Linux Ubuntu 22.04'];\n\n for (let i = 0; i < 20; i++) {\n const userId = AXPDataGenerator.uuid();\n const applicationId = AXPDataGenerator.uuid();\n const tenantId = AXPDataGenerator.uuid();\n const lastModifierId = AXPDataGenerator.uuid();\n const authorizationId = AXPDataGenerator.uuid();\n\n const creationTime = new Date();\n creationTime.setMinutes(creationTime.getMinutes() - Math.floor(Math.random() * 1440)); // Past 24 hours\n\n const lastModificationTime = new Date(creationTime);\n lastModificationTime.setMinutes(creationTime.getMinutes() + Math.floor(Math.random() * 60)); // Random modification time\n\n const lastLoginDate = new Date();\n lastLoginDate.setDate(lastLoginDate.getDate() - Math.floor(Math.random() * 30)); // Past 30 days\n\n deviceSessions.push({\n id: AXPDataGenerator.uuid(),\n userId: userId,\n user: { id: userId, name: `User ${i + 1}` },\n application: { id: applicationId, name: 'ACoreX' },\n tenant: { id: tenantId, name: 'ACoreX Tenant' },\n applicationId: applicationId,\n tenantId: tenantId,\n clientName: clientNames[Math.floor(Math.random() * clientNames.length)],\n ipAddress: ipAddresses[Math.floor(Math.random() * ipAddresses.length)],\n userAgent: userAgents[Math.floor(Math.random() * userAgents.length)],\n authorizationId: authorizationId,\n status: AXMSessionStatusTypes.active,\n isActiveSession: Math.random() < 0.5, // Random true/false\n browser: browsers[Math.floor(Math.random() * browsers.length)],\n location: locations[Math.floor(Math.random() * locations.length)],\n deviceName: devices[Math.floor(Math.random() * devices.length)],\n operatingSystem: operatingSystems[Math.floor(Math.random() * operatingSystems.length)],\n lastLoginDate: lastLoginDate,\n });\n }\n\n if (this.sessionService.user?.id) {\n for (let i = 0; i < 5; i++) {\n const userId = this.sessionService.user.id;\n const applicationId = AXPDataGenerator.uuid();\n const tenantId = AXPDataGenerator.uuid();\n const authorizationId = AXPDataGenerator.uuid();\n\n const creationTime = new Date();\n creationTime.setMinutes(creationTime.getMinutes() - Math.floor(Math.random() * 1440)); // Past 24 hours\n\n const lastModificationTime = new Date(creationTime);\n lastModificationTime.setMinutes(creationTime.getMinutes() + Math.floor(Math.random() * 60)); // Random modification time\n\n const lastLoginDate = new Date();\n lastLoginDate.setDate(lastLoginDate.getDate() - Math.floor(Math.random() * 30)); // Past 30 days\n\n deviceSessions.push({\n id: AXPDataGenerator.uuid(),\n userId: userId,\n user: { id: userId, name: this.sessionService.user.name },\n application: { id: applicationId, name: 'ACoreX' },\n tenant: { id: tenantId, name: 'ACoreX Tenant' },\n applicationId: applicationId,\n tenantId: tenantId,\n clientName: clientNames[Math.floor(Math.random() * clientNames.length)],\n ipAddress: ipAddresses[Math.floor(Math.random() * ipAddresses.length)],\n userAgent: userAgents[Math.floor(Math.random() * userAgents.length)],\n authorizationId: authorizationId,\n status: AXMSessionStatusTypes.active,\n isActiveSession: i == 0 ? true : false,\n browser: browsers[Math.floor(Math.random() * browsers.length)],\n location: locations[Math.floor(Math.random() * locations.length)],\n deviceName: devices[Math.floor(Math.random() * devices.length)],\n operatingSystem: operatingSystems[Math.floor(Math.random() * operatingSystems.length)],\n lastLoginDate: lastLoginDate,\n });\n }\n }\n return deviceSessions;\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 { AXMTextTemplateManagementCategoryEntityModel, RootConfig } from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATE_CATEGORY } from './text-template-management.mock.data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXCTextTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementCategoryEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n TEXT_TEMPLATE_CATEGORY\n );\n }\n}\n","import { AXMTextTemplateManagementTemplateEntityModel, RootConfig } from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATES } from './text-template-management.mock.data';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\n\n@Injectable()\nexport class AXCTextTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementTemplateEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n TEXT_TEMPLATES\n );\n }\n}\n","import { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXMDocumentService, AXMFolderService } from '@acorex/modules/document-management';\nimport { AXMNotificationEntityService } from '@acorex/modules/notification-management';\nimport { AXMDeviceSessionsService } from '@acorex/modules/security-management';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXP_SEARCH_PROVIDER, AXPFileStorageService, AXPRegionalService } from '@acorex/platform/common';\nimport { AXP_DATA_SEEDER_TOKEN, AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXCApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXPDashboardDataSeeder } from './common/dashboard';\nimport { AXCConversationMockModule } from './conversation/conversation.module';\nimport { AXPDexieEntityStorageService } from './dexie-storage.service';\nimport { AXCDocumentTypeDataSeeder } from './document-management/document-type/document-type.seeder';\nimport { AXMFileMockService } from './document-management/file/file.service';\nimport { AXCFolderDataSeeder } from './document-management/folder';\nimport { AXMFolderMockService } from './document-management/folder/folder.service';\nimport { EntitySearchProvider } from './entity-search.provider';\nimport { AXCFormTemplateManagementMockModule } from './form-template-management/form-template-management-mock.module';\nimport { AXMLogDataSeeder } from './log-management/log/log.seeder';\nimport { MOCKStrategy } from './mock.strategy';\nimport { AXMMockNotificationService } from './notification-management/notification/notification.mock.service';\nimport { AXCNotificationTemplateDataSeeder } from './notification-management/template.seeder';\nimport { AXCFOrganizationManagementMockModule } from './organization-management/organization-management-mock.module';\nimport { AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCGlobalVariablesDataSeeder } from './platform-management';\nimport { AXCRegionalServiceImpl } from './platform-management/common/regional-util.service';\nimport { AXCFileStorageService } from './platform-management/file-storage/file-storage-service';\nimport { AXPIssueTypeDataSeeder } from './platform-management/issue-type/data.seeder';\nimport { AXCMetaDataDefinitionDataSeeder } from './platform-management/metadata/metadata.seeder';\nimport { AXCSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXCDeviceSessionService } from './security-management/device-session.service';\nimport { AXPSecurityManagementDeviceSessionDataSeeder } from './security-management/device-sessions.seeder';\nimport { AXCTextTemplateCategoryDataSeeder, AXCTextTemplateDataSeeder } from './text-template-management';\n\n@NgModule({\n imports: [\n AXPAuthModule.forRoot({\n strategies: [MOCKStrategy],\n }),\n AXCFormTemplateManagementMockModule,\n AXCFOrganizationManagementMockModule,\n AXCConversationMockModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n AXPDexieEntityStorageService,\n {\n provide: AXMNotificationEntityService,\n useClass: AXMMockNotificationService,\n },\n {\n provide: AXPEntityStorageService,\n useClass: AXPDexieEntityStorageService,\n },\n {\n provide: AXMDeviceSessionsService,\n useClass: AXCDeviceSessionService,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCGlobalVariablesDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTextTemplateCategoryDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTextTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCApplicationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPIssueTypeDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCSchedulerJobDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCNotificationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCAppVersionDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCAppTermDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCMetaDataDefinitionDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCFolderDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCDocumentTypeDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSecurityManagementDeviceSessionDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPDashboardDataSeeder,\n multi: true,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXCModuleDesignerService,\n },\n {\n provide: AXPFileStorageService,\n useClass: AXCFileStorageService,\n },\n {\n provide: AXPRegionalService,\n useClass: AXCRegionalServiceImpl,\n },\n {\n provide: AXMFolderService,\n useClass: AXMFolderMockService,\n },\n {\n provide: AXMDocumentService,\n useClass: AXMFileMockService,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: EntitySearchProvider,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXMLogDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCMockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AXPDataGenerator","checkbox","titleInterface","descriptionInterface","contractNumberInterface","evaluatorInterface","RootConfig"],"mappings":"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"}