@acorex/connectivity 19.3.8 → 19.4.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/dexie-storage.service.ts","../../../../libs/connectivity/mock/src/lib/application-management/application-management-mock-data.ts","../../../../libs/connectivity/mock/src/lib/application-management/application.seeder.ts","../../../../libs/connectivity/mock/src/lib/application-management/mock-module-designer.service.ts","../../../../libs/connectivity/mock/src/lib/security-management/mock-data.ts","../../../../libs/connectivity/mock/src/lib/dashboard-management/dashboard.mock.data.ts","../../../../libs/connectivity/mock/src/lib/dashboard-management/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/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/issue-management/issue-type/mock.data.ts","../../../../libs/connectivity/mock/src/lib/issue-management/issue-type/data.seeder.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/responsibility.data.ts","../../../../libs/connectivity/mock/src/lib/organization-management/skill.data.ts","../../../../libs/connectivity/mock/src/lib/organization-management/position.data.ts","../../../../libs/connectivity/mock/src/lib/organization-management/role.data.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/project-management/client/client.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/client/client.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-type/project-type.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project/project.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-role-member/project-role-member.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-member/project-member.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-member/project.member.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-role-member/project-role-member.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/project/project.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/sprint/sprint.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/sprint/sprint.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/task-type/task-type.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/task-type/task-type-seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/worksite/worksite.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/task/task.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/task/task.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/worksite/worksite.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/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/auth/tenant.loader.ts","../../../../libs/connectivity/mock/src/lib/auth/application.loader.ts","../../../../libs/connectivity/mock/src/lib/auth/permission.loader.ts","../../../../libs/connectivity/mock/src/lib/auth/feature.loader.ts","../../../../libs/connectivity/mock/src/lib/training-management/period/period.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/location/location.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/course/course.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/course/course.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/period/period.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-type/training-type.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-type/training-type.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/certificate/certificate.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training/training.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training/training.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/certificate/certificate.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/facilitator-type/facilitator-type.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-facilitator/training-facilitator.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-facilitator/training-facilitator.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-participant/training-participant.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-participant/training-participant.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/location/location.seeder.ts","../../../../libs/connectivity/mock/src/lib/mock.module.ts","../../../../libs/connectivity/mock/src/acorex-connectivity-mock.ts"],"sourcesContent":["import { applyFilterArray, applySortArray } from '@acorex/platform/core';\nimport Dexie from 'dexie';\n\nimport { AXPDataGenerator } from '@acorex/platform/core';\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 { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const MODULES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'UserManagement',\n 'Analytics',\n 'Reporting',\n 'PaymentGateway',\n 'NotificationService',\n 'InventoryManagement',\n ];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const APPLICATIONS_MODULES = Array.from({ length: 5 }).map((_, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n module: AXPDataGenerator.pick(MODULES),\n };\n});\n\nexport const EDITIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Standard', 'Premium', 'Gold', 'Silver', 'Bronze', 'Platinum', 'Enterprise'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const FEATURES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'User Authentication',\n 'Data Encryption',\n 'Real-time Notifications',\n 'Customizable Dashboards',\n 'API Access',\n 'Multi-language Support',\n 'Analytics and Reporting',\n 'Offline Mode',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const ENTITIES = Array.from({ length: 5 }).map((_, i) => {\n const source = ['User', 'Product', 'Order', 'Customer', 'Transaction', 'Category', 'Review', 'InventoryItem'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\nexport const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Read', 'Write', 'Update', 'Delete', 'ManageUsers', 'ViewReports', 'AccessSettings', 'CreateContent'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const PROPERTIES = Array.from({ length: 10 }).map((_, i) => {\n const source = [\n 'property1',\n 'property2',\n 'property3',\n 'property4',\n 'property5',\n 'property6',\n 'property7',\n 'property8',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n entityId: AXPDataGenerator.pick(ENTITIES).id,\n name: name,\n title: name,\n path: name,\n };\n});\n","import {\n APPLICATION_SOURCE_NAME,\n AXMApplicationEntityModel,\n AXMEditionEntityModel,\n AXMEntityEntityModel,\n AXMFeatureEntityModel,\n AXMModuleEntityModel,\n AXMPermissionEntityModel,\n AXMPropertyEntityModel,\n ENTITY_SOURCE_NAME,\n FEATURE_SOURCE_NAME,\n MODULE_SOURCE_NAME,\n PERMISSION_SOURCE_NAME,\n PROPERTY_SOURCE_NAME,\n} from '@acorex/modules/application-management';\nimport { AXPDataSeeder } 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/cdk/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 { 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","import {\n AXMCommonDashboardEntityModel,\n AXPBarChartWidget,\n AXPClockCalendarWidget,\n AXPDonutChartWidget,\n AXPGaugeChartWidget,\n AXPLineChartWidget,\n AXPStickyNoteWidget,\n AXPTaskListWidget,\n AXPWeatherWidget,\n} from '@acorex/modules/dashboard-management';\nimport { AXPMyNotificationDashboardWidget } from '@acorex/modules/notification-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { mockUsers } from '../security-management/mock-data';\n\n// Widget types that can be used for generating mock data\nconst widgetTypes = [\n 'bar-chart',\n 'donut-chart',\n 'gauge-chart',\n 'line-chart',\n 'map',\n 'clock-calendar',\n 'weather',\n 'sticky-note',\n 'notification',\n 'task-list',\n];\n\n// Generate bar chart widget\nfunction generateBarChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Data must match AXPBarChartData structure from @acorex/charts/bar-chart\n const barChartData = [\n { id: 'a', label: 'Category A', value: AXPDataGenerator.number(30, 100), color: '#43b57f' },\n { id: 'b', label: 'Category B', value: AXPDataGenerator.number(30, 100), color: '#ff6f61' },\n { id: 'c', label: 'Category C', value: AXPDataGenerator.number(30, 100), color: '#f4a300' },\n { id: 'd', label: 'Category D', value: AXPDataGenerator.number(10, 30), color: '#a20e3f' },\n { id: 'e', label: 'Category E', value: AXPDataGenerator.number(70, 100), color: '#2bc4b0' },\n ];\n\n // Options must match AXPBarChartOption structure from @acorex/charts/bar-chart\n const barChartOptions = {\n width: 600,\n height: 400,\n showXAxis: true,\n showYAxis: true,\n showGrid: true,\n showTooltip: true,\n barWidth: 80,\n cornerRadius: 4,\n animationDuration: 800,\n animationEasing: 'cubic-out',\n showDataLabels: false,\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPBarChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `bar-chart-${uniqueId}`,\n path: `bar-chart-${uniqueId}`,\n type: 'bar-chart',\n defaultValue: barChartData,\n options: { ...barChartOptions, title: 'Bar Chart' },\n },\n };\n}\n\n// Generate clock-calendar widget\nfunction generateClockCalendarWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPClockCalendarWidget?.meta?.['dimensions'],\n },\n node: {\n name: `clock-calendar-${uniqueId}`,\n path: `clock-calendar-${uniqueId}`,\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 title: '',\n },\n },\n };\n}\n\n// Generate weather widget\nfunction generateWeatherWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPWeatherWidget?.meta?.['dimensions'],\n },\n node: {\n name: `weather-${uniqueId}`,\n path: `weather-${uniqueId}`,\n type: 'weather',\n options: {\n city: AXPDataGenerator.city(),\n },\n meta: {\n ...AXPWeatherWidget.meta,\n },\n },\n };\n}\n\n// Generate sticky-note widget\nfunction generateStickyNoteWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPStickyNoteWidget?.meta?.['dimensions'],\n },\n node: {\n name: `sticky-note-${uniqueId}`,\n path: `sticky-note-${uniqueId}`,\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 hasConfiguration: false,\n },\n },\n };\n}\n\n// Generate notification widget\nfunction generateNotificationWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Generate 3-8 random notifications\n const notifications = Array.from({ length: AXPDataGenerator.number(3, 8) }).map((_, index) => {\n const user = AXPDataGenerator.pick(mockUsers);\n\n // Select a random notification type\n const type = AXPDataGenerator.pick(['File', 'Person', 'Notification']) as 'File' | 'Person' | 'Notification';\n\n // Select a random notification priority\n const priority = AXPDataGenerator.pick(['Warning', 'Danger', 'Notice']) as 'Warning' | 'Danger' | 'Notice';\n\n // Create message based on type\n let message = '';\n switch (type) {\n case 'File':\n message = `New document \"${AXPDataGenerator.alphabet(AXPDataGenerator.number(5, 20))}.${AXPDataGenerator.pick([\n 'pdf',\n 'docx',\n 'xlsx',\n ])}\" has been shared with you`;\n break;\n case 'Person':\n message = `${user.firstName} ${user.lastName} ${AXPDataGenerator.pick([\n 'sent you a message',\n 'mentioned you in a comment',\n 'added you to a project',\n 'requested your feedback',\n ])}`;\n break;\n case 'Notification':\n message = AXPDataGenerator.pick([\n 'Your task is due tomorrow',\n 'Meeting starts in 15 minutes',\n 'Your report has been approved',\n 'Project status has been updated',\n 'New announcement from the team',\n ]);\n break;\n }\n\n // Create a random timestamp within the last week\n const now = new Date();\n const weekAgo = new Date();\n weekAgo.setDate(now.getDate() - 7);\n const timestamp = AXPDataGenerator.date(weekAgo, now);\n\n // Make some notifications read and some unread\n const isRead = index < 2 ? false : AXPDataGenerator.boolean();\n\n return {\n id: AXPDataGenerator.uuid(),\n title: `${user.firstName} ${user.lastName}`,\n body: message,\n channel: 'InApp',\n content: {\n type,\n data: {},\n },\n user: {\n id: user.id,\n username: user.username,\n firstName: user.firstName,\n lastName: user.lastName,\n name: `${user.firstName} ${user.lastName}`,\n image: `https://i.pravatar.cc/150?u=${user.id}`,\n },\n template: {\n category: 'Inbox',\n priority,\n icon: `fa-light fa-${AXPDataGenerator.pick(['envelope', 'bell', 'file', 'user', 'calendar'])}`,\n isPinned: AXPDataGenerator.boolean(),\n },\n readAt: isRead ? AXPDataGenerator.date(weekAgo, timestamp) : null,\n createdAt: timestamp,\n };\n });\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPMyNotificationDashboardWidget?.meta?.['dimensions'],\n },\n node: {\n name: `notification-${uniqueId}`,\n path: `notification-${uniqueId}`,\n type: AXPMyNotificationDashboardWidget.name,\n defaultValue: {\n data: notifications,\n total: notifications.length,\n },\n options: {\n title: 'Notifications',\n maxItems: 10,\n showAvatar: true,\n showTimestamp: true,\n autoRefresh: true,\n refreshInterval: 60,\n },\n },\n };\n}\n\n// Generate donut-chart widget\nfunction generateDonutChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Data must match AXPDonutChartData structure from @acorex/charts/donut-chart\n const donutChartData = [\n { id: 'a', name: 'Apples', value: AXPDataGenerator.number(20, 50) },\n { id: 'b', name: 'Bananas', value: AXPDataGenerator.number(20, 40) },\n { id: 'c', name: AXPDataGenerator.firstName(), value: AXPDataGenerator.number(10, 30) },\n { id: 'd', name: 'Dates', value: AXPDataGenerator.number(5, 20) },\n ];\n\n // Options must match AXPDonutChartOption structure from @acorex/charts/donut-chart\n const donutChartOptions = {\n width: 300,\n height: 300,\n showTooltip: true,\n donutWidth: 35,\n cornerRadius: 4,\n animationDuration: 1000,\n animationEasing: 'cubic-out',\n showDataLabels: false,\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPDonutChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `donut-chart-${uniqueId}`,\n path: `donut-chart-${uniqueId}`,\n type: 'donut-chart',\n defaultValue: donutChartData,\n options: { ...donutChartOptions, title: 'Donut Chart' },\n },\n };\n}\n\n// Generate gauge-chart widget\nfunction generateGaugeChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // For gauge chart, the value is a simple number according to AXPGaugeChartValue\n const gaugeValue = AXPDataGenerator.number(30, 90);\n\n // Options must match AXPGaugeChartOption structure from @acorex/charts/gauge-chart\n const gaugeChartOptions = {\n // width: 300,\n // height: 300,\n minValue: 0,\n maxValue: 100,\n gaugeWidth: 30,\n cornerRadius: 4,\n label: 'KPI',\n showValue: true,\n animationDuration: 1500,\n showTooltip: false,\n animationEasing: 'cubic-out',\n // Optional color thresholds\n thresholds: [\n { value: 25, color: 'red' }, // alert threshold\n { value: 50, color: 'orange' }, // warning threshold\n { value: 75, color: 'green' }, // success threshold\n { value: 100, color: 'blue' }, // info threshold\n ],\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPGaugeChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `gauge-chart-${uniqueId}`,\n path: `gauge-chart-${uniqueId}`,\n type: 'gauge-chart',\n defaultValue: gaugeValue,\n options: { ...gaugeChartOptions, title: 'Gauge Chart' },\n },\n };\n}\n\n// Generate line chart widget\nfunction generateLineChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Create 1-3 data series\n const seriesCount = AXPDataGenerator.number(1, 3);\n const seriesNames = ['Revenue', 'Users', 'Growth', 'Sales', 'Traffic', 'Engagement'];\n const pointsPerSeries = AXPDataGenerator.number(5, 10);\n\n // Generate data following AXLineChartData structure from @acorex/charts/line-chart\n const chartData = [];\n\n for (let i = 0; i < seriesCount; i++) {\n const seriesName = seriesNames[i % seriesNames.length];\n // Use a bright color from our palette to avoid dark/black colors\n const lineColor = `#${Math.floor(Math.random() * 16777215).toString(16)}`;\n\n // Generate data points for this series\n const dataPoints = [];\n for (let j = 0; j < pointsPerSeries; j++) {\n dataPoints.push({\n x: j + 1,\n y: AXPDataGenerator.number(10, 100),\n });\n }\n\n // Add the series to the chart data\n chartData.push({\n id: `series-${i}`,\n label: seriesName,\n lineColor: lineColor,\n fillColor: `${lineColor}20`, // Add 20 (12.5% opacity) to color hex\n data: dataPoints,\n });\n }\n\n // Options must match AXPLineChartOption structure\n const lineChartOptions = {\n width: 600,\n height: 400,\n showXAxis: true,\n showYAxis: true,\n showGrid: true,\n showTooltip: true,\n lineWidth: AXPDataGenerator.number(1, 4),\n showPoints: true,\n pointRadius: AXPDataGenerator.number(3, 6),\n smoothLine: true,\n fillArea: false,\n fillOpacity: 10,\n animationEnabled: true,\n animationDuration: 1000,\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPLineChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `line-chart-${uniqueId}`,\n path: `line-chart-${uniqueId}`,\n type: 'line-chart',\n defaultValue: chartData,\n options: { ...lineChartOptions, title: 'Line Chart' },\n },\n };\n}\n\n// Generate task list widget\nfunction generateTaskListWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Generate 5-12 random tasks\n const tasks = Array.from({ length: AXPDataGenerator.number(5, 12) }).map((_, index) => {\n // Generate random due date between yesterday and next month\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n\n const nextMonth = new Date();\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n const dueDate = AXPDataGenerator.date(yesterday, nextMonth);\n\n // Generate random task data\n const firstName = AXPDataGenerator.firstName();\n const lastName = AXPDataGenerator.lastName();\n\n // Random priority\n const priority = AXPDataGenerator.pick(['low', 'medium', 'high']);\n\n // Random category\n const category = AXPDataGenerator.pick([\n 'Development',\n 'Design',\n 'Marketing',\n 'Meeting',\n 'Research',\n 'Planning',\n 'Documentation',\n ]);\n\n // Generate sample data for second person in a meeting task\n const secondPersonFirstName = AXPDataGenerator.firstName();\n const secondPersonLastName = AXPDataGenerator.lastName();\n\n // Random task title\n const taskTitle = AXPDataGenerator.pick([\n `${AXPDataGenerator.pick(['Create', 'Update', 'Fix', 'Review', 'Finalize'])} ${AXPDataGenerator.pick([\n 'dashboard',\n 'report',\n 'component',\n 'feature',\n 'documentation',\n 'presentation',\n ])}`,\n `${AXPDataGenerator.pick([\n 'Prepare',\n 'Schedule',\n 'Attend',\n 'Summarize',\n ])} meeting with ${secondPersonFirstName} ${secondPersonLastName}`,\n `${AXPDataGenerator.pick(['Research', 'Analyze', 'Document'])} ${AXPDataGenerator.pick([\n 'market trends',\n 'user feedback',\n 'competitor features',\n 'new technology',\n ])}`,\n `${AXPDataGenerator.pick(['Deploy', 'Test', 'Debug'])} ${AXPDataGenerator.pick([\n 'application',\n 'feature',\n 'hotfix',\n 'release',\n ])}`,\n `${AXPDataGenerator.pick(['Contact', 'Follow up with', 'Email'])} ${firstName} about ${AXPDataGenerator.pick([\n 'project status',\n 'contract',\n 'feedback',\n 'requirements',\n ])}`,\n ]);\n\n // Calculate days difference for due date\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n const dueDateCopy = new Date(dueDate);\n dueDateCopy.setHours(0, 0, 0, 0);\n const diffTime = dueDateCopy.getTime() - today.getTime();\n const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));\n\n // Task is completed if it's in the past 30% of the time\n const isCompleted = diffDays < 0 ? Math.random() < 0.8 : Math.random() < 0.3;\n\n return {\n id: AXPDataGenerator.uuid(),\n title: taskTitle,\n completed: isCompleted,\n priority: priority as 'low' | 'medium' | 'high',\n dueDate: dueDate,\n category: category,\n assignedTo: {\n id: AXPDataGenerator.uuid(),\n name: `${firstName} ${lastName}`,\n image: Math.random() < 0.3 ? `https://i.pravatar.cc/150?u=${AXPDataGenerator.uuid()}` : undefined,\n },\n createdAt: AXPDataGenerator.date(new Date(new Date().setDate(new Date().getDate() - 30)), new Date()),\n };\n });\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPTaskListWidget?.meta?.['dimensions'],\n },\n node: {\n name: `task-list-${uniqueId}`,\n path: `task-list-${uniqueId}`,\n type: 'task-list',\n defaultValue: {\n data: tasks,\n },\n options: {\n maxItems: 10,\n showDate: true,\n showAssignee: true,\n groupByCategory: AXPDataGenerator.boolean(),\n showPriority: AXPDataGenerator.boolean(),\n allowMarkComplete: true,\n hasConfiguration: true,\n title: 'Task List ',\n },\n },\n };\n}\n\n// Widget generator factory\nfunction getWidgetGenerator(type: string) {\n switch (type) {\n case 'bar-chart':\n return generateBarChartWidget;\n case 'donut-chart':\n return generateDonutChartWidget;\n case 'gauge-chart':\n return generateGaugeChartWidget;\n case 'line-chart':\n return generateLineChartWidget;\n case 'clock-calendar':\n return generateClockCalendarWidget;\n case 'weather':\n return generateWeatherWidget;\n case 'sticky-note':\n return generateStickyNoteWidget;\n case 'notification':\n return generateNotificationWidget;\n case 'task-list':\n return generateTaskListWidget;\n default:\n return generateBarChartWidget;\n }\n}\n\n// Utility function to shuffle an array\nfunction shuffleArray<T>(array: T[]): T[] {\n const arr = array.slice();\n for (let i = arr.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [arr[i], arr[j]] = [arr[j], arr[i]];\n }\n return arr;\n}\n\n// Generate a random dashboard with random widgets (no duplicate widget types)\nexport function generateRandomDashboard(): AXMCommonDashboardEntityModel {\n const maxWidgets = widgetTypes.length;\n const widgetCount = Math.min(AXPDataGenerator.number(1, 5), maxWidgets);\n const shuffledTypes = shuffleArray(widgetTypes);\n const selectedTypes = shuffledTypes.slice(0, widgetCount);\n const widgets = selectedTypes.map((type) => {\n const generator = getWidgetGenerator(type);\n return generator();\n });\n\n const creator = AXPDataGenerator.pick(mockUsers);\n const updater = AXPDataGenerator.boolean()\n ? AXPDataGenerator.pick(mockUsers.filter((u) => u.id !== creator.id))\n : undefined;\n\n const createdAt = new Date(Date.now() - AXPDataGenerator.number(1, 30) * 24 * 60 * 60 * 1000); // Random date in last 30 days\n const updatedAt = updater\n ? new Date(createdAt.getTime() + AXPDataGenerator.number(1, 10) * 24 * 60 * 60 * 1000)\n : undefined;\n\n const titleTemplates = [\n `Sales Dashboard`,\n `Project Overview`,\n `Task Board`,\n `Analytics`,\n `Notifications`,\n `Performance Monitor`,\n `Weather & Events`,\n `Team Dashboard`,\n `Marketing Insights`,\n `Operations Panel`,\n ];\n\n const userFullName = `${creator.firstName} ${creator.lastName}`;\n const titleTemplate = AXPDataGenerator.pick(titleTemplates);\n const title = titleTemplate.replace('{user}', userFullName);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: AXPDataGenerator.uuid(),\n title: title,\n description: `This is a sample dashboard for ${title}`,\n widgets: widgets,\n roleIds: creator.roleIds.map((r) => r.id),\n isDeleted: AXPDataGenerator.boolean(),\n createdAt: createdAt,\n updatedAt: updatedAt,\n createdBy: creator.id,\n updatedBy: updater ? updater.id : undefined,\n scope: Math.random() < 0.5 ? 'U' : 'T',\n };\n}\n\n// Generate a Charts Dashboard with one of each chart type\nfunction generateChartsDashboard(user: (typeof mockUsers)[0]): AXMCommonDashboardEntityModel {\n const chartWidgets = [\n generateBarChartWidget(),\n generateDonutChartWidget(),\n generateGaugeChartWidget(),\n generateLineChartWidget(),\n ];\n\n const createdAt = new Date(Date.now() - 15 * 24 * 60 * 60 * 1000); // Created 15 days ago\n\n return {\n id: AXPDataGenerator.uuid(),\n name: `charts-dashboard-${user.username}`,\n title: `${user.firstName}'s Data Dashboard`,\n description: `Personal data visualization dashboard for ${user.firstName} ${user.lastName}`,\n widgets: chartWidgets,\n roleIds: user.roleIds.map((r: { id: string }) => r.id),\n isDeleted: false,\n createdAt: createdAt,\n createdBy: user.id,\n updatedAt: undefined,\n updatedBy: undefined,\n scope: 'U', // Always user scope for personal dashboards\n };\n}\n\n// Generate a Utility Dashboard with utility widgets\nfunction generateUtilityDashboard(): AXMCommonDashboardEntityModel {\n const utilityWidgets = [\n generateClockCalendarWidget(),\n generateWeatherWidget(),\n generateStickyNoteWidget(),\n generateNotificationWidget(),\n generateTaskListWidget(),\n ];\n\n // Find an admin user for the owner of tenant dashboard\n const adminUser = mockUsers.find((user) => user.roleIds.some((role) => role.id === '1001')) || mockUsers[0];\n\n const createdAt = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000); // Created 7 days ago\n const updatedAt = new Date(createdAt.getTime() + 2 * 24 * 60 * 60 * 1000); // Updated 2 days after creation\n\n // Find another admin or manager to be the updater\n const updaterUser = mockUsers.find(\n (user) => user.roleIds.some((role) => role.id === '1001' || role.id === '1002') && user.id !== adminUser.id,\n );\n\n // Generate titles for tenant-wide utility dashboards\n const tenantDashboardTitles = [\n 'Company Overview',\n 'Team Performance',\n 'Department Productivity',\n 'Organization Metrics',\n 'Office Utilities',\n 'Team Resources',\n 'Corporate Dashboard',\n ];\n\n return {\n id: AXPDataGenerator.uuid(),\n name: `utility-dashboard-${AXPDataGenerator.alphabet(5)}`,\n title: AXPDataGenerator.pick(tenantDashboardTitles),\n description: 'A shared dashboard containing useful utility widgets for organizational productivity.',\n widgets: utilityWidgets,\n roleIds: ['1001', '1002', '1003'], // Accessible by admins, managers, and regular users\n isDeleted: false,\n createdAt: createdAt,\n createdBy: adminUser.id,\n updatedAt: updatedAt,\n updatedBy: updaterUser ? updaterUser.id : undefined,\n scope: 'T', // Always tenant scope for shared dashboards\n };\n}\n\n// Create dashboards: personal dashboards for all users + shared tenant dashboards\nexport const DASHBOARDS = [\n // Create personal chart dashboards for each user with scope 'U'\n ...mockUsers.map((user) => generateChartsDashboard(user)),\n\n // Create several tenant-wide utility dashboards with scope 'T'\n ...Array.from({ length: AXPDataGenerator.number(1, 3) }, () => generateUtilityDashboard()),\n];\n","import { AXMCommonDashboardEntityModel, RootConfig } from '@acorex/modules/dashboard-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\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/core';\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/core';\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/core';\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 {\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}.${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}.${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 { AXMIssueManagementIssueTypeEntityModel } from '@acorex/modules/issue-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateIssueTypes(): AXMIssueManagementIssueTypeEntityModel[] {\n const issueTypes: AXMIssueManagementIssueTypeEntityModel[] = [\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 { AXMIssueManagementIssueTypeEntityModel, RootConfig } from '@acorex/modules/issue-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<AXMIssueManagementIssueTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.issueType.name}`,\n ISSUE_TYPES\n );\n }\n}\n","import { AXMLogManagementAxpLogEntityModel } from '@acorex/modules/log-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\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-56a7-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 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/core';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { mockUsers } from '../../security-management/mock-data';\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 const user = AXPDataGenerator.pick(mockUsers);\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: user.id,\n username: user.username,\n firstName: user.firstName,\n lastName: user.lastName,\n name: `${user.firstName} ${user.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/core';\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\n// export const SKILLS_CATEGORY_MOCK = [\n// // {\n// // id: AXPDataGenerator.uuid(),\n// // title: 'Technical Skills',\n// // parentId: null,\n// // description: 'All software development and IT-related competencies',\n// // },\n// {\n// id: AXPDataGenerator.uuid(),\n// title: 'Technical Skills',\n// parentId: null,\n// description: 'All software development related competencies',\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// title: 'Programming Languages',\n// parentId: 'AXPDataGenerator.uuid()', // References Technical Skills\n// description: 'Core coding languages and frameworks',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Frontend Development',\n// parentId: 'AXPDataGenerator.uuid()', // References Programming Languages\n// description: 'Client-side technologies',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'JavaScript',\n// parentId: 'AXPDataGenerator.uuid()', // References Frontend Development\n// description: 'Core web scripting language',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'React.js',\n// parentId: 'AXPDataGenerator.uuid()', // References Frontend Development\n// description: 'Popular UI component library',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Backend Development',\n// parentId: 'AXPDataGenerator.uuid()', // References Programming Languages\n// description: 'Server-side technologies',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Node.js',\n// parentId: 'AXPDataGenerator.uuid()', // References Backend Development\n// description: 'JavaScript runtime environment',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Business Skills',\n// parentId: null,\n// description: 'Administrative and organizational competencies',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Project Management',\n// parentId: 'AXPDataGenerator.uuid()', // References Business Skills\n// description: 'Planning and executing projects',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Scrum',\n// parentId: 'AXPDataGenerator.uuid()', // References Project Management\n// description: 'Agile project management framework',\n// },\n// ];\n\n// export const SKILLS_MOCK = [\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0], SKILLS_CATEGORY_MOCK[1]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id, SKILLS_CATEGORY_MOCK[1].id],\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id],\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id],\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id],\n// },\n// ];\n","import {\n AXMOrganizationManagementResponsibilityCategoryEntityModel,\n AXMOrganizationManagementResponsibilityEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateResponsibilitiesCategory() {\n const responsibilitiesCategory: AXMOrganizationManagementResponsibilityCategoryEntityModel[] = [];\n\n const rootCategory = [\n 'Technical Responsibilities',\n 'Management Responsibilities',\n 'Operational Responsibilities',\n 'Business Responsibilities',\n 'Administrative Responsibilities',\n ];\n\n rootCategory.forEach((title) => {\n responsibilitiesCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childResponsibilyCategory = [\n {\n parent: 'Technical Responsibilities',\n children: ['Development', 'Testing', 'Deployment', 'Maintenance'],\n },\n {\n parent: 'Management Responsibilities',\n children: ['Team Management', 'Project Management', 'Product Management'],\n },\n {\n parent: 'Operational Responsibilities',\n children: ['IT Operations', 'Customer Support', 'Security'],\n },\n {\n parent: 'Business Responsibilities',\n children: ['Sales', 'Marketing', 'Client Relations'],\n },\n {\n parent: 'Administrative Responsibilities',\n children: ['HR', 'Finance', 'Legal'],\n },\n ];\n\n childResponsibilyCategory.forEach((child) => {\n const parent = responsibilitiesCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n responsibilitiesCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return responsibilitiesCategory;\n}\n\nexport const RESPONSIBILITIES_CATEGORY_MOCK = generateResponsibilitiesCategory();\n\nfunction generateResponsibility() {\n const responsibilities: AXMOrganizationManagementResponsibilityEntityModel[] = [];\n const responsibilitiesCategory = RESPONSIBILITIES_CATEGORY_MOCK;\n\n const childResponsibilities = [\n {\n parent: 'Development',\n children: [\n 'Implement new features',\n 'Write clean and efficient code',\n 'Debug and troubleshoot issues',\n 'Optimize application performance',\n ],\n },\n {\n parent: 'Testing',\n children: [\n 'Write unit tests',\n 'Conduct integration testing',\n 'Perform regression testing',\n 'Document test cases',\n ],\n },\n {\n parent: 'Team Management',\n children: [\n 'Conduct performance reviews',\n 'Mentor junior team members',\n 'Coordinate team tasks',\n 'Facilitate team meetings',\n ],\n },\n {\n parent: 'Project Management',\n children: [\n 'Create project timelines',\n 'Manage project resources',\n 'Track project progress',\n 'Mitigate project risks',\n ],\n },\n {\n parent: 'IT Operations',\n children: [\n 'Monitor system health',\n 'Manage server infrastructure',\n 'Handle backup operations',\n 'Respond to system outages',\n ],\n },\n {\n parent: 'Sales',\n children: [\n 'Identify new business opportunities',\n 'Negotiate contracts',\n 'Maintain client relationships',\n 'Achieve sales targets',\n ],\n },\n {\n parent: 'HR',\n children: [\n 'Recruit new employees',\n 'Manage employee benefits',\n 'Organize training programs',\n 'Handle employee relations',\n ],\n },\n ];\n\n childResponsibilities.forEach(({ parent, children }) => {\n const parentObj = responsibilitiesCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((responsibility) => {\n responsibilities.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: responsibility,\n categoryIds: [parentObj.id],\n });\n });\n }\n });\n\n return responsibilities;\n}\n\nexport const RESPONSIBILITIES_MOCK = generateResponsibility();\n","import {\n AXMOrganizationManagementSkillCategoryEntityModel,\n AXMOrganizationManagementSkillEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateSkillsCategory() {\n const skillsCategory: AXMOrganizationManagementSkillCategoryEntityModel[] = [];\n\n const rootCategory = [\n 'Software Development',\n 'Information Technology',\n 'Product Management',\n 'Customer Success',\n 'Corporate Operations',\n 'Research & Innovation',\n ];\n\n rootCategory.forEach((title) => {\n skillsCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childSkillCategory = [\n {\n parent: 'Software Development',\n children: ['Frontend Development', 'Backend Development', 'Mobile Development', 'Quality Assurance'],\n },\n {\n parent: 'Information Technology',\n children: ['Infrastructure Team', 'DevOps Team', 'Cybersecurity Team', 'IT Support'],\n },\n {\n parent: 'Product Management',\n children: [\n 'Business Analysis',\n 'Project Management Office',\n 'Scrum Masters',\n 'Cybersecurity Team',\n 'Product Owner',\n ],\n },\n ];\n\n childSkillCategory.forEach((child) => {\n const parent = skillsCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n skillsCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return skillsCategory;\n}\n\nexport const SKILLS_CATEGORY_MOCK = generateSkillsCategory();\n\nfunction generateSkill() {\n const skills: AXMOrganizationManagementSkillEntityModel[] = [];\n const skillsCategory = SKILLS_CATEGORY_MOCK;\n\n const childSkills = [\n {\n parent: 'Frontend Development',\n children: ['React Team', 'Angular Team', 'UI/UX Team'],\n },\n {\n parent: 'Backend Development',\n children: ['Node.js Team', 'Python Team', 'Microservices Team'],\n },\n {\n parent: 'Mobile Development',\n children: ['iOS Team', 'Android Team', 'React Native Team'],\n },\n {\n parent: 'Quality Assurance',\n children: ['Automation Testing', 'Manual Testing', 'QA Engineering'],\n },\n {\n parent: 'Information Technology',\n children: ['Infrastructure Team', 'DevOps Team', 'Cybersecurity Team', 'IT Support'],\n },\n {\n parent: 'Product Management',\n children: ['Business Analysis', 'Project Management Office', 'Scrum Masters', 'Product Owners'],\n },\n {\n parent: 'Customer Success',\n children: ['Technical Support', 'Implementation Team', 'Customer Education'],\n },\n {\n parent: 'Human Resources',\n children: ['Talent Acquisition', 'Employee Development', 'Compensation & Benefits'],\n },\n {\n parent: 'Finance',\n children: ['Accounting', 'Financial Planning', 'Billing & Payments'],\n },\n {\n parent: 'Sales & Marketing',\n children: ['Digital Marketing', 'Business Development', 'Customer Relationship Management'],\n },\n {\n parent: 'Executive Leadership',\n children: ['C-Suite Executives', 'Board of Directors', 'Corporate Strategy'],\n },\n {\n parent: 'Research & Innovation',\n children: ['R&D Labs', 'Emerging Technologies', 'Innovation Incubator'],\n },\n ];\n\n childSkills.forEach(({ parent, children }) => {\n const parentObj = skillsCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((skill) => {\n skills.push({ description: '', id: AXPDataGenerator.uuid(), title: skill, categoryIds: [parentObj.id] });\n });\n }\n });\n\n return skills;\n}\n\nexport const SKILLS_MOCK = generateSkill();\n","import {\n AXMOrganizationManagementPositionCategoryEntityModel,\n AXMOrganizationManagementPositionEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { RESPONSIBILITIES_MOCK } from './responsibility.data';\nimport { SKILLS_MOCK } from './skill.data';\n\nfunction generatePositionsCategory() {\n const positionsCategory: AXMOrganizationManagementPositionCategoryEntityModel[] = [];\n\n const rootCategory = [\n 'Engineering Positions',\n 'Technical Leadership',\n 'Product Positions',\n 'Operations',\n 'Business Functions',\n 'Executive Leadership',\n ];\n\n rootCategory.forEach((title) => {\n positionsCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childPositionCategory = [\n {\n parent: 'Engineering Positions',\n children: ['Frontend Engineering', 'Backend Engineering', 'Mobile Engineering', 'Quality Engineering'],\n },\n {\n parent: 'Technical Leadership',\n children: ['Engineering Management', 'Technical Architecture', 'DevOps Leadership'],\n },\n {\n parent: 'Product Positions',\n children: ['Product Management', 'UX/UI Design', 'Product Analytics'],\n },\n {\n parent: 'Operations',\n children: ['IT Operations', 'Technical Support', 'Security Operations'],\n },\n {\n parent: 'Business Functions',\n children: ['Sales', 'Marketing', 'Business Development'],\n },\n {\n parent: 'Executive Leadership',\n children: ['C-Suite', 'Board Members', 'Corporate Strategy'],\n },\n ];\n\n childPositionCategory.forEach((child) => {\n const parent = positionsCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n positionsCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return positionsCategory;\n}\n\nexport const POSITIONS_CATEGORY_MOCK = generatePositionsCategory();\n\nfunction generatePosition() {\n const positions: AXMOrganizationManagementPositionEntityModel[] = [];\n const positionsCategory = POSITIONS_CATEGORY_MOCK;\n\n const childPositions = [\n {\n parent: 'Frontend Engineering',\n children: ['Junior Frontend Engineer', 'Frontend Engineer', 'Senior Frontend Engineer', 'Frontend Architect'],\n },\n {\n parent: 'Backend Engineering',\n children: ['Junior Backend Engineer', 'Backend Engineer', 'Senior Backend Engineer', 'Backend Architect'],\n },\n {\n parent: 'Mobile Engineering',\n children: ['Junior Mobile Developer', 'Mobile Developer', 'Senior Mobile Developer', 'Mobile Architect'],\n },\n {\n parent: 'Quality Engineering',\n children: ['QA Analyst', 'QA Engineer', 'Senior QA Engineer', 'QA Manager'],\n },\n {\n parent: 'Engineering Management',\n children: ['Engineering Team Lead', 'Engineering Manager', 'Director of Engineering', 'VP of Engineering'],\n },\n {\n parent: 'Product Management',\n children: ['Associate Product Manager', 'Product Manager', 'Senior Product Manager', 'Director of Product'],\n },\n {\n parent: 'UX/UI Design',\n children: ['UX Designer', 'UI Designer', 'Senior UX Designer', 'UX Design Manager'],\n },\n {\n parent: 'IT Operations',\n children: ['IT Support Specialist', 'Systems Administrator', 'IT Manager', 'Director of IT'],\n },\n {\n parent: 'Sales',\n children: ['Sales Associate', 'Account Executive', 'Sales Manager', 'VP of Sales'],\n },\n {\n parent: 'C-Suite',\n children: ['CTO', 'CEO', 'CFO', 'COO'],\n },\n {\n parent: 'DevOps Leadership',\n children: ['DevOps Engineer', 'Senior DevOps Engineer', 'DevOps Manager', 'Director of DevOps'],\n },\n ];\n\n childPositions.forEach(({ parent, children }) => {\n const parentObj = positionsCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((position) => {\n positions.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: position,\n categoryIds: [parentObj.id],\n skillId: SKILLS_MOCK[1].id,\n skill: SKILLS_MOCK[1],\n responsibilityId: RESPONSIBILITIES_MOCK[0].id,\n responsibility: RESPONSIBILITIES_MOCK[0],\n });\n });\n }\n });\n\n return positions;\n}\n\nexport const POSITIONS_MOCK = generatePosition();\n","import {\n AXMOrganizationManagementRoleCategoryEntityModel,\n AXMOrganizationManagementRoleEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { SKILLS_MOCK } from './skill.data';\n\nfunction generateRolesCategory() {\n const rolesCategory: AXMOrganizationManagementRoleCategoryEntityModel[] = [];\n\n const rootCategory = ['Technology Leadership', 'Engineering', 'Product', 'Operations', 'Business', 'Administrative'];\n\n rootCategory.forEach((title) => {\n rolesCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childRoleCategory = [\n {\n parent: 'Technology',\n children: ['Development', 'DevOps', 'QA', 'IT', 'Security'],\n },\n {\n parent: 'Product',\n children: ['Product Management', 'UX/UI', 'Data Analysis'],\n },\n {\n parent: 'Operations',\n children: ['Customer Support', 'Technical Support', 'Office Management'],\n },\n {\n parent: 'Business',\n children: ['Sales', 'Marketing', 'Business Development'],\n },\n {\n parent: 'Administration',\n children: ['HR', 'Finance', 'Legal'],\n },\n ];\n\n childRoleCategory.forEach((child) => {\n const parent = rolesCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n rolesCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return rolesCategory;\n}\n\nexport const ROLES_CATEGORY_MOCK = generateRolesCategory();\n\nfunction generateRole() {\n const roles: AXMOrganizationManagementRoleEntityModel[] = [];\n const rolesCategory = ROLES_CATEGORY_MOCK;\n\n const childRoles = [\n {\n parent: 'CTO Office',\n children: ['Chief Technology Officer', 'VP of Engineering', 'Technical Fellow'],\n },\n {\n parent: 'Frontend Engineering',\n children: ['Frontend Engineer I', 'Frontend Engineer II', 'Senior Frontend Engineer', 'Frontend Architect'],\n },\n {\n parent: 'Backend Engineering',\n children: [\n 'Backend Engineer I',\n 'Backend Engineer II',\n 'Senior Backend Engineer',\n 'Distributed Systems Engineer',\n ],\n },\n {\n parent: 'DevOps',\n children: ['DevOps Engineer', 'Site Reliability Engineer', 'Cloud Infrastructure Engineer'],\n },\n {\n parent: 'Product Management',\n children: ['Product Manager', 'Senior Product Manager', 'Director of Product', 'Chief Product Officer'],\n },\n {\n parent: 'Quality Engineering',\n children: ['QA Engineer', 'Test Automation Engineer', 'Quality Assurance Manager'],\n },\n {\n parent: 'IT Operations',\n children: ['IT Support Specialist', 'Systems Administrator', 'Network Engineer'],\n },\n {\n parent: 'Human Resources',\n children: ['HR Business Partner', 'Talent Acquisition Specialist', 'Compensation Analyst'],\n },\n {\n parent: 'Finance',\n children: ['Financial Analyst', 'Controller', 'Chief Financial Officer'],\n },\n {\n parent: 'Sales',\n children: ['Account Executive', 'Sales Engineer', 'VP of Sales'],\n },\n {\n parent: 'Engineering Management',\n children: ['Engineering Manager', 'Director of Engineering', 'VP of Engineering'],\n },\n {\n parent: 'Security Operations',\n children: ['Security Analyst', 'Security Engineer', 'Chief Information Security Officer'],\n },\n ];\n\n childRoles.forEach(({ parent, children }) => {\n const parentObj = rolesCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((role) => {\n roles.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: role,\n categoryIds: [parentObj.id],\n skillId: SKILLS_MOCK[2].id,\n skill: SKILLS_MOCK[2],\n });\n });\n }\n });\n\n return roles;\n}\n\nexport const ROLES_MOCK = generateRole();\n","import {\n AXMOrganizationManagementBranchEntityModel,\n AXMOrganizationManagementChartEntityModel,\n AXMOrganizationManagementDepartmentEntityModel,\n AXMOrganizationManagementDivisionEntityModel,\n AXMOrganizationManagementEmployeeEntityModel,\n AXMOrganizationManagementEmploymentTypeEntityModel,\n AXMOrganizationManagementPositionEntityModel,\n AXMOrganizationManagementResponsibilityCategoryEntityModel,\n AXMOrganizationManagementResponsibilityEntityModel,\n AXMOrganizationManagementRoleEntityModel,\n AXMOrganizationManagementSkillCategoryEntityModel,\n AXMOrganizationManagementSkillEntityModel,\n AXMOrganizationManagementTeamEntityModel,\n RootConfig,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\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';\nimport { POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK } from './position.data';\nimport { RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK } from './responsibility.data';\nimport { ROLES_CATEGORY_MOCK, ROLES_MOCK } from './role.data';\nimport { SKILLS_CATEGORY_MOCK, SKILLS_MOCK } from './skill.data';\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 Category\n await this.storageService.initial<AXMOrganizationManagementPositionEntityModel>(\n RootConfig.entities.positionCategory.source,\n POSITIONS_CATEGORY_MOCK\n );\n\n // Positions\n await this.storageService.initial<AXMOrganizationManagementPositionEntityModel>(\n RootConfig.entities.position.source,\n POSITIONS_MOCK\n );\n\n // Role Category\n await this.storageService.initial<AXMOrganizationManagementRoleEntityModel>(\n RootConfig.entities.roleCategory.source,\n ROLES_CATEGORY_MOCK\n );\n\n // Role\n await this.storageService.initial<AXMOrganizationManagementRoleEntityModel>(\n RootConfig.entities.role.source,\n ROLES_MOCK\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 // Skill Category\n await this.storageService.initial<AXMOrganizationManagementSkillCategoryEntityModel>(\n RootConfig.entities.skillCategory.source,\n SKILLS_CATEGORY_MOCK\n );\n\n // Skill\n await this.storageService.initial<AXMOrganizationManagementSkillEntityModel>(\n RootConfig.entities.skill.source,\n SKILLS_MOCK\n );\n\n // Responsibility Category\n await this.storageService.initial<AXMOrganizationManagementResponsibilityCategoryEntityModel>(\n RootConfig.entities.responsibilityCategory.source,\n RESPONSIBILITIES_CATEGORY_MOCK\n );\n\n // Responsibility\n await this.storageService.initial<AXMOrganizationManagementResponsibilityEntityModel>(\n RootConfig.entities.responsibility.source,\n RESPONSIBILITIES_MOCK\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/core';\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\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/core';\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.9${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/core';\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 { AXLocaleProfile } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPCity,\n AXPCountry,\n AXPCurrency,\n AXPLanguage,\n AXPLocaleProfile,\n AXPProvince,\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 getLocaleProfiles(): Promise<AXPLocaleProfile[]> {\n const { profiles } = await import('./data/profiles');\n return profiles.filter((c) => ['en-US', 'fa-IR'].some((e) => e == c.localeInfo.code));\n }\n\n async getLanguages(): Promise<AXPLanguage[]> {\n return (await this.getLocaleProfiles()).map((c) => ({ code: c.localeInfo.code, 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();\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};\nconst child3 = {\n id: AXPDataGenerator.uuid(),\n title: 'Training',\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,child3],\n },\n child1,\n child2,\n child3,\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\"}';\nconst companyInterface = \n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"select-editor\",\"name\":\"select-editor1\"}],\"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 id: AXPDataGenerator.uuid(),\n name: 'company',\n title: 'Company',\n defaultValue: '',\n interface: companyInterface,\n categoryIds: [METADATA_CATEGORY_MOCK[4].id!],\n categories: [METADATA_CATEGORY_MOCK[4]],\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/core';\n\nexport const ClientMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Kapitol Group',\n description: 'Kapitol Group description',\n personId: 0,\n location: '466 William Street'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Maben Group',\n description: 'Maben Group description',\n personId: 0,\n location: '22 Blackwood Street'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Raysett Construction',\n description: 'Raysett Construction description',\n personId: 0,\n location: '18 Station Street'\n },\n];","import { AXMProjectManagementClientEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { ClientMock } from './client.mock';\n\n@Injectable()\nexport class AXCProjectclientDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementClientEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.client.name}`,\n ClientMock\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const projectTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'JSA'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'SWMS'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Permits'\n },\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { ClientMock } from '../client/client.mock';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n\nexport const projectMock = [\n {\n id: AXPDataGenerator.uuid(),\n projectName: 'QA 63 - 207',\n projectNo: '1709CS',\n description: 'DOMESTIC/RESIDENTIAL SWMS',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0],\n projectStatus: 'Initial',\n estimatetime: '2h:7m',\n projectWeight: 1.2,\n clientId: ClientMock[1].id,\n client: ClientMock[1]\n }\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n\n\nexport const projectRoleMemberMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'designer',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'front-developer',\n projectTypeId: projectTypeMock[2].id,\n projectType: projectTypeMock[2]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'backend-developer',\n projectTypeId: projectTypeMock[1].id,\n projectType: projectTypeMock[1]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'devops',\n projectTypeId: projectTypeMock[1].id,\n projectType: projectTypeMock[1]\n },\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectMock } from '../project/project.mock';\nimport { projectRoleMemberMock } from '../project-role-member/project-role-member.mock';\n\nexport const projectMemberMock = [\n {\n id: AXPDataGenerator.uuid(),\n description: \"Faranak\",\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n personId: 1,\n projectRoleMemberId: projectRoleMemberMock[0].id,\n projectRoleMember: projectRoleMemberMock[0].title\n },\n {\n id: AXPDataGenerator.uuid(),\n description: \"Reza\",\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n personId: 0,\n projectRoleMemberId: projectRoleMemberMock[1].id,\n projectRoleMember: projectRoleMemberMock[1].title\n },\n {\n id: AXPDataGenerator.uuid(),\n description: \"Zari\",\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n personId: 2,\n projectRoleMemberId: projectRoleMemberMock[2].id,\n projectRoleMember: projectRoleMemberMock[2].title\n }\n];","import { AXMProjectManagementProjectEntityModel, AXMProjectManagementProjectMemeberEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { projectMemberMock } from './project-member.mock';\n\n\n@Injectable()\nexport class AXCProjectMemberDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementProjectMemeberEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.projectMemeber.name}`,\n projectMemberMock\n );\n }\n}","import { AXMProjectManagementProjectRoleMemberEntityModel, AXMProjectManagementProjectTypeEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { projectRoleMemberMock } from './project-role-member.mock';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n@Injectable()\nexport class AXCProjectRoleMemberDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementProjectTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.projectType.name}`,\n projectTypeMock\n );\n\n await this.storageService.initial<AXMProjectManagementProjectRoleMemberEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.projectRoleMember.name}`,\n projectRoleMemberMock\n );\n }\n}\n","import { AXMProjectManagementProjectEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { projectMock } from './project.mock';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\n\n\n@Injectable()\nexport class AXCProjectDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementProjectEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.project.name}`,\n projectMock\n );\n }\n}","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectMock } from '../project/project.mock';\n\nexport const sprintMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Sprint 1',\n description: 'Sprint 1 description',\n startDate: new Date('2021-01-01'),\n endDate: new Date('2021-01-15'),\n projectId: projectMock[0].id,\n project: projectMock[0].projectName\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Sprint 2',\n description: 'Sprint 2 description',\n startDate: new Date('2021-01-16'),\n endDate: new Date('2021-01-30'),\n projectId: projectMock[0].id,\n project: projectMock[0].projectName\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Sprint 3',\n description: 'Sprint 3 description',\n startDate: new Date('2021-02-01'),\n endDate: new Date('2021-02-15'),\n projectId: projectMock[0].id,\n project: projectMock[0].projectName\n },\n];","import { AXMProjectManagementSprintEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { sprintMock } from './sprint.mock';\n\n@Injectable()\nexport class AXCsprintDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementSprintEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.sprint.name}`,\n sprintMock\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n\nexport const taskTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Issue',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0],\n description: 'Issue description'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'UserStory',\n projectTypeId: projectTypeMock[2].id,\n projectType: projectTypeMock[2],\n description: 'UserStory description'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Activity',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0],\n description: 'Activity description'\n },\n];","import { AXMProjectManagementTaskTypeEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { taskTypeMock } from './task-type.mock';\n\n@Injectable()\nexport class AXCTaskTypeDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementTaskTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.taskType.name}`,\n taskTypeMock\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { ClientMock } from '../client/client.mock';\n\nexport const workSiteMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'SPEC SAVERS',\n description: 'SPEC SAVERS description',\n personId: 0,\n location: '520 GRAHAM STREET',\n clientId: ClientMock[0].id,\n client: ClientMock[0]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'SPORTSBET',\n description: 'SPORTSBET description',\n personId: 0,\n location: 'LEVEL 17',\n clientId: ClientMock[2].id,\n client: ClientMock[2]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'ST VINCENTS PRIVATE HOSPITAL MELBOURNE',\n description: 'ST VINCENTS PRIVATE HOSPITAL MELBOURNE description',\n personId: 0,\n location: '59 - 61 VICTORIA PARADE',\n clientId: ClientMock[1].id,\n client: ClientMock[1]\n },\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectMock } from '../project/project.mock';\nimport { workSiteMock } from '../worksite/worksite.mock';\nimport { taskTypeMock } from '../task-type/task-type.mock';\n\nexport const taskMock = [\n {\n id: AXPDataGenerator.uuid(),\n date: new Date('2025-04-23'),\n starttime: new Date('2025-04-23T09:00:00'),\n endTime: new Date('2025-04-23T17:00:00'),\n duration: 20,\n asignedTo: '12',\n title: 'Task 1',\n description: 'Task 1 description',\n estimatetime: 8,\n workSiteId: workSiteMock[0].id,\n workSite: workSiteMock[0],\n typeId: taskTypeMock[0].id,\n type: taskTypeMock[0],\n parentTaskId: null,\n status: 'Current',\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n wieght: 10,\n priorityIndex: 1,\n priorityCritical: 'Low',\n }\n];\n\n\n","import { AXMProjectManagementTaskEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { taskMock } from './task.mock';\n\n@Injectable()\nexport class AXCTaskDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementTaskEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.task.name}`,\n taskMock\n );\n }\n}\n","import { AXMProjectManagementWorkSiteEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { workSiteMock } from './worksite.mock';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\n\n\n@Injectable()\nexport class AXCWorkSiteSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementWorkSiteEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.workSite.name}`,\n workSiteMock\n );\n }\n}","import { AXPDataGenerator } from '@acorex/platform/core';\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/cdk/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 { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { mockRoleDefinitions } from './mock-data';\n\n@Injectable()\nexport class AXPSecurityManagementRoleDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n // private permissionService = inject(AXPPermissionDefinitionProviderService);\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\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 { AXDataSourceFilterOption } from '@acorex/cdk/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/core';\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/core';\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 { AXPSessionContext, AXPTenant, AXPTenantLoader } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { Observable, delay, of } from 'rxjs';\n\n@Injectable()\nexport class MockTenantLoader implements AXPTenantLoader {\n getList(context: AXPSessionContext): Observable<AXPTenant[]> {\n const acorex_tenant = {\n id: '99',\n name: 'acorex-tenant',\n title: 'ACoreX Platform Tenant',\n };\n\n const demo_tenant = {\n id: '1',\n name: 'demo-tenant',\n title: 'DEMO Tenant',\n };\n if (context.user?.name == 'root') {\n return of([demo_tenant, acorex_tenant]).pipe(delay(500));\n } else {\n return of([demo_tenant]).pipe(delay(500));\n }\n }\n}\n","import { AXPApplication, AXPApplicationLoader, AXPSessionContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { Observable, delay, of } from 'rxjs';\n\n@Injectable()\nexport class MockApplicationLoader implements AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]> {\n const demo_app = {\n id: '1',\n name: 'demo',\n title: 'DEMO Application',\n version: '1.0.0',\n editionName: 'Standard',\n };\n const console_app = {\n id: '1',\n name: 'platform',\n title: 'Platform Console',\n version: '1.0.0',\n editionName: 'Standard',\n };\n if (context.user?.name == 'root' && context.tenant?.id == '99') {\n return of([demo_app, console_app]).pipe(delay(500));\n } else {\n return of([demo_app]).pipe(delay(500));\n }\n }\n}\n","import { AXPPermission, AXPPermissionLoader, AXPSessionContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\n@Injectable()\nexport class MockPermissionLoader implements AXPPermissionLoader {\n\n private userPermissions = ['forms:management', 'forms:categories:edit', 'forms:templates:edit'];\n private adminPermissions = [...this.userPermissions, ...['admin', 'demo.admin.settings']];\n private rootPermissions = [...this.adminPermissions, ...['platform', 'platform.reports' ,\n 'document-management:manage','document-management:document-type:manage' ,\n 'document-management:driver:manage']];\n\n\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n if (context.user?.name == 'root') {\n return of(this.rootPermissions);\n } else if (context.user?.name == 'admin') {\n return of(this.adminPermissions);\n } else {\n return of(this.userPermissions);\n }\n }\n}\n","import { AXPFeature, AXPFeatureLoader } from '@acorex/platform/auth';\nimport { Observable, delay, of } from 'rxjs';\n\nexport class MockFeatureLoader implements AXPFeatureLoader {\n private list: AXPFeature[] = [\n {\n name: 'entity-comment',\n title: 'Feature Title',\n value: true,\n },\n {\n name: 'axp-entity-list-advance-filter',\n title: 'Filters',\n value: true,\n },\n ];\n\n getList(): Observable<AXPFeature[]> {\n return of(this.list).pipe(delay(0));\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const periodMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Spring 2024',\n fromDate: new Date(2024, 0, 15), // Jan 15, 2024\n toDate: new Date(2024, 4, 30), // May 30, 2024\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Summer 2024',\n fromDate: new Date(2024, 5, 1), // June 1, 2024\n toDate: new Date(2024, 7, 31), // Aug 31, 2024\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Fall 2024', \n fromDate: new Date(2024, 8, 1), // Sept 1, 2024\n toDate: new Date(2024, 11, 15), // Dec 15, 2024\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Winter 2025',\n fromDate: new Date(2025, 0, 1), // Jan 1, 2025 \n toDate: new Date(2025, 2, 31), // March 31, 2025\n }\n];\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const locationMockData = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'class A',\n address: '123 Main St, Anytown, USA',\n capacity: 10,\n status: 'Available'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'class B',\n address: '456 Main St, Anytown, USA',\n capacity: 5,\n status: 'Unavailable'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'class C',\n address: '789 Main St, Anytown, USA',\n capacity: 20,\n status: 'Maintenance'\n }\n]\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { periodMock } from '../period/period.mock';\nimport { locationMockData } from '../location/location.mock';\n\n\nexport const courseTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Technical skills',\n parentId: null\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Creative skills',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Business or entrepreneurship',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Language learning',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Fitness or wellness',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Other',\n parentId: null\n }, \n ];\n\n export const courseMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'programming',\n summary: 'programming summary',\n units: 10,\n courseTypeId: courseTypeMock[0].id,\n courseType: courseTypeMock[0],\n parentId: null\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'leadership',\n summary: 'leadership summary',\n units: 5,\n courseTypeId: courseTypeMock[2].id,\n courseType: courseTypeMock[2],\n parentId: null \n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'design',\n summary: 'design summary',\n units: 3,\n courseTypeId: courseTypeMock[1].id,\n courseType: courseTypeMock[1],\n parentId: null \n }, \n ];\n\n\n export const courseLocationMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Main Campus - Programming Basics',\n courseId: courseMock[0].id,\n course: courseMock[0],\n locationId: locationMockData[0].id,\n location: locationMockData[0],\n capacity: 30,\n isActive: true\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Downtown Campus - Advanced Programming',\n courseId: courseMock[1].id,\n course: courseMock[1],\n locationId: locationMockData[2].id,\n location: locationMockData[2],\n capacity: 25,\n isActive: true\n }\n ];\n\n export const coursePeriodMockData = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Spring 2023 - Course 1',\n courseId: courseMock[0].id,\n course: courseMock[0],\n periodId: periodMock[0].id,\n period: periodMock[0],\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Summer 2023 - Course 2',\n courseId: courseMock[1].id,\n course: courseMock[1],\n periodId: periodMock[1].id,\n period: periodMock[1],\n },\n ];\n","import { AXMTrainingManagementCourseEntityModel,AXMTrainingManagementCourseTypeEntityModel,RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { courseLocationMock, courseMock, coursePeriodMockData, courseTypeMock } from './course.mock';\n\n\n@Injectable()\nexport class AXCCourseDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementCourseEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.course.name}`,\n courseMock\n );\n await this.storageService.initial<AXMTrainingManagementCourseTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.courseType.name}`,\n courseTypeMock\n );\n await this.storageService.initial<any>(\n `${RootConfig.module.name}.${RootConfig.entities.courseLocation.name}`,\n courseLocationMock\n );\n await this.storageService.initial<any>(\n `${RootConfig.module.name}.${RootConfig.entities.coursePeriod.name}`,\n coursePeriodMockData\n );\n }\n}","import { AXMTrainingManagementPeriodEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { periodMock } from './period.mock';\n\n@Injectable()\nexport class AXCPeriodDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementPeriodEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.period.name}`,\n periodMock\n );\n }\n}\n","\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\n\nconst companyInterface = '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"select-editor\",\"name\":\"select-editor1\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}'\n\nexport const trainingTypeMockData= [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Online Training',\n description: 'Virtual instructor-led training sessions conducted remotely',\n metaTags: [\n {\n name: 'company',\n title: 'Company',\n interface: companyInterface,\n },\n ], \n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Classroom Training',\n description: 'Traditional in-person training sessions in a classroom setting',\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Workshop',\n description: 'Hands-on practical training sessions in small groups',\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Self-paced Learning',\n description: 'Independent learning through online modules and materials',\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Blended Learning',\n description: 'Combination of online and classroom training methods',\n }\n];\n","import { AXMTrainingManagementTrainingTypeEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingTypeMockData } from './training-type.mock';\n@Injectable()\nexport class AXCTrainigTypeDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementTrainingTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.trainingType.name}`,\n trainingTypeMockData\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { trainingTypeMockData } from '../training-type/training-type.mock';\nexport const certificateMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Programming Fundamentals Certificate',\n description: 'Certificate for completing Programming Fundamentals course',\n issueDate: new Date(),\n expireDate: new Date(new Date().setFullYear(new Date().getFullYear() + 3)), // Valid for 3 years\n status: 'Active',\n certificateNumber: 'CERT-2023-001',\n grade: 'A',\n score: 95 ,\n trainingTypeId: trainingTypeMockData[0].id,\n trainingType: trainingTypeMockData[0],\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Leadership Skills Certificate',\n description: 'Certificate for completing Leadership Development Program',\n issueDate: new Date(),\n expireDate: new Date(new Date().setFullYear(new Date().getFullYear() + 1)), // Valid for 1 year\n status: 'Active',\n certificateNumber: 'CERT-2023-002',\n grade: 'B+',\n score: 88,\n trainingTypeId: trainingTypeMockData[1].id,\n trainingType: trainingTypeMockData[1],\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'UI/UX Design Certificate',\n description: 'Certificate for completing Design Principles course',\n issueDate: new Date(),\n expireDate: new Date(new Date().setFullYear(new Date().getFullYear() + 2)), // Valid for 2 years\n status: 'Active', \n certificateNumber: 'CERT-2023-003',\n grade: 'A-',\n score: 92,\n trainingTypeId: trainingTypeMockData[2].id,\n trainingType: trainingTypeMockData[2],\n }\n];\n","\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { courseMock } from '../course/course.mock';\nimport { periodMock } from '../period/period.mock';\nimport { trainingTypeMockData } from '../training-type/training-type.mock';\nimport { certificateMock } from '../certificate/certificate.mock';\n\nexport const trainingMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Training 1',\n description: 'Training 1 description',\n courseId: courseMock[0].id,\n course: courseMock[0],\n periodId: periodMock[0].id,\n period: periodMock[0],\n trainingTypeId: trainingTypeMockData[0].id,\n trainingType: trainingTypeMockData[0],\n certificateId: certificateMock[0].id,\n certificate: certificateMock[0],\n date: new Date(),\n expireDate: new Date(),\n status: 'Inprogress',\n isOnline: true,\n }\n];\n\n\n","import { AXMTrainingManagementTrainingEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingMock } from './training.mock';\n\n@Injectable()\nexport class AXCTrainingDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementTrainingEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.training.name}`,\n trainingMock\n );\n }\n}","import { AXMTrainingManagementCertificateEntityModel, AXMTrainingManagementCourseEntityModel,AXMTrainingManagementCourseTypeEntityModel,RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { certificateMock } from './certificate.mock';\n\n\n@Injectable()\nexport class AXCCertificateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementCertificateEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.certificate.name}`,\n certificateMock\n );\n\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const facilitatorTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Lead Instructor',\n parentId: null,\n priority: 1,\n\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Assistant Instructor',\n parentId: null,\n priority: 2,\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Teaching Assistant',\n parentId: null, \n priority: 3,\n }\n];\n","import { AXPDataGenerator } from \"@acorex/platform/core\";\nimport { trainingMock } from \"../training/training.mock\";\nimport { facilitatorTypeMock } from \"../facilitator-type/facilitator-type.mock\";\nexport const trainingFacilitatorMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Training Facilitator 1',\n trainingId: trainingMock[0].id,\n training: trainingMock[0],\n personId: 1,\n fcilitatorTypeId: facilitatorTypeMock[0].id,\n fcilitatorType: facilitatorTypeMock[0],\n }\n];","import { AXMTrainingManagementFacilitatorTypeEntityModel, AXMTrainingManagementTrainingFacilitatorEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingFacilitatorMock } from './training-facilitator.mock';\nimport { facilitatorTypeMock } from '../facilitator-type/facilitator-type.mock';\n\n@Injectable()\nexport class AXCTrainingFacilitatorDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementFacilitatorTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.facilitatorType.name}`,\n facilitatorTypeMock\n );\n\n await this.storageService.initial<AXMTrainingManagementTrainingFacilitatorEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.trainingFacilitator.name}`,\n trainingFacilitatorMock\n );\n\n }\n}","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { trainingMock } from '../training/training.mock';\n\nexport const trainingParticipantMockData = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Training Participant 1',\n trainingId: trainingMock[0].id,\n training: trainingMock[0],\n tarineeId: 'Faranak',\n groupId: 'Group 1'\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Training Participant 2',\n trainingId: trainingMock[0].id,\n training: trainingMock[0],\n tarineeId: 'Feri',\n groupId: 'Group 2'\n },\n];\n\n","import { AXMTrainingManagementFacilitatorTypeEntityModel, AXMTrainingManagementTrainingFacilitatorEntityModel, AXMTrainingManagementTrainingParticipantEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingParticipantMockData } from './training-participant.mock';\n\n@Injectable()\nexport class AXCTrainingParticipantDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementTrainingParticipantEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.trainingParticipant.name}`,\n trainingParticipantMockData\n );\n }\n}","import { AXMTrainingManagementLocationEntityModel,RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { locationMockData } from './location.mock';\n\n\n@Injectable()\nexport class AXCLocationDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementLocationEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.location.name}`,\n locationMockData\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 { AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER, AXPAuthModule } from '@acorex/platform/auth';\nimport { AXP_SEARCH_PROVIDER, AXPFileStorageService, AXPRegionalService } from '@acorex/platform/common';\nimport { AXP_DATA_SEEDER_TOKEN, AXPDataSeederService, AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { Injector, NgModule } from '@angular/core';\nimport { AXCApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXPDashboardDataSeeder } from './dashboard-management';\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 { AXPIssueTypeDataSeeder } from './issue-management/issue-type/data.seeder';\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 { AXCMetaDataDefinitionDataSeeder } from './platform-management/metadata/metadata.seeder';\nimport { AXCProjectclientDataSeeder } from './project-management/client/client.seeder';\nimport { AXCProjectMemberDataSeeder } from './project-management/project-member/project.member.seeder';\nimport { AXCProjectRoleMemberDataSeeder } from './project-management/project-role-member/project-role-member.seeder';\nimport { AXCProjectDataSeeder } from './project-management/project/project.seeder';\nimport { AXCsprintDataSeeder } from './project-management/sprint/sprint.seeder';\nimport { AXCTaskTypeDataSeeder } from './project-management/task-type/task-type-seeder';\nimport { AXCTaskDataSeeder } from './project-management/task/task.seeder';\nimport { AXCWorkSiteSeeder } from './project-management/worksite/worksite.seeder';\nimport { AXCSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder } from './security-management';\nimport { AXCDeviceSessionService } from './security-management/device-session.service';\nimport { AXPSecurityManagementDeviceSessionDataSeeder } from './security-management/device-sessions.seeder';\nimport { AXCTextTemplateCategoryDataSeeder, AXCTextTemplateDataSeeder } from './text-template-management';\nimport { AXPAppStartUpService } from '@acorex/platform/core';\nimport { MockTenantLoader } from './auth/tenant.loader';\nimport { MockApplicationLoader } from './auth/application.loader';\nimport { MockPermissionLoader } from './auth/permission.loader';\nimport { MockFeatureLoader } from './auth/feature.loader';import { AXCCourseDataSeeder } from './training-management/course/course.seeder';\nimport { AXCPeriodDataSeeder } from './training-management/period/period.seeder';\nimport { AXCTrainigTypeDataSeeder } from './training-management/training-type/training-type.seeder';\nimport { AXCTrainingDataSeeder } from './training-management/training/training.seeder';\nimport { AXCCertificateDataSeeder } from './training-management/certificate/certificate.seeder';\nimport { AXCTrainingFacilitatorDataSeeder } from './training-management/training-facilitator/training-facilitator.seeder';\nimport { AXCTrainingParticipantDataSeeder } from './training-management/training-participant/training-participant.seeder';\nimport { AXCLocationDataSeeder } from './training-management/location/location.seeder';\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: AXPSecurityManagementUserDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSecurityManagementRoleDataSeeder,\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 provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectclientDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCWorkSiteSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectRoleMemberDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTaskTypeDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectMemberDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCsprintDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTaskDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCCourseDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCPeriodDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainigTypeDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainingDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCCertificateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainingFacilitatorDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainingParticipantDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCLocationDataSeeder,\n multi: true,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: MockTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: MockApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: MockPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: MockFeatureLoader,\n },\n ],\n})\nexport class AXCMockModule {\n constructor(appInitService: AXPAppStartUpService, injector: Injector) {\n const seederService = injector.get(AXPDataSeederService);\n appInitService.registerTask({\n name: 'Mock',\n statusText: 'Seed Data ...',\n priority: 200,\n run: async () => {\n await seederService.seed();\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["checkbox","titleInterface","descriptionInterface","contractNumberInterface","evaluatorInterface","RootConfig","projectMock","companyInterface","i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-connectivity-mock.mjs","sources":["../../../../libs/connectivity/mock/src/lib/dexie-storage.service.ts","../../../../libs/connectivity/mock/src/lib/application-management/application-management-mock-data.ts","../../../../libs/connectivity/mock/src/lib/application-management/application.seeder.ts","../../../../libs/connectivity/mock/src/lib/application-management/mock-module-designer.service.ts","../../../../libs/connectivity/mock/src/lib/security-management/mock-data.ts","../../../../libs/connectivity/mock/src/lib/dashboard-management/dashboard.mock.data.ts","../../../../libs/connectivity/mock/src/lib/dashboard-management/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/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/issue-management/issue-type/mock.data.ts","../../../../libs/connectivity/mock/src/lib/issue-management/issue-type/data.seeder.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/responsibility.data.ts","../../../../libs/connectivity/mock/src/lib/organization-management/skill.data.ts","../../../../libs/connectivity/mock/src/lib/organization-management/position.data.ts","../../../../libs/connectivity/mock/src/lib/organization-management/role.data.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/project-management/client/client.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/client/client.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-type/project-type.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project/project.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-role-member/project-role-member.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-member/project-member.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-member/project.member.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/project-role-member/project-role-member.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/project/project.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/sprint/sprint.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/sprint/sprint.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/task-type/task-type.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/task-type/task-type-seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/worksite/worksite.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/task/task.mock.ts","../../../../libs/connectivity/mock/src/lib/project-management/task/task.seeder.ts","../../../../libs/connectivity/mock/src/lib/project-management/worksite/worksite.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/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/auth/tenant.loader.ts","../../../../libs/connectivity/mock/src/lib/auth/application.loader.ts","../../../../libs/connectivity/mock/src/lib/auth/permission.loader.ts","../../../../libs/connectivity/mock/src/lib/auth/feature.loader.ts","../../../../libs/connectivity/mock/src/lib/training-management/period/period.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/location/location.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/course/course.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/course/course.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/period/period.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-type/training-type.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-type/training-type.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/certificate/certificate.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training/training.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training/training.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/certificate/certificate.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/facilitator-type/facilitator-type.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-facilitator/training-facilitator.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-facilitator/training-facilitator.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-participant/training-participant.mock.ts","../../../../libs/connectivity/mock/src/lib/training-management/training-participant/training-participant.seeder.ts","../../../../libs/connectivity/mock/src/lib/training-management/location/location.seeder.ts","../../../../libs/connectivity/mock/src/lib/mock.module.ts","../../../../libs/connectivity/mock/src/acorex-connectivity-mock.ts"],"sourcesContent":["import { applyFilterArray, applySortArray } from '@acorex/platform/core';\nimport Dexie from 'dexie';\n\nimport { AXPDataGenerator } from '@acorex/platform/core';\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\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 { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const MODULES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'UserManagement',\n 'Analytics',\n 'Reporting',\n 'PaymentGateway',\n 'NotificationService',\n 'InventoryManagement',\n ];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const APPLICATIONS_MODULES = Array.from({ length: 5 }).map((_, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n module: AXPDataGenerator.pick(MODULES),\n };\n});\n\nexport const EDITIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Standard', 'Premium', 'Gold', 'Silver', 'Bronze', 'Platinum', 'Enterprise'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const FEATURES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'User Authentication',\n 'Data Encryption',\n 'Real-time Notifications',\n 'Customizable Dashboards',\n 'API Access',\n 'Multi-language Support',\n 'Analytics and Reporting',\n 'Offline Mode',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const ENTITIES = Array.from({ length: 5 }).map((_, i) => {\n const source = ['User', 'Product', 'Order', 'Customer', 'Transaction', 'Category', 'Review', 'InventoryItem'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\nexport const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Read', 'Write', 'Update', 'Delete', 'ManageUsers', 'ViewReports', 'AccessSettings', 'CreateContent'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const PROPERTIES = Array.from({ length: 10 }).map((_, i) => {\n const source = [\n 'property1',\n 'property2',\n 'property3',\n 'property4',\n 'property5',\n 'property6',\n 'property7',\n 'property8',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n entityId: AXPDataGenerator.pick(ENTITIES).id,\n name: name,\n title: name,\n path: name,\n };\n});\n","import {\n APPLICATION_SOURCE_NAME,\n AXMApplicationEntityModel,\n AXMEditionEntityModel,\n AXMEntityEntityModel,\n AXMFeatureEntityModel,\n AXMModuleEntityModel,\n AXMPermissionEntityModel,\n AXMPropertyEntityModel,\n ENTITY_SOURCE_NAME,\n FEATURE_SOURCE_NAME,\n MODULE_SOURCE_NAME,\n PERMISSION_SOURCE_NAME,\n PROPERTY_SOURCE_NAME,\n} from '@acorex/modules/application-management';\nimport { AXPDataSeeder } 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/cdk/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 { 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","import {\n AXMCommonDashboardEntityModel,\n AXPBarChartWidget,\n AXPClockCalendarWidget,\n AXPDonutChartWidget,\n AXPGaugeChartWidget,\n AXPLineChartWidget,\n AXPStickyNoteWidget,\n AXPTaskListWidget,\n AXPWeatherWidget,\n} from '@acorex/modules/dashboard-management';\nimport { AXPMyNotificationDashboardWidget } from '@acorex/modules/notification-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { mockUsers } from '../security-management/mock-data';\n\n// Widget types that can be used for generating mock data\nconst widgetTypes = [\n 'bar-chart',\n 'donut-chart',\n 'gauge-chart',\n 'line-chart',\n 'map',\n 'clock-calendar',\n 'weather',\n 'sticky-note',\n 'notification',\n 'task-list',\n];\n\n// Generate bar chart widget\nfunction generateBarChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Data must match AXPBarChartData structure from @acorex/charts/bar-chart\n const barChartData = [\n { id: 'a', label: 'Category A', value: AXPDataGenerator.number(30, 100), color: '#43b57f' },\n { id: 'b', label: 'Category B', value: AXPDataGenerator.number(30, 100), color: '#ff6f61' },\n { id: 'c', label: 'Category C', value: AXPDataGenerator.number(30, 100), color: '#f4a300' },\n { id: 'd', label: 'Category D', value: AXPDataGenerator.number(10, 30), color: '#a20e3f' },\n { id: 'e', label: 'Category E', value: AXPDataGenerator.number(70, 100), color: '#2bc4b0' },\n ];\n\n // Options must match AXPBarChartOption structure from @acorex/charts/bar-chart\n const barChartOptions = {\n width: 600,\n height: 400,\n showXAxis: true,\n showYAxis: true,\n showGrid: true,\n showTooltip: true,\n barWidth: 80,\n cornerRadius: 4,\n animationDuration: 800,\n animationEasing: 'cubic-out',\n showDataLabels: false,\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPBarChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `bar-chart-${uniqueId}`,\n path: `bar-chart-${uniqueId}`,\n type: 'bar-chart',\n defaultValue: barChartData,\n options: { ...barChartOptions, title: 'Bar Chart' },\n },\n };\n}\n\n// Generate clock-calendar widget\nfunction generateClockCalendarWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPClockCalendarWidget?.meta?.['dimensions'],\n },\n node: {\n name: `clock-calendar-${uniqueId}`,\n path: `clock-calendar-${uniqueId}`,\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 title: '',\n },\n },\n };\n}\n\n// Generate weather widget\nfunction generateWeatherWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPWeatherWidget?.meta?.['dimensions'],\n },\n node: {\n name: `weather-${uniqueId}`,\n path: `weather-${uniqueId}`,\n type: 'weather',\n options: {\n city: AXPDataGenerator.city(),\n },\n meta: {\n ...AXPWeatherWidget.meta,\n },\n },\n };\n}\n\n// Generate sticky-note widget\nfunction generateStickyNoteWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPStickyNoteWidget?.meta?.['dimensions'],\n },\n node: {\n name: `sticky-note-${uniqueId}`,\n path: `sticky-note-${uniqueId}`,\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 hasConfiguration: false,\n },\n },\n };\n}\n\n// Generate notification widget\nfunction generateNotificationWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Generate 3-8 random notifications\n const notifications = Array.from({ length: AXPDataGenerator.number(3, 8) }).map((_, index) => {\n const user = AXPDataGenerator.pick(mockUsers);\n\n // Select a random notification type\n const type = AXPDataGenerator.pick(['File', 'Person', 'Notification']) as 'File' | 'Person' | 'Notification';\n\n // Select a random notification priority\n const priority = AXPDataGenerator.pick(['Warning', 'Danger', 'Notice']) as 'Warning' | 'Danger' | 'Notice';\n\n // Create message based on type\n let message = '';\n switch (type) {\n case 'File':\n message = `New document \"${AXPDataGenerator.alphabet(AXPDataGenerator.number(5, 20))}.${AXPDataGenerator.pick([\n 'pdf',\n 'docx',\n 'xlsx',\n ])}\" has been shared with you`;\n break;\n case 'Person':\n message = `${user.firstName} ${user.lastName} ${AXPDataGenerator.pick([\n 'sent you a message',\n 'mentioned you in a comment',\n 'added you to a project',\n 'requested your feedback',\n ])}`;\n break;\n case 'Notification':\n message = AXPDataGenerator.pick([\n 'Your task is due tomorrow',\n 'Meeting starts in 15 minutes',\n 'Your report has been approved',\n 'Project status has been updated',\n 'New announcement from the team',\n ]);\n break;\n }\n\n // Create a random timestamp within the last week\n const now = new Date();\n const weekAgo = new Date();\n weekAgo.setDate(now.getDate() - 7);\n const timestamp = AXPDataGenerator.date(weekAgo, now);\n\n // Make some notifications read and some unread\n const isRead = index < 2 ? false : AXPDataGenerator.boolean();\n\n return {\n id: AXPDataGenerator.uuid(),\n title: `${user.firstName} ${user.lastName}`,\n body: message,\n channel: 'InApp',\n content: {\n type,\n data: {},\n },\n user: {\n id: user.id,\n username: user.username,\n firstName: user.firstName,\n lastName: user.lastName,\n name: `${user.firstName} ${user.lastName}`,\n image: `https://i.pravatar.cc/150?u=${user.id}`,\n },\n template: {\n category: 'Inbox',\n priority,\n icon: `fa-light fa-${AXPDataGenerator.pick(['envelope', 'bell', 'file', 'user', 'calendar'])}`,\n isPinned: AXPDataGenerator.boolean(),\n },\n readAt: isRead ? AXPDataGenerator.date(weekAgo, timestamp) : null,\n createdAt: timestamp,\n };\n });\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPMyNotificationDashboardWidget?.meta?.['dimensions'],\n },\n node: {\n name: `notification-${uniqueId}`,\n path: `notification-${uniqueId}`,\n type: AXPMyNotificationDashboardWidget.name,\n defaultValue: {\n data: notifications,\n total: notifications.length,\n },\n options: {\n title: 'Notifications',\n maxItems: 10,\n showAvatar: true,\n showTimestamp: true,\n autoRefresh: true,\n refreshInterval: 60,\n },\n },\n };\n}\n\n// Generate donut-chart widget\nfunction generateDonutChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Data must match AXPDonutChartData structure from @acorex/charts/donut-chart\n const donutChartData = [\n { id: 'a', name: 'Apples', value: AXPDataGenerator.number(20, 50) },\n { id: 'b', name: 'Bananas', value: AXPDataGenerator.number(20, 40) },\n { id: 'c', name: AXPDataGenerator.firstName(), value: AXPDataGenerator.number(10, 30) },\n { id: 'd', name: 'Dates', value: AXPDataGenerator.number(5, 20) },\n ];\n\n // Options must match AXPDonutChartOption structure from @acorex/charts/donut-chart\n const donutChartOptions = {\n width: 300,\n height: 300,\n showTooltip: true,\n donutWidth: 35,\n cornerRadius: 4,\n animationDuration: 1000,\n animationEasing: 'cubic-out',\n showDataLabels: false,\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPDonutChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `donut-chart-${uniqueId}`,\n path: `donut-chart-${uniqueId}`,\n type: 'donut-chart',\n defaultValue: donutChartData,\n options: { ...donutChartOptions, title: 'Donut Chart' },\n },\n };\n}\n\n// Generate gauge-chart widget\nfunction generateGaugeChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // For gauge chart, the value is a simple number according to AXPGaugeChartValue\n const gaugeValue = AXPDataGenerator.number(30, 90);\n\n // Options must match AXPGaugeChartOption structure from @acorex/charts/gauge-chart\n const gaugeChartOptions = {\n // width: 300,\n // height: 300,\n minValue: 0,\n maxValue: 100,\n gaugeWidth: 30,\n cornerRadius: 4,\n label: 'KPI',\n showValue: true,\n animationDuration: 1500,\n showTooltip: false,\n animationEasing: 'cubic-out',\n // Optional color thresholds\n thresholds: [\n { value: 25, color: 'red' }, // alert threshold\n { value: 50, color: 'orange' }, // warning threshold\n { value: 75, color: 'green' }, // success threshold\n { value: 100, color: 'blue' }, // info threshold\n ],\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPGaugeChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `gauge-chart-${uniqueId}`,\n path: `gauge-chart-${uniqueId}`,\n type: 'gauge-chart',\n defaultValue: gaugeValue,\n options: { ...gaugeChartOptions, title: 'Gauge Chart' },\n },\n };\n}\n\n// Generate line chart widget\nfunction generateLineChartWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Create 1-3 data series\n const seriesCount = AXPDataGenerator.number(1, 3);\n const seriesNames = ['Revenue', 'Users', 'Growth', 'Sales', 'Traffic', 'Engagement'];\n const pointsPerSeries = AXPDataGenerator.number(5, 10);\n\n // Generate data following AXLineChartData structure from @acorex/charts/line-chart\n const chartData = [];\n\n for (let i = 0; i < seriesCount; i++) {\n const seriesName = seriesNames[i % seriesNames.length];\n // Use a bright color from our palette to avoid dark/black colors\n const lineColor = `#${Math.floor(Math.random() * 16777215).toString(16)}`;\n\n // Generate data points for this series\n const dataPoints = [];\n for (let j = 0; j < pointsPerSeries; j++) {\n dataPoints.push({\n x: j + 1,\n y: AXPDataGenerator.number(10, 100),\n });\n }\n\n // Add the series to the chart data\n chartData.push({\n id: `series-${i}`,\n label: seriesName,\n lineColor: lineColor,\n fillColor: `${lineColor}20`, // Add 20 (12.5% opacity) to color hex\n data: dataPoints,\n });\n }\n\n // Options must match AXPLineChartOption structure\n const lineChartOptions = {\n width: 600,\n height: 400,\n showXAxis: true,\n showYAxis: true,\n showGrid: true,\n showTooltip: true,\n lineWidth: AXPDataGenerator.number(1, 4),\n showPoints: true,\n pointRadius: AXPDataGenerator.number(3, 6),\n smoothLine: true,\n fillArea: false,\n fillOpacity: 10,\n animationEnabled: true,\n animationDuration: 1000,\n };\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPLineChartWidget?.meta?.['dimensions'],\n },\n node: {\n name: `line-chart-${uniqueId}`,\n path: `line-chart-${uniqueId}`,\n type: 'line-chart',\n defaultValue: chartData,\n options: { ...lineChartOptions, title: 'Line Chart' },\n },\n };\n}\n\n// Generate task list widget\nfunction generateTaskListWidget() {\n const uniqueId = AXPDataGenerator.uuid();\n\n // Generate 5-12 random tasks\n const tasks = Array.from({ length: AXPDataGenerator.number(5, 12) }).map((_, index) => {\n // Generate random due date between yesterday and next month\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n\n const nextMonth = new Date();\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n const dueDate = AXPDataGenerator.date(yesterday, nextMonth);\n\n // Generate random task data\n const firstName = AXPDataGenerator.firstName();\n const lastName = AXPDataGenerator.lastName();\n\n // Random priority\n const priority = AXPDataGenerator.pick(['low', 'medium', 'high']);\n\n // Random category\n const category = AXPDataGenerator.pick([\n 'Development',\n 'Design',\n 'Marketing',\n 'Meeting',\n 'Research',\n 'Planning',\n 'Documentation',\n ]);\n\n // Generate sample data for second person in a meeting task\n const secondPersonFirstName = AXPDataGenerator.firstName();\n const secondPersonLastName = AXPDataGenerator.lastName();\n\n // Random task title\n const taskTitle = AXPDataGenerator.pick([\n `${AXPDataGenerator.pick(['Create', 'Update', 'Fix', 'Review', 'Finalize'])} ${AXPDataGenerator.pick([\n 'dashboard',\n 'report',\n 'component',\n 'feature',\n 'documentation',\n 'presentation',\n ])}`,\n `${AXPDataGenerator.pick([\n 'Prepare',\n 'Schedule',\n 'Attend',\n 'Summarize',\n ])} meeting with ${secondPersonFirstName} ${secondPersonLastName}`,\n `${AXPDataGenerator.pick(['Research', 'Analyze', 'Document'])} ${AXPDataGenerator.pick([\n 'market trends',\n 'user feedback',\n 'competitor features',\n 'new technology',\n ])}`,\n `${AXPDataGenerator.pick(['Deploy', 'Test', 'Debug'])} ${AXPDataGenerator.pick([\n 'application',\n 'feature',\n 'hotfix',\n 'release',\n ])}`,\n `${AXPDataGenerator.pick(['Contact', 'Follow up with', 'Email'])} ${firstName} about ${AXPDataGenerator.pick([\n 'project status',\n 'contract',\n 'feedback',\n 'requirements',\n ])}`,\n ]);\n\n // Calculate days difference for due date\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n const dueDateCopy = new Date(dueDate);\n dueDateCopy.setHours(0, 0, 0, 0);\n const diffTime = dueDateCopy.getTime() - today.getTime();\n const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));\n\n // Task is completed if it's in the past 30% of the time\n const isCompleted = diffDays < 0 ? Math.random() < 0.8 : Math.random() < 0.3;\n\n return {\n id: AXPDataGenerator.uuid(),\n title: taskTitle,\n completed: isCompleted,\n priority: priority as 'low' | 'medium' | 'high',\n dueDate: dueDate,\n category: category,\n assignedTo: {\n id: AXPDataGenerator.uuid(),\n name: `${firstName} ${lastName}`,\n image: Math.random() < 0.3 ? `https://i.pravatar.cc/150?u=${AXPDataGenerator.uuid()}` : undefined,\n },\n createdAt: AXPDataGenerator.date(new Date(new Date().setDate(new Date().getDate() - 30)), new Date()),\n };\n });\n\n return {\n config: {\n id: AXPDataGenerator.uuid(),\n ...AXPTaskListWidget?.meta?.['dimensions'],\n },\n node: {\n name: `task-list-${uniqueId}`,\n path: `task-list-${uniqueId}`,\n type: 'task-list',\n defaultValue: {\n data: tasks,\n },\n options: {\n maxItems: 10,\n showDate: true,\n showAssignee: true,\n groupByCategory: AXPDataGenerator.boolean(),\n showPriority: AXPDataGenerator.boolean(),\n allowMarkComplete: true,\n hasConfiguration: true,\n title: 'Task List ',\n },\n },\n };\n}\n\n// Widget generator factory\nfunction getWidgetGenerator(type: string) {\n switch (type) {\n case 'bar-chart':\n return generateBarChartWidget;\n case 'donut-chart':\n return generateDonutChartWidget;\n case 'gauge-chart':\n return generateGaugeChartWidget;\n case 'line-chart':\n return generateLineChartWidget;\n case 'clock-calendar':\n return generateClockCalendarWidget;\n case 'weather':\n return generateWeatherWidget;\n case 'sticky-note':\n return generateStickyNoteWidget;\n case 'notification':\n return generateNotificationWidget;\n case 'task-list':\n return generateTaskListWidget;\n default:\n return generateBarChartWidget;\n }\n}\n\n// Utility function to shuffle an array\nfunction shuffleArray<T>(array: T[]): T[] {\n const arr = array.slice();\n for (let i = arr.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [arr[i], arr[j]] = [arr[j], arr[i]];\n }\n return arr;\n}\n\n// Generate a random dashboard with random widgets (no duplicate widget types)\nexport function generateRandomDashboard(): AXMCommonDashboardEntityModel {\n const maxWidgets = widgetTypes.length;\n const widgetCount = Math.min(AXPDataGenerator.number(1, 5), maxWidgets);\n const shuffledTypes = shuffleArray(widgetTypes);\n const selectedTypes = shuffledTypes.slice(0, widgetCount);\n const widgets = selectedTypes.map((type) => {\n const generator = getWidgetGenerator(type);\n return generator();\n });\n\n const creator = AXPDataGenerator.pick(mockUsers);\n const updater = AXPDataGenerator.boolean()\n ? AXPDataGenerator.pick(mockUsers.filter((u) => u.id !== creator.id))\n : undefined;\n\n const createdAt = new Date(Date.now() - AXPDataGenerator.number(1, 30) * 24 * 60 * 60 * 1000); // Random date in last 30 days\n const updatedAt = updater\n ? new Date(createdAt.getTime() + AXPDataGenerator.number(1, 10) * 24 * 60 * 60 * 1000)\n : undefined;\n\n const titleTemplates = [\n `Sales Dashboard`,\n `Project Overview`,\n `Task Board`,\n `Analytics`,\n `Notifications`,\n `Performance Monitor`,\n `Weather & Events`,\n `Team Dashboard`,\n `Marketing Insights`,\n `Operations Panel`,\n ];\n\n const userFullName = `${creator.firstName} ${creator.lastName}`;\n const titleTemplate = AXPDataGenerator.pick(titleTemplates);\n const title = titleTemplate.replace('{user}', userFullName);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: AXPDataGenerator.uuid(),\n title: title,\n description: `This is a sample dashboard for ${title}`,\n widgets: widgets,\n roleIds: creator.roleIds.map((r) => r.id),\n isDeleted: AXPDataGenerator.boolean(),\n createdAt: createdAt,\n updatedAt: updatedAt,\n createdBy: creator.id,\n updatedBy: updater ? updater.id : undefined,\n scope: Math.random() < 0.5 ? 'U' : 'T',\n };\n}\n\n// Generate a Charts Dashboard with one of each chart type\nfunction generateChartsDashboard(user: (typeof mockUsers)[0]): AXMCommonDashboardEntityModel {\n const chartWidgets = [\n generateBarChartWidget(),\n generateDonutChartWidget(),\n generateGaugeChartWidget(),\n generateLineChartWidget(),\n ];\n\n const createdAt = new Date(Date.now() - 15 * 24 * 60 * 60 * 1000); // Created 15 days ago\n\n return {\n id: AXPDataGenerator.uuid(),\n name: `charts-dashboard-${user.username}`,\n title: `${user.firstName}'s Data Dashboard`,\n description: `Personal data visualization dashboard for ${user.firstName} ${user.lastName}`,\n widgets: chartWidgets,\n roleIds: user.roleIds.map((r: { id: string }) => r.id),\n isDeleted: false,\n createdAt: createdAt,\n createdBy: user.id,\n updatedAt: undefined,\n updatedBy: undefined,\n scope: 'U', // Always user scope for personal dashboards\n };\n}\n\n// Generate a Utility Dashboard with utility widgets\nfunction generateUtilityDashboard(): AXMCommonDashboardEntityModel {\n const utilityWidgets = [\n generateClockCalendarWidget(),\n generateWeatherWidget(),\n generateStickyNoteWidget(),\n generateNotificationWidget(),\n generateTaskListWidget(),\n ];\n\n // Find an admin user for the owner of tenant dashboard\n const adminUser = mockUsers.find((user) => user.roleIds.some((role) => role.id === '1001')) || mockUsers[0];\n\n const createdAt = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000); // Created 7 days ago\n const updatedAt = new Date(createdAt.getTime() + 2 * 24 * 60 * 60 * 1000); // Updated 2 days after creation\n\n // Find another admin or manager to be the updater\n const updaterUser = mockUsers.find(\n (user) => user.roleIds.some((role) => role.id === '1001' || role.id === '1002') && user.id !== adminUser.id,\n );\n\n // Generate titles for tenant-wide utility dashboards\n const tenantDashboardTitles = [\n 'Company Overview',\n 'Team Performance',\n 'Department Productivity',\n 'Organization Metrics',\n 'Office Utilities',\n 'Team Resources',\n 'Corporate Dashboard',\n ];\n\n return {\n id: AXPDataGenerator.uuid(),\n name: `utility-dashboard-${AXPDataGenerator.alphabet(5)}`,\n title: AXPDataGenerator.pick(tenantDashboardTitles),\n description: 'A shared dashboard containing useful utility widgets for organizational productivity.',\n widgets: utilityWidgets,\n roleIds: ['1001', '1002', '1003'], // Accessible by admins, managers, and regular users\n isDeleted: false,\n createdAt: createdAt,\n createdBy: adminUser.id,\n updatedAt: updatedAt,\n updatedBy: updaterUser ? updaterUser.id : undefined,\n scope: 'T', // Always tenant scope for shared dashboards\n };\n}\n\n// Create dashboards: personal dashboards for all users + shared tenant dashboards\nexport const DASHBOARDS = [\n // Create personal chart dashboards for each user with scope 'U'\n ...mockUsers.map((user) => generateChartsDashboard(user)),\n\n // Create several tenant-wide utility dashboards with scope 'T'\n ...Array.from({ length: AXPDataGenerator.number(1, 3) }, () => generateUtilityDashboard()),\n];\n","import { AXMCommonDashboardEntityModel, RootConfig } from '@acorex/modules/dashboard-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\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/core';\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/core';\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/core';\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 {\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}.${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}.${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 { AXMIssueManagementIssueTypeEntityModel } from '@acorex/modules/issue-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateIssueTypes(): AXMIssueManagementIssueTypeEntityModel[] {\n const issueTypes: AXMIssueManagementIssueTypeEntityModel[] = [\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 { AXMIssueManagementIssueTypeEntityModel, RootConfig } from '@acorex/modules/issue-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<AXMIssueManagementIssueTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.issueType.name}`,\n ISSUE_TYPES\n );\n }\n}\n","import { AXMLogManagementAxpLogEntityModel } from '@acorex/modules/log-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\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\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-56a7-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 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/core';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { mockUsers } from '../../security-management/mock-data';\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 const user = AXPDataGenerator.pick(mockUsers);\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: user.id,\n username: user.username,\n firstName: user.firstName,\n lastName: user.lastName,\n name: `${user.firstName} ${user.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/core';\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\n// export const SKILLS_CATEGORY_MOCK = [\n// // {\n// // id: AXPDataGenerator.uuid(),\n// // title: 'Technical Skills',\n// // parentId: null,\n// // description: 'All software development and IT-related competencies',\n// // },\n// {\n// id: AXPDataGenerator.uuid(),\n// title: 'Technical Skills',\n// parentId: null,\n// description: 'All software development related competencies',\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// title: 'Programming Languages',\n// parentId: 'AXPDataGenerator.uuid()', // References Technical Skills\n// description: 'Core coding languages and frameworks',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Frontend Development',\n// parentId: 'AXPDataGenerator.uuid()', // References Programming Languages\n// description: 'Client-side technologies',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'JavaScript',\n// parentId: 'AXPDataGenerator.uuid()', // References Frontend Development\n// description: 'Core web scripting language',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'React.js',\n// parentId: 'AXPDataGenerator.uuid()', // References Frontend Development\n// description: 'Popular UI component library',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Backend Development',\n// parentId: 'AXPDataGenerator.uuid()', // References Programming Languages\n// description: 'Server-side technologies',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Node.js',\n// parentId: 'AXPDataGenerator.uuid()', // References Backend Development\n// description: 'JavaScript runtime environment',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Business Skills',\n// parentId: null,\n// description: 'Administrative and organizational competencies',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Project Management',\n// parentId: 'AXPDataGenerator.uuid()', // References Business Skills\n// description: 'Planning and executing projects',\n// },\n// {\n// id: 'AXPDataGenerator.uuid()',\n// title: 'Scrum',\n// parentId: 'AXPDataGenerator.uuid()', // References Project Management\n// description: 'Agile project management framework',\n// },\n// ];\n\n// export const SKILLS_MOCK = [\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0], SKILLS_CATEGORY_MOCK[1]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id, SKILLS_CATEGORY_MOCK[1].id],\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id],\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id],\n// },\n// {\n// id: AXPDataGenerator.uuid(),\n// description: 'asda',\n// title: 'Skill',\n// categories: [SKILLS_CATEGORY_MOCK[0]],\n// categoryIds: [SKILLS_CATEGORY_MOCK[0].id],\n// },\n// ];\n","import {\n AXMOrganizationManagementResponsibilityCategoryEntityModel,\n AXMOrganizationManagementResponsibilityEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateResponsibilitiesCategory() {\n const responsibilitiesCategory: AXMOrganizationManagementResponsibilityCategoryEntityModel[] = [];\n\n const rootCategory = [\n 'Technical Responsibilities',\n 'Management Responsibilities',\n 'Operational Responsibilities',\n 'Business Responsibilities',\n 'Administrative Responsibilities',\n ];\n\n rootCategory.forEach((title) => {\n responsibilitiesCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childResponsibilyCategory = [\n {\n parent: 'Technical Responsibilities',\n children: ['Development', 'Testing', 'Deployment', 'Maintenance'],\n },\n {\n parent: 'Management Responsibilities',\n children: ['Team Management', 'Project Management', 'Product Management'],\n },\n {\n parent: 'Operational Responsibilities',\n children: ['IT Operations', 'Customer Support', 'Security'],\n },\n {\n parent: 'Business Responsibilities',\n children: ['Sales', 'Marketing', 'Client Relations'],\n },\n {\n parent: 'Administrative Responsibilities',\n children: ['HR', 'Finance', 'Legal'],\n },\n ];\n\n childResponsibilyCategory.forEach((child) => {\n const parent = responsibilitiesCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n responsibilitiesCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return responsibilitiesCategory;\n}\n\nexport const RESPONSIBILITIES_CATEGORY_MOCK = generateResponsibilitiesCategory();\n\nfunction generateResponsibility() {\n const responsibilities: AXMOrganizationManagementResponsibilityEntityModel[] = [];\n const responsibilitiesCategory = RESPONSIBILITIES_CATEGORY_MOCK;\n\n const childResponsibilities = [\n {\n parent: 'Development',\n children: [\n 'Implement new features',\n 'Write clean and efficient code',\n 'Debug and troubleshoot issues',\n 'Optimize application performance',\n ],\n },\n {\n parent: 'Testing',\n children: [\n 'Write unit tests',\n 'Conduct integration testing',\n 'Perform regression testing',\n 'Document test cases',\n ],\n },\n {\n parent: 'Team Management',\n children: [\n 'Conduct performance reviews',\n 'Mentor junior team members',\n 'Coordinate team tasks',\n 'Facilitate team meetings',\n ],\n },\n {\n parent: 'Project Management',\n children: [\n 'Create project timelines',\n 'Manage project resources',\n 'Track project progress',\n 'Mitigate project risks',\n ],\n },\n {\n parent: 'IT Operations',\n children: [\n 'Monitor system health',\n 'Manage server infrastructure',\n 'Handle backup operations',\n 'Respond to system outages',\n ],\n },\n {\n parent: 'Sales',\n children: [\n 'Identify new business opportunities',\n 'Negotiate contracts',\n 'Maintain client relationships',\n 'Achieve sales targets',\n ],\n },\n {\n parent: 'HR',\n children: [\n 'Recruit new employees',\n 'Manage employee benefits',\n 'Organize training programs',\n 'Handle employee relations',\n ],\n },\n ];\n\n childResponsibilities.forEach(({ parent, children }) => {\n const parentObj = responsibilitiesCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((responsibility) => {\n responsibilities.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: responsibility,\n categoryIds: [parentObj.id],\n });\n });\n }\n });\n\n return responsibilities;\n}\n\nexport const RESPONSIBILITIES_MOCK = generateResponsibility();\n","import {\n AXMOrganizationManagementSkillCategoryEntityModel,\n AXMOrganizationManagementSkillEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\nfunction generateSkillsCategory() {\n const skillsCategory: AXMOrganizationManagementSkillCategoryEntityModel[] = [];\n\n const rootCategory = [\n 'Software Development',\n 'Information Technology',\n 'Product Management',\n 'Customer Success',\n 'Corporate Operations',\n 'Research & Innovation',\n ];\n\n rootCategory.forEach((title) => {\n skillsCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childSkillCategory = [\n {\n parent: 'Software Development',\n children: ['Frontend Development', 'Backend Development', 'Mobile Development', 'Quality Assurance'],\n },\n {\n parent: 'Information Technology',\n children: ['Infrastructure Team', 'DevOps Team', 'Cybersecurity Team', 'IT Support'],\n },\n {\n parent: 'Product Management',\n children: [\n 'Business Analysis',\n 'Project Management Office',\n 'Scrum Masters',\n 'Cybersecurity Team',\n 'Product Owner',\n ],\n },\n ];\n\n childSkillCategory.forEach((child) => {\n const parent = skillsCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n skillsCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return skillsCategory;\n}\n\nexport const SKILLS_CATEGORY_MOCK = generateSkillsCategory();\n\nfunction generateSkill() {\n const skills: AXMOrganizationManagementSkillEntityModel[] = [];\n const skillsCategory = SKILLS_CATEGORY_MOCK;\n\n const childSkills = [\n {\n parent: 'Frontend Development',\n children: ['React Team', 'Angular Team', 'UI/UX Team'],\n },\n {\n parent: 'Backend Development',\n children: ['Node.js Team', 'Python Team', 'Microservices Team'],\n },\n {\n parent: 'Mobile Development',\n children: ['iOS Team', 'Android Team', 'React Native Team'],\n },\n {\n parent: 'Quality Assurance',\n children: ['Automation Testing', 'Manual Testing', 'QA Engineering'],\n },\n {\n parent: 'Information Technology',\n children: ['Infrastructure Team', 'DevOps Team', 'Cybersecurity Team', 'IT Support'],\n },\n {\n parent: 'Product Management',\n children: ['Business Analysis', 'Project Management Office', 'Scrum Masters', 'Product Owners'],\n },\n {\n parent: 'Customer Success',\n children: ['Technical Support', 'Implementation Team', 'Customer Education'],\n },\n {\n parent: 'Human Resources',\n children: ['Talent Acquisition', 'Employee Development', 'Compensation & Benefits'],\n },\n {\n parent: 'Finance',\n children: ['Accounting', 'Financial Planning', 'Billing & Payments'],\n },\n {\n parent: 'Sales & Marketing',\n children: ['Digital Marketing', 'Business Development', 'Customer Relationship Management'],\n },\n {\n parent: 'Executive Leadership',\n children: ['C-Suite Executives', 'Board of Directors', 'Corporate Strategy'],\n },\n {\n parent: 'Research & Innovation',\n children: ['R&D Labs', 'Emerging Technologies', 'Innovation Incubator'],\n },\n ];\n\n childSkills.forEach(({ parent, children }) => {\n const parentObj = skillsCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((skill) => {\n skills.push({ description: '', id: AXPDataGenerator.uuid(), title: skill, categoryIds: [parentObj.id] });\n });\n }\n });\n\n return skills;\n}\n\nexport const SKILLS_MOCK = generateSkill();\n","import {\n AXMOrganizationManagementPositionCategoryEntityModel,\n AXMOrganizationManagementPositionEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { RESPONSIBILITIES_MOCK } from './responsibility.data';\nimport { SKILLS_MOCK } from './skill.data';\n\nfunction generatePositionsCategory() {\n const positionsCategory: AXMOrganizationManagementPositionCategoryEntityModel[] = [];\n\n const rootCategory = [\n 'Engineering Positions',\n 'Technical Leadership',\n 'Product Positions',\n 'Operations',\n 'Business Functions',\n 'Executive Leadership',\n ];\n\n rootCategory.forEach((title) => {\n positionsCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childPositionCategory = [\n {\n parent: 'Engineering Positions',\n children: ['Frontend Engineering', 'Backend Engineering', 'Mobile Engineering', 'Quality Engineering'],\n },\n {\n parent: 'Technical Leadership',\n children: ['Engineering Management', 'Technical Architecture', 'DevOps Leadership'],\n },\n {\n parent: 'Product Positions',\n children: ['Product Management', 'UX/UI Design', 'Product Analytics'],\n },\n {\n parent: 'Operations',\n children: ['IT Operations', 'Technical Support', 'Security Operations'],\n },\n {\n parent: 'Business Functions',\n children: ['Sales', 'Marketing', 'Business Development'],\n },\n {\n parent: 'Executive Leadership',\n children: ['C-Suite', 'Board Members', 'Corporate Strategy'],\n },\n ];\n\n childPositionCategory.forEach((child) => {\n const parent = positionsCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n positionsCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return positionsCategory;\n}\n\nexport const POSITIONS_CATEGORY_MOCK = generatePositionsCategory();\n\nfunction generatePosition() {\n const positions: AXMOrganizationManagementPositionEntityModel[] = [];\n const positionsCategory = POSITIONS_CATEGORY_MOCK;\n\n const childPositions = [\n {\n parent: 'Frontend Engineering',\n children: ['Junior Frontend Engineer', 'Frontend Engineer', 'Senior Frontend Engineer', 'Frontend Architect'],\n },\n {\n parent: 'Backend Engineering',\n children: ['Junior Backend Engineer', 'Backend Engineer', 'Senior Backend Engineer', 'Backend Architect'],\n },\n {\n parent: 'Mobile Engineering',\n children: ['Junior Mobile Developer', 'Mobile Developer', 'Senior Mobile Developer', 'Mobile Architect'],\n },\n {\n parent: 'Quality Engineering',\n children: ['QA Analyst', 'QA Engineer', 'Senior QA Engineer', 'QA Manager'],\n },\n {\n parent: 'Engineering Management',\n children: ['Engineering Team Lead', 'Engineering Manager', 'Director of Engineering', 'VP of Engineering'],\n },\n {\n parent: 'Product Management',\n children: ['Associate Product Manager', 'Product Manager', 'Senior Product Manager', 'Director of Product'],\n },\n {\n parent: 'UX/UI Design',\n children: ['UX Designer', 'UI Designer', 'Senior UX Designer', 'UX Design Manager'],\n },\n {\n parent: 'IT Operations',\n children: ['IT Support Specialist', 'Systems Administrator', 'IT Manager', 'Director of IT'],\n },\n {\n parent: 'Sales',\n children: ['Sales Associate', 'Account Executive', 'Sales Manager', 'VP of Sales'],\n },\n {\n parent: 'C-Suite',\n children: ['CTO', 'CEO', 'CFO', 'COO'],\n },\n {\n parent: 'DevOps Leadership',\n children: ['DevOps Engineer', 'Senior DevOps Engineer', 'DevOps Manager', 'Director of DevOps'],\n },\n ];\n\n childPositions.forEach(({ parent, children }) => {\n const parentObj = positionsCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((position) => {\n positions.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: position,\n categoryIds: [parentObj.id],\n skillId: SKILLS_MOCK[1].id,\n skill: SKILLS_MOCK[1],\n responsibilityId: RESPONSIBILITIES_MOCK[0].id,\n responsibility: RESPONSIBILITIES_MOCK[0],\n });\n });\n }\n });\n\n return positions;\n}\n\nexport const POSITIONS_MOCK = generatePosition();\n","import {\n AXMOrganizationManagementRoleCategoryEntityModel,\n AXMOrganizationManagementRoleEntityModel,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { SKILLS_MOCK } from './skill.data';\n\nfunction generateRolesCategory() {\n const rolesCategory: AXMOrganizationManagementRoleCategoryEntityModel[] = [];\n\n const rootCategory = ['Technology Leadership', 'Engineering', 'Product', 'Operations', 'Business', 'Administrative'];\n\n rootCategory.forEach((title) => {\n rolesCategory.push({ id: AXPDataGenerator.uuid(), description: '', title: title, childCount: 0 });\n });\n\n const childRoleCategory = [\n {\n parent: 'Technology',\n children: ['Development', 'DevOps', 'QA', 'IT', 'Security'],\n },\n {\n parent: 'Product',\n children: ['Product Management', 'UX/UI', 'Data Analysis'],\n },\n {\n parent: 'Operations',\n children: ['Customer Support', 'Technical Support', 'Office Management'],\n },\n {\n parent: 'Business',\n children: ['Sales', 'Marketing', 'Business Development'],\n },\n {\n parent: 'Administration',\n children: ['HR', 'Finance', 'Legal'],\n },\n ];\n\n childRoleCategory.forEach((child) => {\n const parent = rolesCategory.find((parent) => parent.title === child.parent);\n if (parent) {\n child.children.forEach((title) => {\n rolesCategory.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: title,\n parentId: parent.id,\n childCount: 0,\n });\n });\n parent.childCount = child.children.length;\n }\n });\n\n return rolesCategory;\n}\n\nexport const ROLES_CATEGORY_MOCK = generateRolesCategory();\n\nfunction generateRole() {\n const roles: AXMOrganizationManagementRoleEntityModel[] = [];\n const rolesCategory = ROLES_CATEGORY_MOCK;\n\n const childRoles = [\n {\n parent: 'CTO Office',\n children: ['Chief Technology Officer', 'VP of Engineering', 'Technical Fellow'],\n },\n {\n parent: 'Frontend Engineering',\n children: ['Frontend Engineer I', 'Frontend Engineer II', 'Senior Frontend Engineer', 'Frontend Architect'],\n },\n {\n parent: 'Backend Engineering',\n children: [\n 'Backend Engineer I',\n 'Backend Engineer II',\n 'Senior Backend Engineer',\n 'Distributed Systems Engineer',\n ],\n },\n {\n parent: 'DevOps',\n children: ['DevOps Engineer', 'Site Reliability Engineer', 'Cloud Infrastructure Engineer'],\n },\n {\n parent: 'Product Management',\n children: ['Product Manager', 'Senior Product Manager', 'Director of Product', 'Chief Product Officer'],\n },\n {\n parent: 'Quality Engineering',\n children: ['QA Engineer', 'Test Automation Engineer', 'Quality Assurance Manager'],\n },\n {\n parent: 'IT Operations',\n children: ['IT Support Specialist', 'Systems Administrator', 'Network Engineer'],\n },\n {\n parent: 'Human Resources',\n children: ['HR Business Partner', 'Talent Acquisition Specialist', 'Compensation Analyst'],\n },\n {\n parent: 'Finance',\n children: ['Financial Analyst', 'Controller', 'Chief Financial Officer'],\n },\n {\n parent: 'Sales',\n children: ['Account Executive', 'Sales Engineer', 'VP of Sales'],\n },\n {\n parent: 'Engineering Management',\n children: ['Engineering Manager', 'Director of Engineering', 'VP of Engineering'],\n },\n {\n parent: 'Security Operations',\n children: ['Security Analyst', 'Security Engineer', 'Chief Information Security Officer'],\n },\n ];\n\n childRoles.forEach(({ parent, children }) => {\n const parentObj = rolesCategory.find((el) => el.title === parent);\n if (parentObj) {\n children.forEach((role) => {\n roles.push({\n description: '',\n id: AXPDataGenerator.uuid(),\n title: role,\n categoryIds: [parentObj.id],\n skillId: SKILLS_MOCK[2].id,\n skill: SKILLS_MOCK[2],\n });\n });\n }\n });\n\n return roles;\n}\n\nexport const ROLES_MOCK = generateRole();\n","import {\n AXMOrganizationManagementBranchEntityModel,\n AXMOrganizationManagementChartEntityModel,\n AXMOrganizationManagementDepartmentEntityModel,\n AXMOrganizationManagementDivisionEntityModel,\n AXMOrganizationManagementEmployeeEntityModel,\n AXMOrganizationManagementEmploymentTypeEntityModel,\n AXMOrganizationManagementPositionEntityModel,\n AXMOrganizationManagementResponsibilityCategoryEntityModel,\n AXMOrganizationManagementResponsibilityEntityModel,\n AXMOrganizationManagementRoleEntityModel,\n AXMOrganizationManagementSkillCategoryEntityModel,\n AXMOrganizationManagementSkillEntityModel,\n AXMOrganizationManagementTeamEntityModel,\n RootConfig,\n} from '@acorex/modules/organization-management';\nimport { AXPDataGenerator } from '@acorex/platform/core';\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';\nimport { POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK } from './position.data';\nimport { RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK } from './responsibility.data';\nimport { ROLES_CATEGORY_MOCK, ROLES_MOCK } from './role.data';\nimport { SKILLS_CATEGORY_MOCK, SKILLS_MOCK } from './skill.data';\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 Category\n await this.storageService.initial<AXMOrganizationManagementPositionEntityModel>(\n RootConfig.entities.positionCategory.source,\n POSITIONS_CATEGORY_MOCK\n );\n\n // Positions\n await this.storageService.initial<AXMOrganizationManagementPositionEntityModel>(\n RootConfig.entities.position.source,\n POSITIONS_MOCK\n );\n\n // Role Category\n await this.storageService.initial<AXMOrganizationManagementRoleEntityModel>(\n RootConfig.entities.roleCategory.source,\n ROLES_CATEGORY_MOCK\n );\n\n // Role\n await this.storageService.initial<AXMOrganizationManagementRoleEntityModel>(\n RootConfig.entities.role.source,\n ROLES_MOCK\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 // Skill Category\n await this.storageService.initial<AXMOrganizationManagementSkillCategoryEntityModel>(\n RootConfig.entities.skillCategory.source,\n SKILLS_CATEGORY_MOCK\n );\n\n // Skill\n await this.storageService.initial<AXMOrganizationManagementSkillEntityModel>(\n RootConfig.entities.skill.source,\n SKILLS_MOCK\n );\n\n // Responsibility Category\n await this.storageService.initial<AXMOrganizationManagementResponsibilityCategoryEntityModel>(\n RootConfig.entities.responsibilityCategory.source,\n RESPONSIBILITIES_CATEGORY_MOCK\n );\n\n // Responsibility\n await this.storageService.initial<AXMOrganizationManagementResponsibilityEntityModel>(\n RootConfig.entities.responsibility.source,\n RESPONSIBILITIES_MOCK\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/core';\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\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/core';\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.9${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/core';\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 { AXLocaleProfile } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPCity,\n AXPCountry,\n AXPCurrency,\n AXPLanguage,\n AXPLocaleProfile,\n AXPProvince,\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 getLocaleProfiles(): Promise<AXPLocaleProfile[]> {\n const { profiles } = await import('./data/profiles');\n return profiles.filter((c) => ['en-US', 'fa-IR'].some((e) => e == c.localeInfo.code));\n }\n\n async getLanguages(): Promise<AXPLanguage[]> {\n return (await this.getLocaleProfiles()).map((c) => ({ code: c.localeInfo.code, 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();\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};\nconst child3 = {\n id: AXPDataGenerator.uuid(),\n title: 'Training',\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,child3],\n },\n child1,\n child2,\n child3,\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\"}';\nconst companyInterface = \n '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"select-editor\",\"name\":\"select-editor1\"}],\"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 id: AXPDataGenerator.uuid(),\n name: 'company',\n title: 'Company',\n defaultValue: '',\n interface: companyInterface,\n categoryIds: [METADATA_CATEGORY_MOCK[4].id!],\n categories: [METADATA_CATEGORY_MOCK[4]],\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/core';\n\nexport const ClientMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Kapitol Group',\n description: 'Kapitol Group description',\n personId: 0,\n location: '466 William Street'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Maben Group',\n description: 'Maben Group description',\n personId: 0,\n location: '22 Blackwood Street'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Raysett Construction',\n description: 'Raysett Construction description',\n personId: 0,\n location: '18 Station Street'\n },\n];","import { AXMProjectManagementClientEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { ClientMock } from './client.mock';\n\n@Injectable()\nexport class AXCProjectclientDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementClientEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.client.name}`,\n ClientMock\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const projectTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'JSA'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'SWMS'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Permits'\n },\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { ClientMock } from '../client/client.mock';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n\nexport const projectMock = [\n {\n id: AXPDataGenerator.uuid(),\n projectName: 'QA 63 - 207',\n projectNo: '1709CS',\n description: 'DOMESTIC/RESIDENTIAL SWMS',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0],\n projectStatus: 'Initial',\n estimatetime: '2h:7m',\n projectWeight: 1.2,\n clientId: ClientMock[1].id,\n client: ClientMock[1]\n }\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n\n\nexport const projectRoleMemberMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'designer',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'front-developer',\n projectTypeId: projectTypeMock[2].id,\n projectType: projectTypeMock[2]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'backend-developer',\n projectTypeId: projectTypeMock[1].id,\n projectType: projectTypeMock[1]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'devops',\n projectTypeId: projectTypeMock[1].id,\n projectType: projectTypeMock[1]\n },\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectMock } from '../project/project.mock';\nimport { projectRoleMemberMock } from '../project-role-member/project-role-member.mock';\n\nexport const projectMemberMock = [\n {\n id: AXPDataGenerator.uuid(),\n description: \"Faranak\",\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n personId: 1,\n projectRoleMemberId: projectRoleMemberMock[0].id,\n projectRoleMember: projectRoleMemberMock[0].title\n },\n {\n id: AXPDataGenerator.uuid(),\n description: \"Reza\",\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n personId: 0,\n projectRoleMemberId: projectRoleMemberMock[1].id,\n projectRoleMember: projectRoleMemberMock[1].title\n },\n {\n id: AXPDataGenerator.uuid(),\n description: \"Zari\",\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n personId: 2,\n projectRoleMemberId: projectRoleMemberMock[2].id,\n projectRoleMember: projectRoleMemberMock[2].title\n }\n];","import { AXMProjectManagementProjectEntityModel, AXMProjectManagementProjectMemeberEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { projectMemberMock } from './project-member.mock';\n\n\n@Injectable()\nexport class AXCProjectMemberDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementProjectMemeberEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.projectMemeber.name}`,\n projectMemberMock\n );\n }\n}","import { AXMProjectManagementProjectRoleMemberEntityModel, AXMProjectManagementProjectTypeEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { projectRoleMemberMock } from './project-role-member.mock';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n@Injectable()\nexport class AXCProjectRoleMemberDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementProjectTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.projectType.name}`,\n projectTypeMock\n );\n\n await this.storageService.initial<AXMProjectManagementProjectRoleMemberEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.projectRoleMember.name}`,\n projectRoleMemberMock\n );\n }\n}\n","import { AXMProjectManagementProjectEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { projectMock } from './project.mock';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\n\n\n@Injectable()\nexport class AXCProjectDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementProjectEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.project.name}`,\n projectMock\n );\n }\n}","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectMock } from '../project/project.mock';\n\nexport const sprintMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Sprint 1',\n description: 'Sprint 1 description',\n startDate: new Date('2021-01-01'),\n endDate: new Date('2021-01-15'),\n projectId: projectMock[0].id,\n project: projectMock[0].projectName\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Sprint 2',\n description: 'Sprint 2 description',\n startDate: new Date('2021-01-16'),\n endDate: new Date('2021-01-30'),\n projectId: projectMock[0].id,\n project: projectMock[0].projectName\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Sprint 3',\n description: 'Sprint 3 description',\n startDate: new Date('2021-02-01'),\n endDate: new Date('2021-02-15'),\n projectId: projectMock[0].id,\n project: projectMock[0].projectName\n },\n];","import { AXMProjectManagementSprintEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { sprintMock } from './sprint.mock';\n\n@Injectable()\nexport class AXCsprintDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementSprintEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.sprint.name}`,\n sprintMock\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectTypeMock } from '../project-type/project-type.mock';\n\n\nexport const taskTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Issue',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0],\n description: 'Issue description'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'UserStory',\n projectTypeId: projectTypeMock[2].id,\n projectType: projectTypeMock[2],\n description: 'UserStory description'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Activity',\n projectTypeId: projectTypeMock[0].id,\n projectType: projectTypeMock[0],\n description: 'Activity description'\n },\n];","import { AXMProjectManagementTaskTypeEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { inject, Injectable } from '@angular/core';\nimport { taskTypeMock } from './task-type.mock';\n\n@Injectable()\nexport class AXCTaskTypeDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementTaskTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.taskType.name}`,\n taskTypeMock\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { ClientMock } from '../client/client.mock';\n\nexport const workSiteMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'SPEC SAVERS',\n description: 'SPEC SAVERS description',\n personId: 0,\n location: '520 GRAHAM STREET',\n clientId: ClientMock[0].id,\n client: ClientMock[0]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'SPORTSBET',\n description: 'SPORTSBET description',\n personId: 0,\n location: 'LEVEL 17',\n clientId: ClientMock[2].id,\n client: ClientMock[2]\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'ST VINCENTS PRIVATE HOSPITAL MELBOURNE',\n description: 'ST VINCENTS PRIVATE HOSPITAL MELBOURNE description',\n personId: 0,\n location: '59 - 61 VICTORIA PARADE',\n clientId: ClientMock[1].id,\n client: ClientMock[1]\n },\n];","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { projectMock } from '../project/project.mock';\nimport { workSiteMock } from '../worksite/worksite.mock';\nimport { taskTypeMock } from '../task-type/task-type.mock';\n\nexport const taskMock = [\n {\n id: AXPDataGenerator.uuid(),\n date: new Date('2025-04-23'),\n starttime: new Date('2025-04-23T09:00:00'),\n endTime: new Date('2025-04-23T17:00:00'),\n duration: 20,\n asignedTo: '12',\n title: 'Task 1',\n description: 'Task 1 description',\n estimatetime: 8,\n workSiteId: workSiteMock[0].id,\n workSite: workSiteMock[0],\n typeId: taskTypeMock[0].id,\n type: taskTypeMock[0],\n parentTaskId: null,\n status: 'Current',\n projectId: projectMock[0].id,\n project: projectMock[0].projectName,\n wieght: 10,\n priorityIndex: 1,\n priorityCritical: 'Low',\n }\n];\n\n\n","import { AXMProjectManagementTaskEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { taskMock } from './task.mock';\n\n@Injectable()\nexport class AXCTaskDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\nasync seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementTaskEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.task.name}`,\n taskMock\n );\n }\n}\n","import { AXMProjectManagementWorkSiteEntityModel, RootConfig } from '@acorex/modules/project-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { workSiteMock } from './worksite.mock';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\n\n\n@Injectable()\nexport class AXCWorkSiteSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMProjectManagementWorkSiteEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.workSite.name}`,\n workSiteMock\n );\n }\n}","import { AXPDataGenerator } from '@acorex/platform/core';\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/cdk/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 { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../dexie-storage.service';\nimport { mockRoleDefinitions } from './mock-data';\n\n@Injectable()\nexport class AXPSecurityManagementRoleDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n // private permissionService = inject(AXPPermissionDefinitionProviderService);\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\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 { AXDataSourceFilterOption } from '@acorex/cdk/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/core';\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/core';\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 { AXPSessionContext, AXPTenant, AXPTenantLoader } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { Observable, delay, of } from 'rxjs';\n\n@Injectable()\nexport class MockTenantLoader implements AXPTenantLoader {\n getList(context: AXPSessionContext): Observable<AXPTenant[]> {\n const acorex_tenant = {\n id: '99',\n name: 'acorex-tenant',\n title: 'ACoreX Platform Tenant',\n };\n\n const demo_tenant = {\n id: '1',\n name: 'demo-tenant',\n title: 'DEMO Tenant',\n };\n if (context.user?.name == 'root') {\n return of([demo_tenant, acorex_tenant]).pipe(delay(500));\n } else {\n return of([demo_tenant]).pipe(delay(500));\n }\n }\n}\n","import { AXPApplication, AXPApplicationLoader, AXPSessionContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { Observable, delay, of } from 'rxjs';\n\n@Injectable()\nexport class MockApplicationLoader implements AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]> {\n const demo_app = {\n id: '1',\n name: 'demo',\n title: 'DEMO Application',\n version: '1.0.0',\n editionName: 'Standard',\n };\n const console_app = {\n id: '1',\n name: 'platform',\n title: 'Platform Console',\n version: '1.0.0',\n editionName: 'Standard',\n };\n if (context.user?.name == 'root' && context.tenant?.id == '99') {\n return of([demo_app, console_app]).pipe(delay(500));\n } else {\n return of([demo_app]).pipe(delay(500));\n }\n }\n}\n","import { AXPPermission, AXPPermissionLoader, AXPSessionContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { AXMPermissionsKeys as FormTemplatePermissions } from '@acorex/modules/form-template-management'\n\n@Injectable()\nexport class MockPermissionLoader implements AXPPermissionLoader {\n\n private userPermissions = [\n FormTemplatePermissions.FormTemplate.Management,\n FormTemplatePermissions.FormTemplate.Categories.Management,\n FormTemplatePermissions.FormTemplate.Templates.Management\n ];\n\n\n private adminPermissions = [...this.userPermissions, ...['admin', 'demo.admin.settings']];\n private rootPermissions = [...this.adminPermissions, ...['platform', 'platform.reports',\n 'document-management:manage', 'document-management:document-type:manage',\n 'document-management:driver:manage']];\n\n\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n if (context.user?.name == 'root') {\n return of(this.rootPermissions);\n } else if (context.user?.name == 'admin') {\n return of(this.adminPermissions);\n } else {\n return of(this.userPermissions);\n }\n }\n}\n","import { AXPFeature, AXPFeatureLoader } from '@acorex/platform/auth';\nimport { Observable, delay, of } from 'rxjs';\n\nexport class MockFeatureLoader implements AXPFeatureLoader {\n private list: AXPFeature[] = [\n {\n name: 'entity-comment',\n title: 'Feature Title',\n value: true,\n },\n {\n name: 'axp-entity-list-advance-filter',\n title: 'Filters',\n value: true,\n },\n ];\n\n getList(): Observable<AXPFeature[]> {\n return of(this.list).pipe(delay(0));\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const periodMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Spring 2024',\n fromDate: new Date(2024, 0, 15), // Jan 15, 2024\n toDate: new Date(2024, 4, 30), // May 30, 2024\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Summer 2024',\n fromDate: new Date(2024, 5, 1), // June 1, 2024\n toDate: new Date(2024, 7, 31), // Aug 31, 2024\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Fall 2024', \n fromDate: new Date(2024, 8, 1), // Sept 1, 2024\n toDate: new Date(2024, 11, 15), // Dec 15, 2024\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Winter 2025',\n fromDate: new Date(2025, 0, 1), // Jan 1, 2025 \n toDate: new Date(2025, 2, 31), // March 31, 2025\n }\n];\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const locationMockData = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'class A',\n address: '123 Main St, Anytown, USA',\n capacity: 10,\n status: 'Available'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'class B',\n address: '456 Main St, Anytown, USA',\n capacity: 5,\n status: 'Unavailable'\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'class C',\n address: '789 Main St, Anytown, USA',\n capacity: 20,\n status: 'Maintenance'\n }\n]\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { periodMock } from '../period/period.mock';\nimport { locationMockData } from '../location/location.mock';\n\n\nexport const courseTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Technical skills',\n parentId: null\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Creative skills',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Business or entrepreneurship',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Language learning',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Fitness or wellness',\n parentId: null\n }, \n {\n id: AXPDataGenerator.uuid(),\n title: 'Other',\n parentId: null\n }, \n ];\n\n export const courseMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'programming',\n summary: 'programming summary',\n units: 10,\n courseTypeId: courseTypeMock[0].id,\n courseType: courseTypeMock[0],\n parentId: null\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'leadership',\n summary: 'leadership summary',\n units: 5,\n courseTypeId: courseTypeMock[2].id,\n courseType: courseTypeMock[2],\n parentId: null \n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'design',\n summary: 'design summary',\n units: 3,\n courseTypeId: courseTypeMock[1].id,\n courseType: courseTypeMock[1],\n parentId: null \n }, \n ];\n\n\n export const courseLocationMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Main Campus - Programming Basics',\n courseId: courseMock[0].id,\n course: courseMock[0],\n locationId: locationMockData[0].id,\n location: locationMockData[0],\n capacity: 30,\n isActive: true\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Downtown Campus - Advanced Programming',\n courseId: courseMock[1].id,\n course: courseMock[1],\n locationId: locationMockData[2].id,\n location: locationMockData[2],\n capacity: 25,\n isActive: true\n }\n ];\n\n export const coursePeriodMockData = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Spring 2023 - Course 1',\n courseId: courseMock[0].id,\n course: courseMock[0],\n periodId: periodMock[0].id,\n period: periodMock[0],\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Summer 2023 - Course 2',\n courseId: courseMock[1].id,\n course: courseMock[1],\n periodId: periodMock[1].id,\n period: periodMock[1],\n },\n ];\n","import { AXMTrainingManagementCourseEntityModel,AXMTrainingManagementCourseTypeEntityModel,RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { courseLocationMock, courseMock, coursePeriodMockData, courseTypeMock } from './course.mock';\n\n\n@Injectable()\nexport class AXCCourseDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementCourseEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.course.name}`,\n courseMock\n );\n await this.storageService.initial<AXMTrainingManagementCourseTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.courseType.name}`,\n courseTypeMock\n );\n await this.storageService.initial<any>(\n `${RootConfig.module.name}.${RootConfig.entities.courseLocation.name}`,\n courseLocationMock\n );\n await this.storageService.initial<any>(\n `${RootConfig.module.name}.${RootConfig.entities.coursePeriod.name}`,\n coursePeriodMockData\n );\n }\n}","import { AXMTrainingManagementPeriodEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { periodMock } from './period.mock';\n\n@Injectable()\nexport class AXCPeriodDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementPeriodEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.period.name}`,\n periodMock\n );\n }\n}\n","\nimport { AXPDataGenerator } from '@acorex/platform/core';\n\n\nconst companyInterface = '{\"type\":\"document-layout\",\"children\":[{\"type\":\"page-layout\",\"children\":[{\"type\":\"select-editor\",\"name\":\"select-editor1\"}],\"name\":\"page-layout1\"}],\"name\":\"document\"}'\n\nexport const trainingTypeMockData= [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Online Training',\n description: 'Virtual instructor-led training sessions conducted remotely',\n metaTags: [\n {\n name: 'company',\n title: 'Company',\n interface: companyInterface,\n },\n ], \n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Classroom Training',\n description: 'Traditional in-person training sessions in a classroom setting',\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Workshop',\n description: 'Hands-on practical training sessions in small groups',\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Self-paced Learning',\n description: 'Independent learning through online modules and materials',\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Blended Learning',\n description: 'Combination of online and classroom training methods',\n }\n];\n","import { AXMTrainingManagementTrainingTypeEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingTypeMockData } from './training-type.mock';\n@Injectable()\nexport class AXCTrainigTypeDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementTrainingTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.trainingType.name}`,\n trainingTypeMockData\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { trainingTypeMockData } from '../training-type/training-type.mock';\nexport const certificateMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Programming Fundamentals Certificate',\n description: 'Certificate for completing Programming Fundamentals course',\n issueDate: new Date(),\n expireDate: new Date(new Date().setFullYear(new Date().getFullYear() + 3)), // Valid for 3 years\n status: 'Active',\n certificateNumber: 'CERT-2023-001',\n grade: 'A',\n score: 95 ,\n trainingTypeId: trainingTypeMockData[0].id,\n trainingType: trainingTypeMockData[0],\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Leadership Skills Certificate',\n description: 'Certificate for completing Leadership Development Program',\n issueDate: new Date(),\n expireDate: new Date(new Date().setFullYear(new Date().getFullYear() + 1)), // Valid for 1 year\n status: 'Active',\n certificateNumber: 'CERT-2023-002',\n grade: 'B+',\n score: 88,\n trainingTypeId: trainingTypeMockData[1].id,\n trainingType: trainingTypeMockData[1],\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'UI/UX Design Certificate',\n description: 'Certificate for completing Design Principles course',\n issueDate: new Date(),\n expireDate: new Date(new Date().setFullYear(new Date().getFullYear() + 2)), // Valid for 2 years\n status: 'Active', \n certificateNumber: 'CERT-2023-003',\n grade: 'A-',\n score: 92,\n trainingTypeId: trainingTypeMockData[2].id,\n trainingType: trainingTypeMockData[2],\n }\n];\n","\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { courseMock } from '../course/course.mock';\nimport { periodMock } from '../period/period.mock';\nimport { trainingTypeMockData } from '../training-type/training-type.mock';\nimport { certificateMock } from '../certificate/certificate.mock';\n\nexport const trainingMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Training 1',\n description: 'Training 1 description',\n courseId: courseMock[0].id,\n course: courseMock[0],\n periodId: periodMock[0].id,\n period: periodMock[0],\n trainingTypeId: trainingTypeMockData[0].id,\n trainingType: trainingTypeMockData[0],\n certificateId: certificateMock[0].id,\n certificate: certificateMock[0],\n date: new Date(),\n expireDate: new Date(),\n status: 'Inprogress',\n isOnline: true,\n }\n];\n\n\n","import { AXMTrainingManagementTrainingEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingMock } from './training.mock';\n\n@Injectable()\nexport class AXCTrainingDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementTrainingEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.training.name}`,\n trainingMock\n );\n }\n}","import { AXMTrainingManagementCertificateEntityModel, AXMTrainingManagementCourseEntityModel,AXMTrainingManagementCourseTypeEntityModel,RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { certificateMock } from './certificate.mock';\n\n\n@Injectable()\nexport class AXCCertificateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementCertificateEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.certificate.name}`,\n certificateMock\n );\n\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/core';\n\nexport const facilitatorTypeMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Lead Instructor',\n parentId: null,\n priority: 1,\n\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Assistant Instructor',\n parentId: null,\n priority: 2,\n },\n {\n id: AXPDataGenerator.uuid(),\n title: 'Teaching Assistant',\n parentId: null, \n priority: 3,\n }\n];\n","import { AXPDataGenerator } from \"@acorex/platform/core\";\nimport { trainingMock } from \"../training/training.mock\";\nimport { facilitatorTypeMock } from \"../facilitator-type/facilitator-type.mock\";\nexport const trainingFacilitatorMock = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Training Facilitator 1',\n trainingId: trainingMock[0].id,\n training: trainingMock[0],\n personId: 1,\n fcilitatorTypeId: facilitatorTypeMock[0].id,\n fcilitatorType: facilitatorTypeMock[0],\n }\n];","import { AXMTrainingManagementFacilitatorTypeEntityModel, AXMTrainingManagementTrainingFacilitatorEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingFacilitatorMock } from './training-facilitator.mock';\nimport { facilitatorTypeMock } from '../facilitator-type/facilitator-type.mock';\n\n@Injectable()\nexport class AXCTrainingFacilitatorDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementFacilitatorTypeEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.facilitatorType.name}`,\n facilitatorTypeMock\n );\n\n await this.storageService.initial<AXMTrainingManagementTrainingFacilitatorEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.trainingFacilitator.name}`,\n trainingFacilitatorMock\n );\n\n }\n}","import { AXPDataGenerator } from '@acorex/platform/core';\nimport { trainingMock } from '../training/training.mock';\n\nexport const trainingParticipantMockData = [\n {\n id: AXPDataGenerator.uuid(),\n title: 'Training Participant 1',\n trainingId: trainingMock[0].id,\n training: trainingMock[0],\n tarineeId: 'Faranak',\n groupId: 'Group 1'\n },\n {\n id: AXPDataGenerator.uuid(), \n title: 'Training Participant 2',\n trainingId: trainingMock[0].id,\n training: trainingMock[0],\n tarineeId: 'Feri',\n groupId: 'Group 2'\n },\n];\n\n","import { AXMTrainingManagementFacilitatorTypeEntityModel, AXMTrainingManagementTrainingFacilitatorEntityModel, AXMTrainingManagementTrainingParticipantEntityModel, RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { trainingParticipantMockData } from './training-participant.mock';\n\n@Injectable()\nexport class AXCTrainingParticipantDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementTrainingParticipantEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.trainingParticipant.name}`,\n trainingParticipantMockData\n );\n }\n}","import { AXMTrainingManagementLocationEntityModel,RootConfig } from '@acorex/modules/training-management';\nimport { AXPDataSeeder } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDexieEntityStorageService } from '../../dexie-storage.service';\nimport { locationMockData } from './location.mock';\n\n\n@Injectable()\nexport class AXCLocationDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTrainingManagementLocationEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.location.name}`,\n locationMockData\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 { AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER, AXPAuthModule } from '@acorex/platform/auth';\nimport { AXP_SEARCH_PROVIDER, AXPFileStorageService, AXPRegionalService } from '@acorex/platform/common';\nimport { AXP_DATA_SEEDER_TOKEN, AXPDataSeederService, AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { Injector, NgModule } from '@angular/core';\nimport { AXCApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXPDashboardDataSeeder } from './dashboard-management';\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 { AXPIssueTypeDataSeeder } from './issue-management/issue-type/data.seeder';\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 { AXCMetaDataDefinitionDataSeeder } from './platform-management/metadata/metadata.seeder';\nimport { AXCProjectclientDataSeeder } from './project-management/client/client.seeder';\nimport { AXCProjectMemberDataSeeder } from './project-management/project-member/project.member.seeder';\nimport { AXCProjectRoleMemberDataSeeder } from './project-management/project-role-member/project-role-member.seeder';\nimport { AXCProjectDataSeeder } from './project-management/project/project.seeder';\nimport { AXCsprintDataSeeder } from './project-management/sprint/sprint.seeder';\nimport { AXCTaskTypeDataSeeder } from './project-management/task-type/task-type-seeder';\nimport { AXCTaskDataSeeder } from './project-management/task/task.seeder';\nimport { AXCWorkSiteSeeder } from './project-management/worksite/worksite.seeder';\nimport { AXCSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder } from './security-management';\nimport { AXCDeviceSessionService } from './security-management/device-session.service';\nimport { AXPSecurityManagementDeviceSessionDataSeeder } from './security-management/device-sessions.seeder';\nimport { AXCTextTemplateCategoryDataSeeder, AXCTextTemplateDataSeeder } from './text-template-management';\nimport { AXPAppStartUpService } from '@acorex/platform/core';\nimport { MockTenantLoader } from './auth/tenant.loader';\nimport { MockApplicationLoader } from './auth/application.loader';\nimport { MockPermissionLoader } from './auth/permission.loader';\nimport { MockFeatureLoader } from './auth/feature.loader';import { AXCCourseDataSeeder } from './training-management/course/course.seeder';\nimport { AXCPeriodDataSeeder } from './training-management/period/period.seeder';\nimport { AXCTrainigTypeDataSeeder } from './training-management/training-type/training-type.seeder';\nimport { AXCTrainingDataSeeder } from './training-management/training/training.seeder';\nimport { AXCCertificateDataSeeder } from './training-management/certificate/certificate.seeder';\nimport { AXCTrainingFacilitatorDataSeeder } from './training-management/training-facilitator/training-facilitator.seeder';\nimport { AXCTrainingParticipantDataSeeder } from './training-management/training-participant/training-participant.seeder';\nimport { AXCLocationDataSeeder } from './training-management/location/location.seeder';\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: AXPSecurityManagementUserDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSecurityManagementRoleDataSeeder,\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 provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectclientDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCWorkSiteSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectRoleMemberDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTaskTypeDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCProjectMemberDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCsprintDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTaskDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCCourseDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCPeriodDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainigTypeDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainingDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCCertificateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainingFacilitatorDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCTrainingParticipantDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXCLocationDataSeeder,\n multi: true,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: MockTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: MockApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: MockPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: MockFeatureLoader,\n },\n ],\n})\nexport class AXCMockModule {\n constructor(appInitService: AXPAppStartUpService, injector: Injector) {\n const seederService = injector.get(AXPDataSeederService);\n appInitService.registerTask({\n name: 'Mock',\n statusText: 'Seed Data ...',\n priority: 200,\n run: async () => {\n await seederService.seed();\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["checkbox","titleInterface","descriptionInterface","contractNumberInterface","evaluatorInterface","RootConfig","projectMock","companyInterface","FormTemplatePermissions","i1"],"mappings":"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AA;AACD,wCAAA;AACE,4CAAA,EAAE,EAAE,MAAM;AACV,4CAAA,KAAK,EAAE,YAAY;AACnB,4CAAA,QAAQ,EAAE,kBAAkB;AAC5B,4CAAA,WAAW,EAAE,iCAAiC;AAC9C,4CAAA,IAAI,EAAE,aAAa;4CACnB,IAAI,EAAE,uBAAuB,CAAC,QAAQ;AACtC,4CAAA,QAAQ,EAAE,IAAI;AACf,yCAAA;AACD,wCAAA;AACE,4CAAA,EAAE,EAAE,MAAM;AACV,4CAAA,KAAK,EAAE,UAAU;AACjB,4CAAA,QAAQ,EAAE,eAAe;AACzB,4CAAA,WAAW,EAAE,kCAAkC;AAC/C,4CAAA,IAAI,EAAE,eAAe;4CACrB,IAAI,EAAE,uBAAuB,CAAC,QAAQ;AACtC,4CAAA,QAAQ,EAAE,IAAI;AACf,yCAAA;AACD,wCAAA;AACE,4CAAA,EAAE,EAAE,MAAM;AACV,4CAAA,KAAK,EAAE,aAAa;AACpB,4CAAA,QAAQ,EAAE,sBAAsB;AAChC,4CAAA,WAAW,EAAE,+BAA+B;AAC5C,4CAAA,IAAI,EAAE,aAAa;4CACnB,IAAI,EAAE,uBAAuB,CAAC,QAAQ;AACtC,4CAAA,QAAQ,EAAE,IAAI;AACf,yCAAA;AACF,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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"}