@acorex/connectivity 19.1.8 → 19.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-connectivity-mock.mjs +43 -49
- package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
- package/mock/lib/notification-management/notification-management.mock.data.d.ts +2 -0
- package/mock/lib/notification-management/template.seeder.d.ts +8 -0
- package/package.json +1 -1
- package/mock/lib/platform-management/text-search/index.d.ts +0 -2
- package/mock/lib/platform-management/text-search/text-search.mock.data.d.ts +0 -8
- package/mock/lib/platform-management/text-search/text-search.seeder.d.ts +0 -8
@@ -1,5 +1,5 @@
|
|
1
1
|
import { APPLICATION_SOURCE_NAME, MODULE_SOURCE_NAME, ENTITY_SOURCE_NAME, FEATURE_SOURCE_NAME, PERMISSION_SOURCE_NAME, PROPERTY_SOURCE_NAME, AXPModuleDesignerService } from '@acorex/modules/application-management';
|
2
|
-
import {
|
2
|
+
import { RootConfig as RootConfig$1, AXMNotificationEntityService } from '@acorex/modules/notification-management';
|
3
3
|
import * as i1$1 from '@acorex/platform/auth';
|
4
4
|
import { AXPSessionService, AXPAuthModule } from '@acorex/platform/auth';
|
5
5
|
import { AXPDataGenerator, AXPDexieEntityStorageService, AXP_DATA_SEEDER_TOKEN, AXPEntityStorageService, AXPFileStorageStatus, AXPFileStorageService, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
|
@@ -11,11 +11,10 @@ import { AXMConverstionModuleConst, AXMChatServiceImpl, AXMCommentServiceImpl, A
|
|
11
11
|
import Dexie from 'dexie';
|
12
12
|
import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';
|
13
13
|
import { convertArrayToDataSource } from '@acorex/components/common';
|
14
|
-
import {
|
14
|
+
import { RootConfig } from '@acorex/modules/form-template-management';
|
15
15
|
import { AXFileService } from '@acorex/core/file';
|
16
|
-
import { AXMTextTemplateManagementModuleConst } from '@acorex/modules/text-template-management';
|
17
|
-
import { AXMPlatformManagementModuleConst } from '@acorex/modules/platform-management';
|
18
16
|
import { AXMSchedulerJobManagementModuleConst } from '@acorex/modules/scheduler-job-management';
|
17
|
+
import { RootConfig as RootConfig$2 } from '@acorex/modules/text-template-management';
|
19
18
|
|
20
19
|
const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {
|
21
20
|
const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];
|
@@ -556,11 +555,14 @@ class EntitySearchProvider {
|
|
556
555
|
// Filter records based on the search text
|
557
556
|
const filteredRecords = allRecords.filter((record) => this.shallowSearch(record, lowerText));
|
558
557
|
return filteredRecords.map((record) => ({
|
559
|
-
|
560
|
-
name: `record.${record.entityName}`,
|
561
|
-
description: record.description,
|
562
|
-
icon: record.icon,
|
558
|
+
group: `Module.${record.entityName.split('.')[0]}`,
|
563
559
|
data: record,
|
560
|
+
commands: {
|
561
|
+
"open-entity": {
|
562
|
+
entity: record.entityName,
|
563
|
+
data: record
|
564
|
+
},
|
565
|
+
},
|
564
566
|
}));
|
565
567
|
}
|
566
568
|
// Helper function for shallow search
|
@@ -623,7 +625,7 @@ class AXPFormTemplateCategoryDataSeeder {
|
|
623
625
|
this.storageService = inject(AXPDexieEntityStorageService);
|
624
626
|
}
|
625
627
|
async seed() {
|
626
|
-
await this.storageService.initial(`${
|
628
|
+
await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.category}`, [
|
627
629
|
{
|
628
630
|
title: 'Risk Assessment'
|
629
631
|
},
|
@@ -832,8 +834,31 @@ function generateNotification() {
|
|
832
834
|
};
|
833
835
|
}
|
834
836
|
|
837
|
+
const NOTIFICATION_TEMPLATES = [
|
838
|
+
{
|
839
|
+
id: AXPDataGenerator.uuid(),
|
840
|
+
name: 'rest-password-admin',
|
841
|
+
title: 'Rest Password To Admin',
|
842
|
+
description: 'when user rest password notify to admin',
|
843
|
+
},
|
844
|
+
];
|
845
|
+
|
846
|
+
class AXPNotificationTemplateDataSeeder {
|
847
|
+
constructor() {
|
848
|
+
this.storageService = inject(AXPDexieEntityStorageService);
|
849
|
+
}
|
850
|
+
async seed() {
|
851
|
+
await this.storageService.initial(`${RootConfig$1.module.name}.${RootConfig$1.entities.template.name}`, NOTIFICATION_TEMPLATES);
|
852
|
+
}
|
853
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPNotificationTemplateDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
854
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPNotificationTemplateDataSeeder }); }
|
855
|
+
}
|
856
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPNotificationTemplateDataSeeder, decorators: [{
|
857
|
+
type: Injectable
|
858
|
+
}] });
|
859
|
+
|
835
860
|
const names = ['key', 'counter', 'logo', 'tenant'];
|
836
|
-
const data
|
861
|
+
const data = [
|
837
862
|
['key1', 'string'],
|
838
863
|
['sequence', 'integer'],
|
839
864
|
['appLogo', 'function'],
|
@@ -844,8 +869,8 @@ const GLOBAL_VARIABLES = Array.from({ length: 4 }).map((element, i) => {
|
|
844
869
|
id: AXPDataGenerator.uuid(),
|
845
870
|
name: names[i],
|
846
871
|
title: names[i],
|
847
|
-
dataType: data
|
848
|
-
dataValue: data
|
872
|
+
dataType: data[i][1],
|
873
|
+
dataValue: data[i][0],
|
849
874
|
};
|
850
875
|
});
|
851
876
|
|
@@ -989,37 +1014,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
989
1014
|
type: Injectable
|
990
1015
|
}], ctorParameters: () => [] });
|
991
1016
|
|
992
|
-
const data = [
|
993
|
-
['key1', 'string'],
|
994
|
-
['sequence', 'integer'],
|
995
|
-
['appLogo', 'function'],
|
996
|
-
['CompanyName', 'function'],
|
997
|
-
];
|
998
|
-
const TEXT_SEARCH_DATA = Array.from({ length: 4 }).map((element, i) => {
|
999
|
-
return {
|
1000
|
-
id: AXPDataGenerator.uuid(),
|
1001
|
-
name: `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.categoryEntity}`,
|
1002
|
-
title: data[i][0],
|
1003
|
-
subtitle: data[i][1],
|
1004
|
-
entityId: AXPDataGenerator.uuid(),
|
1005
|
-
entityType: `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.categoryEntity}`,
|
1006
|
-
};
|
1007
|
-
});
|
1008
|
-
|
1009
|
-
class AXPTextSearchDataSeeder {
|
1010
|
-
constructor() {
|
1011
|
-
this.storageService = inject(AXPDexieEntityStorageService);
|
1012
|
-
}
|
1013
|
-
async seed() {
|
1014
|
-
await this.storageService.initial(`${AXMPlatformManagementModuleConst.moduleName}.${AXMPlatformManagementModuleConst.textSearchEntity}`, TEXT_SEARCH_DATA);
|
1015
|
-
}
|
1016
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextSearchDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1017
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextSearchDataSeeder }); }
|
1018
|
-
}
|
1019
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextSearchDataSeeder, decorators: [{
|
1020
|
-
type: Injectable
|
1021
|
-
}] });
|
1022
|
-
|
1023
1017
|
const SCHEDULER_JOB = [
|
1024
1018
|
{
|
1025
1019
|
id: AXPDataGenerator.uuid(),
|
@@ -1173,7 +1167,7 @@ class AXPTextTemplateCategoryDataSeeder {
|
|
1173
1167
|
this.storageService = inject(AXPDexieEntityStorageService);
|
1174
1168
|
}
|
1175
1169
|
async seed() {
|
1176
|
-
await this.storageService.initial(`${
|
1170
|
+
await this.storageService.initial(`${RootConfig$2.module.name}.${RootConfig$2.entities.category.name}`, TEXT_TEMPLATE_CATEGORY);
|
1177
1171
|
}
|
1178
1172
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextTemplateCategoryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1179
1173
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextTemplateCategoryDataSeeder }); }
|
@@ -1187,7 +1181,7 @@ class AXPTextTemplateDataSeeder {
|
|
1187
1181
|
this.storageService = inject(AXPDexieEntityStorageService);
|
1188
1182
|
}
|
1189
1183
|
async seed() {
|
1190
|
-
await this.storageService.initial(`${
|
1184
|
+
await this.storageService.initial(`${RootConfig$2.module.name}.${RootConfig$2.entities.template.name}`, TEXT_TEMPLATES);
|
1191
1185
|
}
|
1192
1186
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextTemplateDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1193
1187
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTextTemplateDataSeeder }); }
|
@@ -1203,7 +1197,7 @@ class AXCMockModule {
|
|
1203
1197
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMockModule, providers: [
|
1204
1198
|
AXPDexieEntityStorageService,
|
1205
1199
|
{
|
1206
|
-
provide:
|
1200
|
+
provide: AXMNotificationEntityService,
|
1207
1201
|
useClass: AXMMockNotificationService,
|
1208
1202
|
},
|
1209
1203
|
{
|
@@ -1237,7 +1231,7 @@ class AXCMockModule {
|
|
1237
1231
|
},
|
1238
1232
|
{
|
1239
1233
|
provide: AXP_DATA_SEEDER_TOKEN,
|
1240
|
-
useClass:
|
1234
|
+
useClass: AXPNotificationTemplateDataSeeder,
|
1241
1235
|
multi: true,
|
1242
1236
|
},
|
1243
1237
|
{
|
@@ -1274,7 +1268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
1274
1268
|
providers: [
|
1275
1269
|
AXPDexieEntityStorageService,
|
1276
1270
|
{
|
1277
|
-
provide:
|
1271
|
+
provide: AXMNotificationEntityService,
|
1278
1272
|
useClass: AXMMockNotificationService,
|
1279
1273
|
},
|
1280
1274
|
{
|
@@ -1308,7 +1302,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
1308
1302
|
},
|
1309
1303
|
{
|
1310
1304
|
provide: AXP_DATA_SEEDER_TOKEN,
|
1311
|
-
useClass:
|
1305
|
+
useClass: AXPNotificationTemplateDataSeeder,
|
1312
1306
|
multi: true,
|
1313
1307
|
},
|
1314
1308
|
{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-mock.mjs","sources":["../../../../libs/connectivity/mock/src/lib/application-management/application-management-mock-data.ts","../../../../libs/connectivity/mock/src/lib/application-management/application.seeder.ts","../../../../libs/connectivity/mock/src/lib/application-management/mock-module-designer.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/conversation.module.ts","../../../../libs/connectivity/mock/src/lib/entity-search.provider.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/datasource-provider.mock.service.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/form-template-management-mock.module.ts","../../../../libs/connectivity/mock/src/lib/mock.strategy.ts","../../../../libs/connectivity/mock/src/lib/notification-management/notification/notification.mock.service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/global-variables/global-variables.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/global-variables/global-variable.seeder.ts","../../../../libs/connectivity/mock/src/lib/platform-management/file-storage/file-storage-service.ts","../../../../libs/connectivity/mock/src/lib/platform-management/text-search/text-search.mock.data.ts","../../../../libs/connectivity/mock/src/lib/platform-management/text-search/text-search.seeder.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/text-template-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/template.seeder.ts","../../../../libs/connectivity/mock/src/lib/mock.module.ts","../../../../libs/connectivity/mock/src/acorex-connectivity-mock.ts"],"sourcesContent":["import { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const MODULES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'UserManagement',\n 'Analytics',\n 'Reporting',\n 'PaymentGateway',\n 'NotificationService',\n 'InventoryManagement',\n ];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const APPLICATIONS_MODULES = Array.from({ length: 5 }).map((_, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n module: AXPDataGenerator.pick(MODULES),\n };\n});\n\nexport const EDITIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Standard', 'Premium', 'Gold', 'Silver', 'Bronze', 'Platinum', 'Enterprise'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const FEATURES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'User Authentication',\n 'Data Encryption',\n 'Real-time Notifications',\n 'Customizable Dashboards',\n 'API Access',\n 'Multi-language Support',\n 'Analytics and Reporting',\n 'Offline Mode',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const ENTITIES = Array.from({ length: 5 }).map((_, i) => {\n const source = ['User', 'Product', 'Order', 'Customer', 'Transaction', 'Category', 'Review', 'InventoryItem'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\nexport const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Read', 'Write', 'Update', 'Delete', 'ManageUsers', 'ViewReports', 'AccessSettings', 'CreateContent'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const PROPERTIES = Array.from({ length: 10 }).map((_, i) => {\n const source = [\n 'property1',\n 'property2',\n 'property3',\n 'property4',\n 'property5',\n 'property6',\n 'property7',\n 'property8',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n entityId: AXPDataGenerator.pick(ENTITIES).id,\n name: name,\n title: name,\n path: name,\n };\n});\n","import {\n APPLICATION_SOURCE_NAME,\n AXMApplicationEntityModel,\n AXMEditionEntityModel,\n AXMEntityEntityModel,\n AXMFeatureEntityModel,\n AXMModuleEntityModel,\n AXMPermissionEntityModel,\n AXMPropertyEntityModel,\n ENTITY_SOURCE_NAME,\n FEATURE_SOURCE_NAME,\n MODULE_SOURCE_NAME,\n PERMISSION_SOURCE_NAME,\n PROPERTY_SOURCE_NAME,\n} from '@acorex/modules/application-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport {\n APPLICATIONS,\n EDITIONS,\n ENTITIES,\n FEATURES,\n MODULES,\n PERMISSIONS,\n PROPERTIES,\n} from './application-management-mock-data';\n\n@Injectable()\nexport class AXPApplicationTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n const applications = this.storageService.initial<AXMApplicationEntityModel>(APPLICATION_SOURCE_NAME, APPLICATIONS);\n const modules = this.storageService.initial<AXMModuleEntityModel>(MODULE_SOURCE_NAME, MODULES);\n const entities = this.storageService.initial<AXMEntityEntityModel>(ENTITY_SOURCE_NAME, ENTITIES);\n const features = this.storageService.initial<AXMFeatureEntityModel>(FEATURE_SOURCE_NAME, FEATURES);\n const permissions = this.storageService.initial<AXMPermissionEntityModel>(PERMISSION_SOURCE_NAME, PERMISSIONS);\n const editions = this.storageService.initial<AXMEditionEntityModel>(PERMISSION_SOURCE_NAME, EDITIONS);\n const properties = this.storageService.initial<AXMPropertyEntityModel>(PROPERTY_SOURCE_NAME, PROPERTIES);\n\n await Promise.all([applications, modules, entities, features, permissions, editions, properties]);\n }\n}\n","import { AXDataSourceQuery } from '@acorex/components/common';\nimport { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXCModuleDesignerService implements AXPModuleDesignerService {\n protected loader: any = inject(AXPEntityDefinitionRegistryService);\n\n protected defaultConfig = {\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: 'equal' as any,\n },\n };\n\n protected AdvanceConfig = (moduleId: string): AXDataSourceQuery => ({\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: { type: 'equal' },\n filters: [\n {\n field: 'moduleId',\n operator: { type: 'equal' },\n value: moduleId,\n },\n ],\n },\n });\n\n private async moduleDef() {\n return this.loader.resolve('application-management', 'module');\n }\n private async entityDef() {\n return this.loader.resolve('application-management', 'entity');\n }\n private async featureDef() {\n return this.loader.resolve('application-management', 'feature');\n }\n private async permissionDef() {\n return this.loader.resolve('application-management', 'permission');\n }\n\n async getModules() {\n const entity: AXPEntity = await this.moduleDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.defaultConfig);\n }\n\n async getSingleModule() {}\n\n async createModule(payload: any): Promise<any> {}\n\n async updateModule(moduleId: string, payload: any): Promise<any> {}\n\n async deleteModule(moduleId: string): Promise<any> {}\n\n //\n\n async getEntities(moduleId: string) {\n const entity: AXPEntity = await this.entityDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleEntity(entityId: string) {}\n\n async createEntity(payload: any): Promise<any> {}\n\n async updateEntity(payload: any): Promise<any> {}\n\n async deleteEntity(entityId: string): Promise<any> {}\n\n //\n\n async getFeatures(moduleId: string) {\n const entity: AXPEntity = await this.featureDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleFeature(featureId: string) {}\n\n async createFeature(payload: any): Promise<any> {}\n\n async updateFeature(payload: any): Promise<any> {}\n\n async deleteFeature(featureId: string): Promise<any> {}\n\n //\n\n async getPermissions(moduleId: string) {\n const entity: AXPEntity = await this.permissionDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSinglePermission(permissionId: string) {}\n\n async createPermission(payload: any): Promise<any> {}\n\n async updatePermission(payload: any): Promise<any> {}\n\n async deletePermission(permissionId: string): Promise<any> {}\n}\n","import { AXMChatMessage, AXMChatRoom, AXMChatUserDetails } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateChatUser = (): AXMChatUserDetails => ({\n id: AXPDataGenerator.uuid(),\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null, // Can replace with a mock image URL if needed\n});\n\nexport const generateChatMessage = (): AXMChatMessage => ({\n content: `${AXPDataGenerator.pick([\n 'Hello!',\n 'How are you?',\n 'Can we schedule a meeting?',\n 'Looking forward to your response.',\n 'This is a test message.',\n 'Let’s catch up soon!',\n 'Good job on this!',\n 'Here is the update you requested.',\n ])}`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n hasSeen: AXPDataGenerator.boolean(),\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n createdBy: generateChatUser(),\n});\n\nexport const CHAT: AXMChatRoom[] = Array.from({ length: 10 }).map(() => {\n const roomMembersCount = AXPDataGenerator.number(2, 10);\n const roomMembers = Array.from({ length: roomMembersCount }).map(() => generateChatUser());\n\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick([\n 'General Discussion',\n 'Project Alpha',\n 'Team Meeting',\n 'Client Communication',\n 'Random Chat',\n ]),\n lastMessage: generateChatMessage(),\n roomMembers,\n unreadCount: AXPDataGenerator.number(0, 20),\n };\n});\n","import { AXMChatRoom, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { CHAT } from './chat.mock.data';\n\n@Injectable()\nexport class AXPChatDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMChatRoom>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`,\n CHAT\n );\n }\n}\n","import { AXMChatServiceImpl, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMChatMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMChatMockService\" class.\nexport class AXMChatMockService extends AXMChatServiceImpl {\n override async getTotalUnread(): Promise<number> {\n const chatList = await super.storageService.getAll(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`\n );\n const totalUnread = chatList.reduce((acc, curr) => (acc += curr.unreadCount > 0), 0);\n return totalUnread;\n }\n override async markChatAsRead(roomId: string): Promise<void> {\n const oldChat = await super.getOne(roomId);\n await super.updateOne(roomId, { ...oldChat, unreadCount: 0 });\n return;\n }\n}\n","// import { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\n// import {\n// AXPComment,\n// AXPCommentCreateRequest,\n// AXPCommentDeleteRequest,\n// AXPCommentGetRequest,\n// AXPCommentLikeRequest,\n// AXPCommentResponse,\n// AXPCommentUpdateRequest,\n// } from '@acorex/platform/themes/shared';\n// import { inject, Injectable } from '@angular/core';\n\n// @Injectable({\n// providedIn: 'root',\n// })\n// export class AXMMockCommentService {\n// private storageService = inject(AXPEntityStorageService);\n// private name = 'comments';\n\n// async get(params: AXPCommentGetRequest): Promise<AXPCommentResponse> {\n// const items = (await this.storageService.getAll(this.name)) as AXPComment[];\n// return { totalCount: items.length, items };\n// }\n\n// async create(payload: AXPCommentCreateRequest): Promise<string> {\n// const fullPayload = {\n// ...payload,\n// id: AXPDataGenerator.uuid(),\n// memberId: AXPDataGenerator.uuid(),\n// memberType: AXPDataGenerator.pick(['user', 'admin']),\n// roomId: AXPDataGenerator.uuid(),\n// messageVisibles: [],\n// messageStatuses: [],\n// messageHistories: [],\n// replies: [],\n// isArchived: false,\n// isLiked: false,\n// reactionsCount: 0,\n// repliesCount: 0,\n// user: {\n// userName: AXPDataGenerator.firstName().toLowerCase(),\n// firstName: AXPDataGenerator.firstName(),\n// lastName: AXPDataGenerator.lastName(),\n// picture: null,\n// id: AXPDataGenerator.uuid(),\n// },\n// };\n\n// if (payload.replyId) {\n// const message = await this.storageService.getOne(this.name, payload.replyId);\n// await this.storageService.updateOne(this.name, payload.replyId, {\n// ...message,\n// replies: [...message.replies, fullPayload],\n// });\n// } else {\n// await this.storageService.insertOne(this.name, fullPayload);\n// }\n\n// return 'done';\n// }\n\n// async update(payload: AXPCommentUpdateRequest): Promise<string> {\n// await this.storageService.updateOne(this.name, payload.id, { content: payload.content });\n// return 'done';\n// }\n\n// async delete(payload: AXPCommentDeleteRequest): Promise<void> {\n// await this.storageService.deleteOne(this.name, payload.id);\n// }\n\n// async like(payload: AXPCommentLikeRequest): Promise<string> {\n// const message = await this.storageService.getOne(this.name, payload.messageId);\n\n// if (message) {\n// const isLiked = !message.isLiked;\n// const reactionsCount = isLiked ? message.reactionsCount + 1 : message.reactionsCount - 1;\n// await this.storageService.updateOne(this.name, payload.messageId, { ...message, isLiked, reactionsCount });\n// } else {\n// const comments = (await this.storageService.getAll(this.name)) as AXPComment[];\n// const commentWithReply = comments.find((comment) =>\n// comment.replies.some((reply) => reply.id === payload.messageId)\n// );\n\n// if (commentWithReply) {\n// commentWithReply.replies = commentWithReply.replies.map((reply) =>\n// reply.id === payload.messageId\n// ? {\n// ...reply,\n// isLiked: !reply.isLiked,\n// reactionsCount: reply.isLiked ? reply.reactionsCount - 1 : reply.reactionsCount + 1,\n// }\n// : reply\n// );\n// await this.storageService.updateOne(this.name, commentWithReply.id, commentWithReply);\n// } else {\n// throw new Error('No comment with this ID found.');\n// }\n// }\n\n// return 'done';\n// }\n// }\n\nimport { AXMComment } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateUser = () => ({\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n});\n\nexport const COMMENTS: AXMComment[] = Array.from({ length: 10 }).map(() => {\n const contentSource = [\n 'This is a comment.',\n 'I really like this!',\n 'Could you clarify your point?',\n 'Great job on this!',\n 'I have some suggestions.',\n 'This is quite insightful.',\n 'Thanks for sharing!',\n 'I disagree with this perspective.',\n 'Interesting take!',\n 'What do you think about this?',\n ];\n\n const repliesCount = AXPDataGenerator.number(0, 3);\n\n return {\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: null,\n messageVisibles: [], // Ensure AXPCommentVisibleMessage[] type is defined\n messageStatuses: [], // Ensure AXPCommentStatusMessage[] type is defined\n messageHistories: [], // Ensure AXPCommentHistoryMessage[] type is defined\n replies: Array.from({ length: repliesCount }).map(() => ({\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: 'text',\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 10),\n repliesCount: 0,\n user: generateUser(), // Ensure AXPCommentUserDetails type is defined\n replies: [], // Add an empty replies array here to match the AXPComment type\n })),\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 100),\n repliesCount,\n user: generateUser(), // Ensure AXPCommentUserDetails type is defined\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n };\n});\n","import { AXMComment, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { COMMENTS } from './comment.mock.data';\n\n@Injectable()\nexport class AXPCommentDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMComment>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.commentName}`,\n COMMENTS\n );\n }\n}\n","import {\n AXMComment,\n AXMCommentCreateRequest,\n AXMCommentServiceImpl,\n AXMMessageReactionEntityModel,\n} from '@acorex/modules/conversation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMCommentMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMCommentMockService\" class.\nexport class AXMCommentMockService extends AXMCommentServiceImpl {\n private sessionService = inject(AXPSessionService);\n\n override async insertOne(request: AXMCommentCreateRequest): Promise<string> {\n const fullPayload: AXMComment = {\n ...request,\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n replies: [],\n isArchived: false,\n isLiked: false,\n reactionsCount: 0,\n repliesCount: 0,\n user: {\n userName: this.sessionService.user?.name ?? AXPDataGenerator.firstName().toLowerCase(),\n firstName: this.sessionService.user?.name ?? AXPDataGenerator.firstName(),\n lastName: this.sessionService.user?.name ?? AXPDataGenerator.lastName(),\n picture: this.sessionService.user?.avatar ?? null,\n id: this.sessionService.user?.id ?? AXPDataGenerator.uuid(),\n },\n createdAt: new Date(),\n id: AXPDataGenerator.uuid(),\n };\n\n if (request.replyId) {\n const message = await super.getOne(request.replyId);\n await super.updateOne(request.replyId, {\n ...message,\n replies: [...message.replies, fullPayload],\n });\n } else {\n await super.insertOne(fullPayload as any);\n //await super.storageService.insertOne('comments', fullPayload);\n }\n return 'done';\n }\n\n override async like(payload: AXMMessageReactionEntityModel): Promise<string> {\n \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/common';\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 { 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\n // Filter records based on the search text\n const filteredRecords = allRecords.filter((record) => this.shallowSearch(record, lowerText));\n\n return filteredRecords.map<AXPSearchResult>((record) => ({\n title: record.title || '',\n name: `record.${record.entityName}`,\n description: record.description,\n icon: record.icon,\n data: record,\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 { convertArrayToDataSource } from '@acorex/components/common';\nimport { AXPWidgetDataSource, AXPWidgetDataSourceProvider } from '@acorex/platform/layout/builder';\n\nexport class AXPMockWidgetDataSourceProvider implements AXPWidgetDataSourceProvider {\n async items(): Promise<AXPWidgetDataSource[]> {\n return [\n {\n name: 'mock.users',\n title: 'Users',\n columns: [],\n samples: [\n {\n id: '2',\n title: 'Alex Jakson',\n },\n {\n id: '3',\n title: 'Emma Smith',\n },\n ],\n source: () =>\n convertArrayToDataSource([\n {\n id: '1',\n title: 'Arash Oshnoudi',\n },\n {\n id: '2',\n title: 'Alex Smith',\n },\n {\n id: '3',\n title: 'Emma Jakson',\n },\n ]),\n },\n ];\n }\n}\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementCategoryEntityModel, AXMFormTemplateManagementModuleConst } from '@acorex/modules/form-template-management';\n\n\n@Injectable()\nexport class AXPFormTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMFormTemplateManagementCategoryEntityModel>(\n `${AXMFormTemplateManagementModuleConst.moduleName}.${AXMFormTemplateManagementModuleConst.categoryEntity}`,\n [\n {\n title: 'Risk Assessment'\n },\n {\n title: 'Servicing'\n },\n {\n title: 'Checklists'\n }\n ]);\n }\n}\n","import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';\nimport { NgModule } from '@angular/core';\nimport { AXPMockWidgetDataSourceProvider } from './datasource-provider.mock.service';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/common';\nimport { AXPFormTemplateCategoryDataSeeder } from './category.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n\n {\n provide: AXP_WIDGET_DATASOURCE_PROVIDER,\n useClass: AXPMockWidgetDataSourceProvider,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPFormTemplateCategoryDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCFormTemplateManagementMockModule { }\n","import {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\n\nexport interface MockUserPassCredentials extends AXPBaseCredentials {\n username: string;\n password: string;\n}\n\n@Injectable()\nexport class MOCKStrategy implements AXPAuthStrategy {\n constructor() {}\n\n get name(): string {\n return 'user-pass';\n }\n\n async signin(credentials: MockUserPassCredentials): Promise<AXPSignInResult> {\n try {\n if (credentials.username == 'root' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Root',\n title: 'Root User',\n avatar: 'https://avatar.iran.liara.run/public/29',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'admin' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Admin',\n title: 'Admin User',\n avatar: 'https://avatar.iran.liara.run/public/47',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'user' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-76a7-b81c-7cf9468ae831',\n name: 'User',\n title: 'Sample User',\n avatar: 'https://avatar.iran.liara.run/public/56',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n return {\n succeed: false,\n };\n } catch (error: any) {\n if (error?.message) throw new Error(error.message);\n // Depending on the error type, you might want to throw a specific error\n throw new Error('Network or server error occurred');\n }\n }\n\n async signout(): Promise<void> {\n console.log('User signed out');\n }\n\n async refreshToken(context: AXPSessionContext): Promise<AXPRefreshTokenResult> {\n return {\n succeed: true,\n data: {\n accessToken: 'access_token',\n refreshToken: 'refresh_token',\n application: context.application,\n tenant: context.tenant,\n },\n };\n }\n}\n","import {\n AXMNotificationCategory,\n AXMNotificationChannel,\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationPrority,\n AXMNotificationResponse,\n AXMNotificationType,\n} from '@acorex/modules/notification-management';\nimport { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMMockNotificationService {\n private storageService = inject(AXPEntityStorageService);\n private name = 'notifications';\n\n async getList(): Promise<AXMNotificationResponse> {\n await this.storageService.initial(this.name, NOTIFICATIONS);\n const items = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n return { total: items.length, items };\n }\n\n async markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void> {\n const notifications = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n\n if (!payload) {\n notifications\n .filter((item) => !item.readAt)\n .forEach((item) => this.storageService.updateOne(this.name, item.id, { ...item, readAt: new Date() }));\n } else {\n for (const id of payload.id) {\n const item = await this.storageService.getOne(this.name, id);\n const readAt = item.readAt ? null : new Date();\n this.storageService.updateOne(this.name, item.id, { ...item, readAt });\n }\n }\n }\n\n async create(payload?: AXMNotificationItem): Promise<void> {\n const notification = payload || generateNotification();\n await this.storageService.insertOne(this.name, notification);\n }\n}\n\nconst CHANNELS = ['InApp', 'Email', 'SMS'];\nconst TITLES = ['Buy Me!', 'Black Friday', 'New Message'];\nconst BODIES = ['Buy New Glass From Shop', 'New Offers For Black Friday!', 'Saeed Send New File Message'];\nconst CATEGORIES = ['Inbox', 'Archive'];\nconst TYPES = ['File', 'Person', 'Notification'];\nconst PRIORITIES = ['Warning', 'Danger', 'Notice'];\n\nexport const NOTIFICATIONS = Array.from({ length: 5 }).map(generateNotification);\n\nfunction generateNotification(): AXMNotificationItem {\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick(TITLES),\n body: AXPDataGenerator.pick(BODIES),\n channel: AXPDataGenerator.pick(CHANNELS) as AXMNotificationChannel,\n content: {\n type: AXPDataGenerator.pick(TYPES) as AXMNotificationType,\n data: {},\n },\n user: {\n id: AXPDataGenerator.uuid(),\n name: `${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}`,\n image: 'https://i.pravatar.cc/300',\n },\n template: {\n category: AXPDataGenerator.pick(CATEGORIES) as AXMNotificationCategory,\n prority: AXPDataGenerator.pick(PRIORITIES) as AXMNotificationPrority,\n icon: 'fa-image',\n isPinned: AXPDataGenerator.boolean(),\n },\n readAt: AXPDataGenerator.pick([new Date(), null]),\n createAt: AXPDataGenerator.date(new Date(2021), new Date()),\n entityName: 'notifications',\n };\n}\n","import { AXPDataGenerator } from '@acorex/platform/common';\n\nconst names = ['key', 'counter', 'logo', 'tenant'];\nconst data = [\n ['key1', 'string'],\n ['sequence', 'integer'],\n ['appLogo', 'function'],\n ['CompanyName', 'function'],\n];\n\nexport const GLOBAL_VARIABLES = Array.from({ length: 4 }).map((element, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n name: names[i],\n title: names[i],\n dataType: data[i][1],\n dataValue: data[i][0],\n };\n});\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { GLOBAL_VARIABLES } from './global-variables.mock.data';\n\n@Injectable()\nexport class AXPGlobalVariablesDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial('globalVariable', GLOBAL_VARIABLES);\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageService, AXPFileStorageStatus, AXPFileStorageUpdateRequest } from \"@acorex/platform/common\";\n\nimport Dexie, { Table } from 'dexie';\nimport { AXFileService } from \"@acorex/core/file\";\n\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\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: AXPFileStorageStatus.Temporary, // Use enum\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 &&\n 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 { AXMTextTemplateManagementModuleConst } from '@acorex/modules/text-template-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nconst data = [\n ['key1', 'string'],\n ['sequence', 'integer'],\n ['appLogo', 'function'],\n ['CompanyName', 'function'],\n];\n\nexport const TEXT_SEARCH_DATA = Array.from({ length: 4 }).map((element, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n name: `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.categoryEntity}`,\n title: data[i][0],\n subtitle: data[i][1],\n entityId: AXPDataGenerator.uuid(),\n entityType: `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.categoryEntity}`,\n };\n});\n","import {\n AXMPlatformManagementModuleConst,\n AXMPlatformManagementTextSearchEntityModel,\n} from '@acorex/modules/platform-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_SEARCH_DATA } from './text-search.mock.data';\n\n@Injectable()\nexport class AXPTextSearchDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMPlatformManagementTextSearchEntityModel>(\n `${AXMPlatformManagementModuleConst.moduleName}.${AXMPlatformManagementModuleConst.textSearchEntity}`,\n TEXT_SEARCH_DATA\n );\n }\n}\n","import { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const SCHEDULER_JOB = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'backup',\n title: 'Backup Data',\n process: 'backup',\n trigger: '00*1*?*',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'cancelOrder',\n title: 'Auto Cancel Ecommerce Orders',\n process: 'cancelOrder',\n trigger: '0*1/2?***',\n },\n];\n","import {\n AXMSchedulerJobManagementModuleConst,\n AXMSchedulerJobManagementSchedulerJobEntityModel,\n} from '@acorex/modules/scheduler-job-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { SCHEDULER_JOB } from './scheduler-job-management.mock.data';\n\n@Injectable()\nexport class AXPSchedulerJobDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSchedulerJobManagementSchedulerJobEntityModel>(\n `${AXMSchedulerJobManagementModuleConst.moduleName}.${AXMSchedulerJobManagementModuleConst.schedulerJobEntity}`,\n SCHEDULER_JOB\n );\n }\n}\n","import { AXMTextTemplateManagementTemplateEntityModel } from '@acorex/modules/text-template-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const TEXT_TEMPLATE_CATEGORY = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'security',\n title: 'Security',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'marketing',\n title: 'Marketing',\n },\n];\n\nexport const TEXT_TEMPLATES: AXMTextTemplateManagementTemplateEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'RestPassword',\n title: 'Rest Password',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We received a request to reset your password for your account. If you didn’t make this request, you can ignore this email. Otherwise, you can reset your password using the link below:</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Reset Password Link}}\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Reset Password</a>\n </p>\n <p style=\"font-size: 12px; color: #666666;\">*This link will expire in {{Expiration Time}}*</p>\n <p>If the link above doesn’t work, copy and paste the following URL into your browser:</p>\n <p style=\"color: #007bff;\">{{Reset Password URL}}</p>\n <p>For your security, please make sure to keep your new password safe and avoid using it for other sites.</p>\n <p>If you have any questions, feel free to reach out to our support team at <a href=\"mailto:{{Support Email}}\">{{Support Email}}</a>.</p>\n <p>Best regards,<br>{{Company Name}} Support Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'NewDevice',\n title: 'New Device Login',\n content: `\n <tr>\n <td>\n <p>Hi {{User's Name}},</p>\n <p>We detected a login to your account from a new device. If this was you, there’s nothing you need to do. If you didn’t sign in from a new device, please review your account for any unauthorized activity.</p>\n <p style=\"font-weight: bold;\">Device Information:</p>\n <ul>\n <li><strong>Device:</strong> {{Device Type}}</li>\n <li><strong>Location:</strong> {{Location, e.g., City, Country}}</li>\n <li><strong>Date & Time:</strong> {{Date and Time}}</li>\n <li><strong>IP Address:</strong> {{IP Address}}</li>\n </ul>\n <p>If you have any concerns, please secure your account by resetting your password and enabling two-factor authentication.</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"https://example.com/security-settings\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Review Account Security</a>\n </p>\n <p>Thank you for helping us keep your account safe.</p>\n <p>Best regards,<br>{{Your Company Name}} Security Team</p>\n </td>\n </tr>\n `,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'offer',\n title: 'Offer',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We're excited to bring you an exclusive offer! For a limited time, you can enjoy {{Discount Percentage}}% off on {{Product or Service Name}}. Don’t miss out on this amazing deal!</p>\n <p style=\"font-weight: bold;\">Offer Details:</p>\n <ul>\n <li><strong>Discount:</strong> {{Discount Percentage}}%</li>\n <li><strong>Valid Until:</strong> {{Expiration Date}}</li>\n <li><strong>Promo Code:</strong> <span style=\"color: #007bff;\">{{Promo Code}}</span></li>\n </ul>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Offer Link}}\" style=\"background-color: #ff9800; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Redeem Offer</a>\n </p>\n <p>Thank you for being a valued customer. We hope you enjoy this special offer!</p>\n <p>Best regards,<br>{{Company Name}} Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[1],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n];\n","import {\n AXMTextTemplateManagementCategoryEntityModel,\n AXMTextTemplateManagementModuleConst,\n} from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATE_CATEGORY } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementCategoryEntityModel>(\n `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.categoryEntity}`,\n TEXT_TEMPLATE_CATEGORY\n );\n }\n}\n","import {\n AXMTextTemplateManagementModuleConst,\n AXMTextTemplateManagementTemplateEntityModel,\n} from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATES } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementTemplateEntityModel>(\n `${AXMTextTemplateManagementModuleConst.moduleName}.${AXMTextTemplateManagementModuleConst.templateEntity}`,\n TEXT_TEMPLATES\n );\n }\n}\n","import { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXMNotificationService } from '@acorex/modules/notification-management';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport {\n AXP_DATA_SEEDER_TOKEN,\n AXP_SEARCH_PROVIDER,\n AXPDexieEntityStorageService,\n AXPEntityStorageService,\n AXPFileStorageService,\n} from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXPApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXCConversationMockModule } from './conversation/conversation.module';\nimport { EntitySearchProvider } from './entity-search.provider';\nimport { AXCFormTemplateManagementMockModule } from './form-template-management/form-template-management-mock.module';\nimport { MOCKStrategy } from './mock.strategy';\nimport { AXMMockNotificationService } from './notification-management/notification/notification.mock.service';\nimport { AXPGlobalVariablesDataSeeder } from './platform-management';\nimport { AXCFileStorageService } from './platform-management/file-storage/file-storage-service';\nimport { AXPTextSearchDataSeeder } from './platform-management/text-search';\nimport { AXPSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXPTextTemplateCategoryDataSeeder, AXPTextTemplateDataSeeder } from './text-template-management';\n\n@NgModule({\n imports: [\n AXPAuthModule.forRoot({\n strategies: [MOCKStrategy],\n }),\n AXCFormTemplateManagementMockModule,\n AXCConversationMockModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n AXPDexieEntityStorageService,\n {\n provide: AXMNotificationService,\n useClass: AXMMockNotificationService,\n },\n\n {\n provide: AXPEntityStorageService,\n useClass: AXPDexieEntityStorageService,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPGlobalVariablesDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateCategoryDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPApplicationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSchedulerJobDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextSearchDataSeeder,\n multi: true,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXCModuleDesignerService,\n },\n {\n provide: AXPFileStorageService,\n useClass: AXCFileStorageService,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: EntitySearchProvider,\n multi: true,\n },\n ],\n})\nexport class AXCMockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["data"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-connectivity-mock.mjs","sources":["../../../../libs/connectivity/mock/src/lib/application-management/application-management-mock-data.ts","../../../../libs/connectivity/mock/src/lib/application-management/application.seeder.ts","../../../../libs/connectivity/mock/src/lib/application-management/mock-module-designer.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/chat/chat.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.data.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.seeder.ts","../../../../libs/connectivity/mock/src/lib/conversation/comments/comment.mock.service.ts","../../../../libs/connectivity/mock/src/lib/conversation/conversation.module.ts","../../../../libs/connectivity/mock/src/lib/entity-search.provider.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/datasource-provider.mock.service.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/form-template-management/form-template-management-mock.module.ts","../../../../libs/connectivity/mock/src/lib/mock.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/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/file-storage/file-storage-service.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/scheduler-job-management/scheduler-job.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/text-template-management.mock.data.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/category.seeder.ts","../../../../libs/connectivity/mock/src/lib/text-template-management/template.seeder.ts","../../../../libs/connectivity/mock/src/lib/mock.module.ts","../../../../libs/connectivity/mock/src/acorex-connectivity-mock.ts"],"sourcesContent":["import { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const MODULES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'UserManagement',\n 'Analytics',\n 'Reporting',\n 'PaymentGateway',\n 'NotificationService',\n 'InventoryManagement',\n ];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const APPLICATIONS_MODULES = Array.from({ length: 5 }).map((_, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n module: AXPDataGenerator.pick(MODULES),\n };\n});\n\nexport const EDITIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Standard', 'Premium', 'Gold', 'Silver', 'Bronze', 'Platinum', 'Enterprise'];\n const name = AXPDataGenerator.pick(source);\n\n return {\n id: AXPDataGenerator.uuid(),\n application: AXPDataGenerator.pick(APPLICATIONS),\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const FEATURES = Array.from({ length: 5 }).map((_, i) => {\n const source = [\n 'User Authentication',\n 'Data Encryption',\n 'Real-time Notifications',\n 'Customizable Dashboards',\n 'API Access',\n 'Multi-language Support',\n 'Analytics and Reporting',\n 'Offline Mode',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const ENTITIES = Array.from({ length: 5 }).map((_, i) => {\n const source = ['User', 'Product', 'Order', 'Customer', 'Transaction', 'Category', 'Review', 'InventoryItem'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\nexport const PERMISSIONS = Array.from({ length: 5 }).map((_, i) => {\n const source = ['Read', 'Write', 'Update', 'Delete', 'ManageUsers', 'ViewReports', 'AccessSettings', 'CreateContent'];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n moduleId: AXPDataGenerator.pick(MODULES).id,\n name: name,\n title: name,\n isArchived: AXPDataGenerator.boolean(),\n };\n});\n\nexport const PROPERTIES = Array.from({ length: 10 }).map((_, i) => {\n const source = [\n 'property1',\n 'property2',\n 'property3',\n 'property4',\n 'property5',\n 'property6',\n 'property7',\n 'property8',\n ];\n const name = AXPDataGenerator.pick(source);\n return {\n id: AXPDataGenerator.uuid(),\n entityId: AXPDataGenerator.pick(ENTITIES).id,\n name: name,\n title: name,\n path: name,\n };\n});\n","import {\n APPLICATION_SOURCE_NAME,\n AXMApplicationEntityModel,\n AXMEditionEntityModel,\n AXMEntityEntityModel,\n AXMFeatureEntityModel,\n AXMModuleEntityModel,\n AXMPermissionEntityModel,\n AXMPropertyEntityModel,\n ENTITY_SOURCE_NAME,\n FEATURE_SOURCE_NAME,\n MODULE_SOURCE_NAME,\n PERMISSION_SOURCE_NAME,\n PROPERTY_SOURCE_NAME,\n} from '@acorex/modules/application-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport {\n APPLICATIONS,\n EDITIONS,\n ENTITIES,\n FEATURES,\n MODULES,\n PERMISSIONS,\n PROPERTIES,\n} from './application-management-mock-data';\n\n@Injectable()\nexport class AXPApplicationTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n const applications = this.storageService.initial<AXMApplicationEntityModel>(APPLICATION_SOURCE_NAME, APPLICATIONS);\n const modules = this.storageService.initial<AXMModuleEntityModel>(MODULE_SOURCE_NAME, MODULES);\n const entities = this.storageService.initial<AXMEntityEntityModel>(ENTITY_SOURCE_NAME, ENTITIES);\n const features = this.storageService.initial<AXMFeatureEntityModel>(FEATURE_SOURCE_NAME, FEATURES);\n const permissions = this.storageService.initial<AXMPermissionEntityModel>(PERMISSION_SOURCE_NAME, PERMISSIONS);\n const editions = this.storageService.initial<AXMEditionEntityModel>(PERMISSION_SOURCE_NAME, EDITIONS);\n const properties = this.storageService.initial<AXMPropertyEntityModel>(PROPERTY_SOURCE_NAME, PROPERTIES);\n\n await Promise.all([applications, modules, entities, features, permissions, editions, properties]);\n }\n}\n","import { AXDataSourceQuery } from '@acorex/components/common';\nimport { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXCModuleDesignerService implements AXPModuleDesignerService {\n protected loader: any = inject(AXPEntityDefinitionRegistryService);\n\n protected defaultConfig = {\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: 'equal' as any,\n },\n };\n\n protected AdvanceConfig = (moduleId: string): AXDataSourceQuery => ({\n skip: 0,\n sort: [],\n take: 10,\n filter: {\n field: '',\n value: '',\n operator: { type: 'equal' },\n filters: [\n {\n field: 'moduleId',\n operator: { type: 'equal' },\n value: moduleId,\n },\n ],\n },\n });\n\n private async moduleDef() {\n return this.loader.resolve('application-management', 'module');\n }\n private async entityDef() {\n return this.loader.resolve('application-management', 'entity');\n }\n private async featureDef() {\n return this.loader.resolve('application-management', 'feature');\n }\n private async permissionDef() {\n return this.loader.resolve('application-management', 'permission');\n }\n\n async getModules() {\n const entity: AXPEntity = await this.moduleDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.defaultConfig);\n }\n\n async getSingleModule() {}\n\n async createModule(payload: any): Promise<any> {}\n\n async updateModule(moduleId: string, payload: any): Promise<any> {}\n\n async deleteModule(moduleId: string): Promise<any> {}\n\n //\n\n async getEntities(moduleId: string) {\n const entity: AXPEntity = await this.entityDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleEntity(entityId: string) {}\n\n async createEntity(payload: any): Promise<any> {}\n\n async updateEntity(payload: any): Promise<any> {}\n\n async deleteEntity(entityId: string): Promise<any> {}\n\n //\n\n async getFeatures(moduleId: string) {\n const entity: AXPEntity = await this.featureDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSingleFeature(featureId: string) {}\n\n async createFeature(payload: any): Promise<any> {}\n\n async updateFeature(payload: any): Promise<any> {}\n\n async deleteFeature(featureId: string): Promise<any> {}\n\n //\n\n async getPermissions(moduleId: string) {\n const entity: AXPEntity = await this.permissionDef();\n const func = entity?.queries.list?.execute as Function;\n return func(this.AdvanceConfig(moduleId));\n }\n\n async getSinglePermission(permissionId: string) {}\n\n async createPermission(payload: any): Promise<any> {}\n\n async updatePermission(payload: any): Promise<any> {}\n\n async deletePermission(permissionId: string): Promise<any> {}\n}\n","import { AXMChatMessage, AXMChatRoom, AXMChatUserDetails } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateChatUser = (): AXMChatUserDetails => ({\n id: AXPDataGenerator.uuid(),\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null, // Can replace with a mock image URL if needed\n});\n\nexport const generateChatMessage = (): AXMChatMessage => ({\n content: `${AXPDataGenerator.pick([\n 'Hello!',\n 'How are you?',\n 'Can we schedule a meeting?',\n 'Looking forward to your response.',\n 'This is a test message.',\n 'Let’s catch up soon!',\n 'Good job on this!',\n 'Here is the update you requested.',\n ])}`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n hasSeen: AXPDataGenerator.boolean(),\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n createdBy: generateChatUser(),\n});\n\nexport const CHAT: AXMChatRoom[] = Array.from({ length: 10 }).map(() => {\n const roomMembersCount = AXPDataGenerator.number(2, 10);\n const roomMembers = Array.from({ length: roomMembersCount }).map(() => generateChatUser());\n\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick([\n 'General Discussion',\n 'Project Alpha',\n 'Team Meeting',\n 'Client Communication',\n 'Random Chat',\n ]),\n lastMessage: generateChatMessage(),\n roomMembers,\n unreadCount: AXPDataGenerator.number(0, 20),\n };\n});\n","import { AXMChatRoom, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { CHAT } from './chat.mock.data';\n\n@Injectable()\nexport class AXPChatDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMChatRoom>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`,\n CHAT\n );\n }\n}\n","import { AXMChatServiceImpl, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMChatMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMChatMockService\" class.\nexport class AXMChatMockService extends AXMChatServiceImpl {\n override async getTotalUnread(): Promise<number> {\n const chatList = await super.storageService.getAll(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.chatName}`\n );\n const totalUnread = chatList.reduce((acc, curr) => (acc += curr.unreadCount > 0), 0);\n return totalUnread;\n }\n override async markChatAsRead(roomId: string): Promise<void> {\n const oldChat = await super.getOne(roomId);\n await super.updateOne(roomId, { ...oldChat, unreadCount: 0 });\n return;\n }\n}\n","// import { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\n// import {\n// AXPComment,\n// AXPCommentCreateRequest,\n// AXPCommentDeleteRequest,\n// AXPCommentGetRequest,\n// AXPCommentLikeRequest,\n// AXPCommentResponse,\n// AXPCommentUpdateRequest,\n// } from '@acorex/platform/themes/shared';\n// import { inject, Injectable } from '@angular/core';\n\n// @Injectable({\n// providedIn: 'root',\n// })\n// export class AXMMockCommentService {\n// private storageService = inject(AXPEntityStorageService);\n// private name = 'comments';\n\n// async get(params: AXPCommentGetRequest): Promise<AXPCommentResponse> {\n// const items = (await this.storageService.getAll(this.name)) as AXPComment[];\n// return { totalCount: items.length, items };\n// }\n\n// async create(payload: AXPCommentCreateRequest): Promise<string> {\n// const fullPayload = {\n// ...payload,\n// id: AXPDataGenerator.uuid(),\n// memberId: AXPDataGenerator.uuid(),\n// memberType: AXPDataGenerator.pick(['user', 'admin']),\n// roomId: AXPDataGenerator.uuid(),\n// messageVisibles: [],\n// messageStatuses: [],\n// messageHistories: [],\n// replies: [],\n// isArchived: false,\n// isLiked: false,\n// reactionsCount: 0,\n// repliesCount: 0,\n// user: {\n// userName: AXPDataGenerator.firstName().toLowerCase(),\n// firstName: AXPDataGenerator.firstName(),\n// lastName: AXPDataGenerator.lastName(),\n// picture: null,\n// id: AXPDataGenerator.uuid(),\n// },\n// };\n\n// if (payload.replyId) {\n// const message = await this.storageService.getOne(this.name, payload.replyId);\n// await this.storageService.updateOne(this.name, payload.replyId, {\n// ...message,\n// replies: [...message.replies, fullPayload],\n// });\n// } else {\n// await this.storageService.insertOne(this.name, fullPayload);\n// }\n\n// return 'done';\n// }\n\n// async update(payload: AXPCommentUpdateRequest): Promise<string> {\n// await this.storageService.updateOne(this.name, payload.id, { content: payload.content });\n// return 'done';\n// }\n\n// async delete(payload: AXPCommentDeleteRequest): Promise<void> {\n// await this.storageService.deleteOne(this.name, payload.id);\n// }\n\n// async like(payload: AXPCommentLikeRequest): Promise<string> {\n// const message = await this.storageService.getOne(this.name, payload.messageId);\n\n// if (message) {\n// const isLiked = !message.isLiked;\n// const reactionsCount = isLiked ? message.reactionsCount + 1 : message.reactionsCount - 1;\n// await this.storageService.updateOne(this.name, payload.messageId, { ...message, isLiked, reactionsCount });\n// } else {\n// const comments = (await this.storageService.getAll(this.name)) as AXPComment[];\n// const commentWithReply = comments.find((comment) =>\n// comment.replies.some((reply) => reply.id === payload.messageId)\n// );\n\n// if (commentWithReply) {\n// commentWithReply.replies = commentWithReply.replies.map((reply) =>\n// reply.id === payload.messageId\n// ? {\n// ...reply,\n// isLiked: !reply.isLiked,\n// reactionsCount: reply.isLiked ? reply.reactionsCount - 1 : reply.reactionsCount + 1,\n// }\n// : reply\n// );\n// await this.storageService.updateOne(this.name, commentWithReply.id, commentWithReply);\n// } else {\n// throw new Error('No comment with this ID found.');\n// }\n// }\n\n// return 'done';\n// }\n// }\n\nimport { AXMComment } from '@acorex/modules/conversation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const generateUser = () => ({\n userName: AXPDataGenerator.firstName().toLowerCase(),\n firstName: AXPDataGenerator.firstName(),\n lastName: AXPDataGenerator.lastName(),\n picture: null,\n id: AXPDataGenerator.uuid(),\n});\n\nexport const COMMENTS: AXMComment[] = Array.from({ length: 10 }).map(() => {\n const contentSource = [\n 'This is a comment.',\n 'I really like this!',\n 'Could you clarify your point?',\n 'Great job on this!',\n 'I have some suggestions.',\n 'This is quite insightful.',\n 'Thanks for sharing!',\n 'I disagree with this perspective.',\n 'Interesting take!',\n 'What do you think about this?',\n ];\n\n const repliesCount = AXPDataGenerator.number(0, 3);\n\n return {\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: AXPDataGenerator.pick(['text', 'image', 'video']),\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: null,\n messageVisibles: [], // Ensure AXPCommentVisibleMessage[] type is defined\n messageStatuses: [], // Ensure AXPCommentStatusMessage[] type is defined\n messageHistories: [], // Ensure AXPCommentHistoryMessage[] type is defined\n replies: Array.from({ length: repliesCount }).map(() => ({\n id: AXPDataGenerator.uuid(),\n content: `<p>${AXPDataGenerator.pick(contentSource)}</p>`,\n contentType: 'text',\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n isPrivate: AXPDataGenerator.boolean(),\n replyId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 10),\n repliesCount: 0,\n user: generateUser(), // Ensure AXPCommentUserDetails type is defined\n replies: [], // Add an empty replies array here to match the AXPComment type\n })),\n isArchived: AXPDataGenerator.boolean(),\n isLiked: AXPDataGenerator.boolean(),\n reactionsCount: AXPDataGenerator.number(0, 100),\n repliesCount,\n user: generateUser(), // Ensure AXPCommentUserDetails type is defined\n createdAt: AXPDataGenerator.date(new Date(2021), new Date()),\n };\n});\n","import { AXMComment, AXMConverstionModuleConst } from '@acorex/modules/conversation';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { COMMENTS } from './comment.mock.data';\n\n@Injectable()\nexport class AXPCommentDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMComment>(\n `${AXMConverstionModuleConst.moduleName}.${AXMConverstionModuleConst.commentName}`,\n COMMENTS\n );\n }\n}\n","import {\n AXMComment,\n AXMCommentCreateRequest,\n AXMCommentServiceImpl,\n AXMMessageReactionEntityModel,\n} from '@acorex/modules/conversation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable() //avoid DEPRECATED: DI is instantiating a token \"AXMCommentMockService\" that inherits its @Injectable decorator but does not provide one itself. This will become an error in a future version of Angular. Please add @Injectable() to the \"AXMCommentMockService\" class.\nexport class AXMCommentMockService extends AXMCommentServiceImpl {\n private sessionService = inject(AXPSessionService);\n\n override async insertOne(request: AXMCommentCreateRequest): Promise<string> {\n const fullPayload: AXMComment = {\n ...request,\n memberId: AXPDataGenerator.uuid(),\n memberType: AXPDataGenerator.pick(['user', 'admin']),\n roomId: AXPDataGenerator.uuid(),\n messageVisibles: [],\n messageStatuses: [],\n messageHistories: [],\n replies: [],\n isArchived: false,\n isLiked: false,\n reactionsCount: 0,\n repliesCount: 0,\n user: {\n userName: this.sessionService.user?.name ?? AXPDataGenerator.firstName().toLowerCase(),\n firstName: this.sessionService.user?.name ?? AXPDataGenerator.firstName(),\n lastName: this.sessionService.user?.name ?? AXPDataGenerator.lastName(),\n picture: this.sessionService.user?.avatar ?? null,\n id: this.sessionService.user?.id ?? AXPDataGenerator.uuid(),\n },\n createdAt: new Date(),\n id: AXPDataGenerator.uuid(),\n };\n\n if (request.replyId) {\n const message = await super.getOne(request.replyId);\n await super.updateOne(request.replyId, {\n ...message,\n replies: [...message.replies, fullPayload],\n });\n } else {\n await super.insertOne(fullPayload as any);\n //await super.storageService.insertOne('comments', fullPayload);\n }\n return 'done';\n }\n\n override async like(payload: AXMMessageReactionEntityModel): Promise<string> {\n \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/common';\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 { AXPSearchProvider, AXPSearchResult } from '@acorex/platform/common';\nimport Dexie from 'dexie';\n\nexport class EntitySearchProvider implements AXPSearchProvider {\n\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.split('.')[0]}`,\n data: record,\n commands: {\n \"open-entity\": {\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 { convertArrayToDataSource } from '@acorex/components/common';\nimport { AXPWidgetDataSource, AXPWidgetDataSourceProvider } from '@acorex/platform/layout/builder';\n\nexport class AXPMockWidgetDataSourceProvider implements AXPWidgetDataSourceProvider {\n async items(): Promise<AXPWidgetDataSource[]> {\n return [\n {\n name: 'mock.users',\n title: 'Users',\n columns: [],\n samples: [\n {\n id: '2',\n title: 'Alex Jakson',\n },\n {\n id: '3',\n title: 'Emma Smith',\n },\n ],\n source: () =>\n convertArrayToDataSource([\n {\n id: '1',\n title: 'Arash Oshnoudi',\n },\n {\n id: '2',\n title: 'Alex Smith',\n },\n {\n id: '3',\n title: 'Emma Jakson',\n },\n ]),\n },\n ];\n }\n}\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMFormTemplateManagementCategoryEntityModel, RootConfig } from '@acorex/modules/form-template-management';\n\n\n@Injectable()\nexport class AXPFormTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMFormTemplateManagementCategoryEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.category}`,\n [\n {\n title: 'Risk Assessment'\n },\n {\n title: 'Servicing'\n },\n {\n title: 'Checklists'\n }\n ]);\n }\n}\n","import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';\nimport { NgModule } from '@angular/core';\nimport { AXPMockWidgetDataSourceProvider } from './datasource-provider.mock.service';\nimport { AXP_DATA_SEEDER_TOKEN } from '@acorex/platform/common';\nimport { AXPFormTemplateCategoryDataSeeder } from './category.seeder';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n\n {\n provide: AXP_WIDGET_DATASOURCE_PROVIDER,\n useClass: AXPMockWidgetDataSourceProvider,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPFormTemplateCategoryDataSeeder,\n multi: true,\n },\n ],\n})\nexport class AXCFormTemplateManagementMockModule { }\n","import {\n AXPAuthStrategy,\n AXPBaseCredentials,\n AXPRefreshTokenResult,\n AXPSessionContext,\n AXPSignInResult,\n AXPUser,\n} from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\n\nexport interface MockUserPassCredentials extends AXPBaseCredentials {\n username: string;\n password: string;\n}\n\n@Injectable()\nexport class MOCKStrategy implements AXPAuthStrategy {\n constructor() {}\n\n get name(): string {\n return 'user-pass';\n }\n\n async signin(credentials: MockUserPassCredentials): Promise<AXPSignInResult> {\n try {\n if (credentials.username == 'root' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Root',\n title: 'Root User',\n avatar: 'https://avatar.iran.liara.run/public/29',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'admin' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-46a7-b81c-7cf9468ae831',\n name: 'Admin',\n title: 'Admin User',\n avatar: 'https://avatar.iran.liara.run/public/47',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n if (credentials.username == 'user' && credentials.password == '123') {\n const user: AXPUser = {\n id: 'a683a19a-e3eb-76a7-b81c-7cf9468ae831',\n name: 'User',\n title: 'Sample User',\n avatar: 'https://avatar.iran.liara.run/public/56',\n };\n const accessToken = 'access_token';\n const refreshToken = 'refresh_token';\n return {\n succeed: true,\n data: { user, accessToken, refreshToken },\n };\n }\n return {\n succeed: false,\n };\n } catch (error: any) {\n if (error?.message) throw new Error(error.message);\n // Depending on the error type, you might want to throw a specific error\n throw new Error('Network or server error occurred');\n }\n }\n\n async signout(): Promise<void> {\n console.log('User signed out');\n }\n\n async refreshToken(context: AXPSessionContext): Promise<AXPRefreshTokenResult> {\n return {\n succeed: true,\n data: {\n accessToken: 'access_token',\n refreshToken: 'refresh_token',\n application: context.application,\n tenant: context.tenant,\n },\n };\n }\n}\n","import {\n AXMNotificationCategory,\n AXMNotificationChannel,\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationPrority,\n AXMNotificationResponse,\n AXMNotificationType,\n} from '@acorex/modules/notification-management';\nimport { AXPDataGenerator, AXPEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMMockNotificationService {\n private storageService = inject(AXPEntityStorageService);\n private name = 'notifications';\n\n async getList(): Promise<AXMNotificationResponse> {\n await this.storageService.initial(this.name, NOTIFICATIONS);\n const items = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n return { total: items.length, items };\n }\n\n async markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void> {\n const notifications = (await this.storageService.getAll(this.name)) as AXMNotificationItem[];\n\n if (!payload) {\n notifications\n .filter((item) => !item.readAt)\n .forEach((item) => this.storageService.updateOne(this.name, item.id, { ...item, readAt: new Date() }));\n } else {\n for (const id of payload.id) {\n const item = await this.storageService.getOne(this.name, id);\n const readAt = item.readAt ? null : new Date();\n this.storageService.updateOne(this.name, item.id, { ...item, readAt });\n }\n }\n }\n\n async create(payload?: AXMNotificationItem): Promise<void> {\n const notification = payload || generateNotification();\n await this.storageService.insertOne(this.name, notification);\n }\n}\n\nconst CHANNELS = ['InApp', 'Email', 'SMS'];\nconst TITLES = ['Buy Me!', 'Black Friday', 'New Message'];\nconst BODIES = ['Buy New Glass From Shop', 'New Offers For Black Friday!', 'Saeed Send New File Message'];\nconst CATEGORIES = ['Inbox', 'Archive'];\nconst TYPES = ['File', 'Person', 'Notification'];\nconst PRIORITIES = ['Warning', 'Danger', 'Notice'];\n\nexport const NOTIFICATIONS = Array.from({ length: 5 }).map(generateNotification);\n\nfunction generateNotification(): AXMNotificationItem {\n return {\n id: AXPDataGenerator.uuid(),\n title: AXPDataGenerator.pick(TITLES),\n body: AXPDataGenerator.pick(BODIES),\n channel: AXPDataGenerator.pick(CHANNELS) as AXMNotificationChannel,\n content: {\n type: AXPDataGenerator.pick(TYPES) as AXMNotificationType,\n data: {},\n },\n user: {\n id: AXPDataGenerator.uuid(),\n name: `${AXPDataGenerator.firstName()} ${AXPDataGenerator.lastName()}`,\n image: 'https://i.pravatar.cc/300',\n },\n template: {\n category: AXPDataGenerator.pick(CATEGORIES) as AXMNotificationCategory,\n prority: AXPDataGenerator.pick(PRIORITIES) as AXMNotificationPrority,\n icon: 'fa-image',\n isPinned: AXPDataGenerator.boolean(),\n },\n readAt: AXPDataGenerator.pick([new Date(), null]),\n createAt: AXPDataGenerator.date(new Date(2021), new Date()),\n entityName: 'notifications',\n };\n}\n","import { AXMNotificationManagementTemplateEntityModel } from '@acorex/modules/notification-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const NOTIFICATION_TEMPLATES: AXMNotificationManagementTemplateEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'rest-password-admin',\n title: 'Rest Password To Admin',\n description: 'when user rest password notify to admin',\n },\n];\n","import { AXMNotificationManagementTemplateEntityModel, RootConfig } from '@acorex/modules/notification-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { NOTIFICATION_TEMPLATES } from './notification-management.mock.data';\n@Injectable()\nexport class AXPNotificationTemplateDataSeeder 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 { AXPDataGenerator } from '@acorex/platform/common';\n\nconst names = ['key', 'counter', 'logo', 'tenant'];\nconst data = [\n ['key1', 'string'],\n ['sequence', 'integer'],\n ['appLogo', 'function'],\n ['CompanyName', 'function'],\n];\n\nexport const GLOBAL_VARIABLES = Array.from({ length: 4 }).map((element, i) => {\n return {\n id: AXPDataGenerator.uuid(),\n name: names[i],\n title: names[i],\n dataType: data[i][1],\n dataValue: data[i][0],\n };\n});\n","import { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { GLOBAL_VARIABLES } from './global-variables.mock.data';\n\n@Injectable()\nexport class AXPGlobalVariablesDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial('globalVariable', GLOBAL_VARIABLES);\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageService, AXPFileStorageStatus, AXPFileStorageUpdateRequest } from \"@acorex/platform/common\";\n\nimport Dexie, { Table } from 'dexie';\nimport { AXFileService } from \"@acorex/core/file\";\n\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\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: AXPFileStorageStatus.Temporary, // Use enum\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 &&\n 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 { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const SCHEDULER_JOB = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'backup',\n title: 'Backup Data',\n process: 'backup',\n trigger: '00*1*?*',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'cancelOrder',\n title: 'Auto Cancel Ecommerce Orders',\n process: 'cancelOrder',\n trigger: '0*1/2?***',\n },\n];\n","import {\n AXMSchedulerJobManagementModuleConst,\n AXMSchedulerJobManagementSchedulerJobEntityModel,\n} from '@acorex/modules/scheduler-job-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { SCHEDULER_JOB } from './scheduler-job-management.mock.data';\n\n@Injectable()\nexport class AXPSchedulerJobDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMSchedulerJobManagementSchedulerJobEntityModel>(\n `${AXMSchedulerJobManagementModuleConst.moduleName}.${AXMSchedulerJobManagementModuleConst.schedulerJobEntity}`,\n SCHEDULER_JOB\n );\n }\n}\n","import { AXMTextTemplateManagementTemplateEntityModel } from '@acorex/modules/text-template-management';\nimport { AXPDataGenerator } from '@acorex/platform/common';\n\nexport const TEXT_TEMPLATE_CATEGORY = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'security',\n title: 'Security',\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'marketing',\n title: 'Marketing',\n },\n];\n\nexport const TEXT_TEMPLATES: AXMTextTemplateManagementTemplateEntityModel[] = [\n {\n id: AXPDataGenerator.uuid(),\n name: 'RestPassword',\n title: 'Rest Password',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We received a request to reset your password for your account. If you didn’t make this request, you can ignore this email. Otherwise, you can reset your password using the link below:</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Reset Password Link}}\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Reset Password</a>\n </p>\n <p style=\"font-size: 12px; color: #666666;\">*This link will expire in {{Expiration Time}}*</p>\n <p>If the link above doesn’t work, copy and paste the following URL into your browser:</p>\n <p style=\"color: #007bff;\">{{Reset Password URL}}</p>\n <p>For your security, please make sure to keep your new password safe and avoid using it for other sites.</p>\n <p>If you have any questions, feel free to reach out to our support team at <a href=\"mailto:{{Support Email}}\">{{Support Email}}</a>.</p>\n <p>Best regards,<br>{{Company Name}} Support Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'NewDevice',\n title: 'New Device Login',\n content: `\n <tr>\n <td>\n <p>Hi {{User's Name}},</p>\n <p>We detected a login to your account from a new device. If this was you, there’s nothing you need to do. If you didn’t sign in from a new device, please review your account for any unauthorized activity.</p>\n <p style=\"font-weight: bold;\">Device Information:</p>\n <ul>\n <li><strong>Device:</strong> {{Device Type}}</li>\n <li><strong>Location:</strong> {{Location, e.g., City, Country}}</li>\n <li><strong>Date & Time:</strong> {{Date and Time}}</li>\n <li><strong>IP Address:</strong> {{IP Address}}</li>\n </ul>\n <p>If you have any concerns, please secure your account by resetting your password and enabling two-factor authentication.</p>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"https://example.com/security-settings\" style=\"background-color: #007bff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Review Account Security</a>\n </p>\n <p>Thank you for helping us keep your account safe.</p>\n <p>Best regards,<br>{{Your Company Name}} Security Team</p>\n </td>\n </tr>\n `,\n category: TEXT_TEMPLATE_CATEGORY[0],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n {\n id: AXPDataGenerator.uuid(),\n name: 'offer',\n title: 'Offer',\n content: `\n<tr>\n <td>\n <p>Hi {{user_name}},</p>\n <p>We're excited to bring you an exclusive offer! For a limited time, you can enjoy {{Discount Percentage}}% off on {{Product or Service Name}}. Don’t miss out on this amazing deal!</p>\n <p style=\"font-weight: bold;\">Offer Details:</p>\n <ul>\n <li><strong>Discount:</strong> {{Discount Percentage}}%</li>\n <li><strong>Valid Until:</strong> {{Expiration Date}}</li>\n <li><strong>Promo Code:</strong> <span style=\"color: #007bff;\">{{Promo Code}}</span></li>\n </ul>\n <p style=\"text-align: center; margin: 20px 0;\">\n <a href=\"{{Offer Link}}\" style=\"background-color: #ff9800; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 5px;\">Redeem Offer</a>\n </p>\n <p>Thank you for being a valued customer. We hope you enjoy this special offer!</p>\n <p>Best regards,<br>{{Company Name}} Team</p>\n </td>\n</tr>\n`,\n category: TEXT_TEMPLATE_CATEGORY[1],\n type: 'template',\n // templateVariables: [\n // {\n // name: 'user_name',\n // title: 'User Name',\n // type: 'string',\n // required: true,\n // },\n // ],\n },\n];\n","import { AXMTextTemplateManagementCategoryEntityModel, RootConfig } from '@acorex/modules/text-template-management';\nimport { AXPDataSeeder, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATE_CATEGORY } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateCategoryDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementCategoryEntityModel>(\n `${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, AXPDexieEntityStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { TEXT_TEMPLATES } from './text-template-management.mock.data';\n\n@Injectable()\nexport class AXPTextTemplateDataSeeder implements AXPDataSeeder {\n private storageService = inject(AXPDexieEntityStorageService);\n\n async seed(): Promise<void> {\n await this.storageService.initial<AXMTextTemplateManagementTemplateEntityModel>(\n `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n TEXT_TEMPLATES\n );\n }\n}\n","import { AXPModuleDesignerService } from '@acorex/modules/application-management';\nimport { AXMNotificationEntityService } from '@acorex/modules/notification-management';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport {\n AXP_DATA_SEEDER_TOKEN,\n AXP_SEARCH_PROVIDER,\n AXPDexieEntityStorageService,\n AXPEntityStorageService,\n AXPFileStorageService,\n} from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport { AXPApplicationTemplateDataSeeder } from './application-management';\nimport { AXCModuleDesignerService } from './application-management/mock-module-designer.service';\nimport { AXCConversationMockModule } from './conversation/conversation.module';\nimport { EntitySearchProvider } from './entity-search.provider';\nimport { AXCFormTemplateManagementMockModule } from './form-template-management/form-template-management-mock.module';\nimport { MOCKStrategy } from './mock.strategy';\nimport { AXMMockNotificationService } from './notification-management/notification/notification.mock.service';\nimport { AXPNotificationTemplateDataSeeder } from './notification-management/template.seeder';\nimport { AXPGlobalVariablesDataSeeder } from './platform-management';\nimport { AXCFileStorageService } from './platform-management/file-storage/file-storage-service';\nimport { AXPSchedulerJobDataSeeder } from './scheduler-job-management';\nimport { AXPTextTemplateCategoryDataSeeder, AXPTextTemplateDataSeeder } from './text-template-management';\n\n@NgModule({\n imports: [\n AXPAuthModule.forRoot({\n strategies: [MOCKStrategy],\n }),\n AXCFormTemplateManagementMockModule,\n AXCConversationMockModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n AXPDexieEntityStorageService,\n {\n provide: AXMNotificationEntityService,\n useClass: AXMMockNotificationService,\n },\n\n {\n provide: AXPEntityStorageService,\n useClass: AXPDexieEntityStorageService,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPGlobalVariablesDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateCategoryDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPTextTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPApplicationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPSchedulerJobDataSeeder,\n multi: true,\n },\n {\n provide: AXP_DATA_SEEDER_TOKEN,\n useClass: AXPNotificationTemplateDataSeeder,\n multi: true,\n },\n {\n provide: AXPModuleDesignerService,\n useClass: AXCModuleDesignerService,\n },\n {\n provide: AXPFileStorageService,\n useClass: AXCFileStorageService,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: EntitySearchProvider,\n multi: true,\n },\n ],\n})\nexport class AXCMockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["RootConfig"],"mappings":"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"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { AXPDataSeeder } from '@acorex/platform/common';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class AXPNotificationTemplateDataSeeder implements AXPDataSeeder {
|
4
|
+
private storageService;
|
5
|
+
seed(): Promise<void>;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPNotificationTemplateDataSeeder, never>;
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPNotificationTemplateDataSeeder>;
|
8
|
+
}
|
package/package.json
CHANGED
@@ -1,8 +0,0 @@
|
|
1
|
-
import { AXPDataSeeder } from '@acorex/platform/common';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export declare class AXPTextSearchDataSeeder implements AXPDataSeeder {
|
4
|
-
private storageService;
|
5
|
-
seed(): Promise<void>;
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTextSearchDataSeeder, never>;
|
7
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTextSearchDataSeeder>;
|
8
|
-
}
|