@acorex/connectivity 19.2.12 → 19.2.16

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.
Files changed (36) hide show
  1. package/api/lib/api-storage.service.d.ts +1 -1
  2. package/fesm2022/acorex-connectivity-api.mjs +2 -2
  3. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  4. package/fesm2022/acorex-connectivity-mock.mjs +1155 -65
  5. package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
  6. package/mock/lib/application-management/application.seeder.d.ts +1 -1
  7. package/mock/lib/conversation/chat/chat.seeder.d.ts +1 -1
  8. package/mock/lib/conversation/comments/comment.seeder.d.ts +1 -1
  9. package/mock/lib/document-management/document-type/document-type.mock.d.ts +2 -0
  10. package/mock/lib/document-management/document-type/document-type.seeder.d.ts +8 -0
  11. package/mock/lib/document-management/file/file.seeder.d.ts +8 -0
  12. package/mock/lib/document-management/file/file.service.d.ts +24 -0
  13. package/mock/lib/document-management/folder/folder.mock.data.d.ts +3 -0
  14. package/mock/lib/document-management/folder/folder.seeder.d.ts +8 -0
  15. package/mock/lib/document-management/folder/folder.service.d.ts +22 -0
  16. package/mock/lib/document-management/folder/index.d.ts +1 -0
  17. package/mock/lib/form-template-management/category.seeder.d.ts +2 -1
  18. package/mock/lib/mock.module.d.ts +2 -1
  19. package/mock/lib/mock.strategy.d.ts +1 -0
  20. package/mock/lib/notification-management/template.seeder.d.ts +1 -1
  21. package/mock/lib/organization-management/organization-management.seeder.d.ts +1 -1
  22. package/mock/lib/platform-management/app-term/app-term.seeder.d.ts +1 -1
  23. package/mock/lib/platform-management/app-version/app-version.seeder.d.ts +1 -1
  24. package/mock/lib/platform-management/common/regional-util.service.d.ts +1 -1
  25. package/mock/lib/platform-management/global-variables/global-variable.seeder.d.ts +1 -1
  26. package/mock/lib/platform-management/metadata/metadata.mock.d.ts +2 -0
  27. package/mock/lib/platform-management/metadata/metadata.seeder.d.ts +8 -0
  28. package/mock/lib/scheduler-job-management/scheduler-job.seeder.d.ts +1 -1
  29. package/mock/lib/security-management/datasource-provider.mock.service.d.ts +4 -0
  30. package/mock/lib/security-management/mock-data.d.ts +28 -0
  31. package/mock/lib/security-management/role.seeder.d.ts +10 -0
  32. package/mock/lib/security-management/security-management-mock.module.d.ts +6 -0
  33. package/mock/lib/security-management/user.seeder.d.ts +9 -0
  34. package/mock/lib/text-template-management/category.seeder.d.ts +1 -1
  35. package/mock/lib/text-template-management/template.seeder.d.ts +1 -1
  36. package/package.json +1 -1
@@ -1,24 +1,27 @@
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 { RootConfig as RootConfig$1, AXMNotificationEntityService } from '@acorex/modules/notification-management';
2
+ import { RootConfig, AXMFolderServiceImpl, AXMDocumentServiceImpl, AXMFolderService, AXMDocumentService } from '@acorex/modules/document-management';
3
+ import { RootConfig as RootConfig$3, AXMNotificationEntityService } from '@acorex/modules/notification-management';
3
4
  import * as i1$1 from '@acorex/platform/auth';
4
- import { AXPSessionService, AXPAuthModule } from '@acorex/platform/auth';
5
- import { AXPDataGenerator, AXPDexieEntityStorageService, AXP_DATA_SEEDER_TOKEN, AXPEntityStorageService, AXPRegionalService, AXPFileStorageStatus, AXPFileStorageService, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
5
+ import { AXPSessionService, AXPPermissionProviderService, AXPAuthModule } from '@acorex/platform/auth';
6
+ import { AXPDataGenerator, AXPRegionalService, AXPFileStorageStatus, AXPFileStorageService, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
7
+ import { AXPDexieEntityStorageService, AXPEntityDefinitionRegistryService, AXP_DATA_SEEDER_TOKEN, AXPEntityStorageService } from '@acorex/platform/layout/entity';
6
8
  import * as i0 from '@angular/core';
7
9
  import { inject, Injectable, NgModule } from '@angular/core';
8
- import { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';
9
10
  import * as i1 from '@acorex/modules/conversation';
10
11
  import { AXMConverstionModuleConst, AXMChatServiceImpl, AXMCommentServiceImpl, AXMChatModule, AXMChatService } from '@acorex/modules/conversation';
12
+ import { AXPDataGenerator as AXPDataGenerator$1 } from '@acorex/platform/core';
11
13
  import Dexie from 'dexie';
12
14
  import { AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';
15
+ import { RootConfig as RootConfig$1 } from '@acorex/modules/form-template-management';
13
16
  import { convertArrayToDataSource } from '@acorex/components/common';
14
- import { RootConfig } from '@acorex/modules/form-template-management';
15
- import { AXMOrganizationNodeType, RootConfig as RootConfig$2 } from '@acorex/modules/organization-management';
16
- import { RootConfig as RootConfig$3 } from '@acorex/modules/platform-management';
17
+ import { RootConfig as RootConfig$2 } from '@acorex/modules/security-management';
18
+ import { AXMOrganizationNodeType, RootConfig as RootConfig$4 } from '@acorex/modules/organization-management';
19
+ import { RootConfig as RootConfig$5 } from '@acorex/modules/platform-management';
17
20
  import { AXTranslationService } from '@acorex/core/translation';
18
21
  import { firstValueFrom } from 'rxjs';
19
22
  import { AXFileService } from '@acorex/core/file';
20
- import { RootConfig as RootConfig$4 } from '@acorex/modules/scheduler-job-management';
21
- import { RootConfig as RootConfig$5 } from '@acorex/modules/text-template-management';
23
+ import { RootConfig as RootConfig$6 } from '@acorex/modules/scheduler-job-management';
24
+ import { RootConfig as RootConfig$7 } from '@acorex/modules/text-template-management';
22
25
 
23
26
  const APPLICATIONS = Array.from({ length: 5 }).map((_, i) => {
24
27
  const source = ['appOne', 'appTwo', 'appThree', 'myCoolApp', 'awesomeApp', 'superApp'];
@@ -547,6 +550,573 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
547
550
  }]
548
551
  }] });
549
552
 
553
+ const DocumentTypeMocks = [
554
+ {
555
+ id: AXPDataGenerator$1.uuid(),
556
+ name: 'OHS',
557
+ title: 'Occupational Health and Safety Policy',
558
+ maxSize: 5000,
559
+ isEncrypted: false,
560
+ meta: [
561
+ {
562
+ name: 'checkbox',
563
+ title: 'Check Box',
564
+ interface: '{"type":"document-layout","children":[{"type":"page-layout","children":[{"type":"checkbox-editor","name":"checkbox-editor1","options":{"label":"i accept","readonly":false,"disabled":false},"defaultValue":false,"path":"accept-check-box"}],"name":"page-layout1"}],"name":"document"}',
565
+ },
566
+ ],
567
+ type: {
568
+ selectedItems: [
569
+ {
570
+ name: 'image.jpg',
571
+ title: 'Image/JPEG',
572
+ icon: 'fa-light fa-image ax-text-purple-500',
573
+ },
574
+ {
575
+ name: 'image.png',
576
+ title: 'Image/PNG',
577
+ icon: 'fa-light fa-image ax-text-purple-500',
578
+ },
579
+ {
580
+ name: 'image.gif',
581
+ title: 'Image/GIF',
582
+ icon: 'fa-light fa-image ax-text-purple-500',
583
+ },
584
+ ],
585
+ context: {
586
+ image: {
587
+ width: '22',
588
+ height: '33',
589
+ },
590
+ gift: {
591
+ duration: '11',
592
+ },
593
+ },
594
+ },
595
+ },
596
+ {
597
+ id: AXPDataGenerator$1.uuid(),
598
+ name: 'WHS',
599
+ title: 'Workplace Health and Safety Guidelines',
600
+ maxSize: 10000,
601
+ isEncrypted: true,
602
+ meta: [{ name: 'external', title: 'External', interface: '' }],
603
+ type: {
604
+ selectedItems: [
605
+ {
606
+ name: 'audio.mp3',
607
+ title: 'MP3',
608
+ icon: 'fa-light fa-file-audio ax-text-green-500',
609
+ },
610
+ {
611
+ name: 'audio.wav',
612
+ title: 'WAV',
613
+ icon: 'fa-light fa-file-audio ax-text-green-500',
614
+ },
615
+ ],
616
+ context: {
617
+ audio: {
618
+ bitrate: '320',
619
+ duration: '180',
620
+ },
621
+ },
622
+ },
623
+ },
624
+ ];
625
+
626
+ class AXCDocumentTypeDataSeeder {
627
+ constructor() {
628
+ this.storageService = inject(AXPDexieEntityStorageService);
629
+ }
630
+ async seed() {
631
+ await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.documentType.name}`, DocumentTypeMocks);
632
+ }
633
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCDocumentTypeDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
634
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCDocumentTypeDataSeeder }); }
635
+ }
636
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCDocumentTypeDataSeeder, decorators: [{
637
+ type: Injectable
638
+ }] });
639
+
640
+ const allFolders = [];
641
+ const allFiles = [];
642
+ const rootFolder = {
643
+ id: AXPDataGenerator$1.uuid(),
644
+ name: 'WHS Documentation',
645
+ color: '#FFFFFF',
646
+ description: 'Root folder for WHS/OHS Documentation',
647
+ parentId: undefined,
648
+ isSystem: true,
649
+ isHidden: false,
650
+ isDeleted: false,
651
+ createdAt: new Date(),
652
+ updatedAt: new Date(),
653
+ createdBy: 'system',
654
+ updatedBy: 'system',
655
+ folders: [],
656
+ documents: [],
657
+ };
658
+ // Updated sample file types with WHS/OHS specific examples
659
+ const sampleFileTypes = [
660
+ {
661
+ ext: 'pdf',
662
+ titles: ['Risk Assessment Report', 'Safety Audit Checklist', 'Emergency Response Plan', 'Safety Training Manual'],
663
+ },
664
+ {
665
+ ext: 'docx',
666
+ titles: ['Incident Investigation Form', 'Safety Meeting Minutes', 'Hazard Report Template', 'Safe Work Procedure'],
667
+ },
668
+ {
669
+ ext: 'xlsx',
670
+ titles: ['Incident Statistics', 'Safety Training Matrix', 'PPE Inventory List', 'Risk Register'],
671
+ },
672
+ {
673
+ ext: 'jpg',
674
+ titles: ['Hazard Photo', 'Safety Signage', 'Emergency Exit Plan', 'PPE Requirements Chart'],
675
+ },
676
+ {
677
+ ext: 'png',
678
+ titles: ['Safety Infographic', 'Evacuation Map', 'Incident Scene Photo', 'Safety Procedure Diagram'],
679
+ },
680
+ {
681
+ ext: 'pptx',
682
+ titles: ['Safety Induction', 'WHS Training Module', 'Safety Committee Presentation', 'Toolbox Talk'],
683
+ },
684
+ ];
685
+ const sites = ['Main Factory', 'Warehouse Complex', 'Office Building', 'Construction Site'];
686
+ const whsFolders = [
687
+ {
688
+ name: 'Policies and Procedures',
689
+ subFolders: ['Safety Policies', 'Standard Operating Procedures', 'Emergency Procedures', 'Work Instructions'],
690
+ commonFiles: [
691
+ 'WHS Policy Manual.pdf',
692
+ 'Emergency Response Plan.pdf',
693
+ 'Safety Management System.docx',
694
+ 'Risk Management Framework.pdf',
695
+ ],
696
+ },
697
+ {
698
+ name: 'Risk Management',
699
+ subFolders: ['Risk Assessments', 'Hazard Reports', 'Control Measures', 'Safety Audits'],
700
+ commonFiles: [
701
+ 'Risk Assessment Matrix.xlsx',
702
+ 'Hazard Register.xlsx',
703
+ 'Control Measure Checklist.pdf',
704
+ 'Audit Schedule.xlsx',
705
+ ],
706
+ },
707
+ {
708
+ name: 'Incident Management',
709
+ subFolders: ['Incident Reports', 'Investigations', 'Corrective Actions', 'Statistics'],
710
+ commonFiles: [
711
+ 'Incident Report Form.docx',
712
+ 'Investigation Guidelines.pdf',
713
+ 'Corrective Action Register.xlsx',
714
+ 'Monthly Statistics.xlsx',
715
+ ],
716
+ },
717
+ {
718
+ name: 'Training and Compliance',
719
+ subFolders: ['Training Records', 'Certifications', 'Competency Assessments', 'Toolbox Talks'],
720
+ commonFiles: [
721
+ 'Training Matrix.xlsx',
722
+ 'Induction Package.pdf',
723
+ 'Competency Framework.docx',
724
+ 'Training Calendar.xlsx',
725
+ ],
726
+ },
727
+ {
728
+ name: 'Safety Equipment',
729
+ subFolders: ['PPE Records', 'Equipment Inspections', 'Maintenance Records', 'Safety Data Sheets'],
730
+ commonFiles: [
731
+ 'PPE Register.xlsx',
732
+ 'Equipment Maintenance Schedule.xlsx',
733
+ 'Safety Equipment Inventory.xlsx',
734
+ 'PPE Guidelines.pdf',
735
+ ],
736
+ },
737
+ ];
738
+ sites.forEach((site) => {
739
+ const siteFolderId = AXPDataGenerator$1.uuid();
740
+ const siteFolder = {
741
+ id: siteFolderId,
742
+ name: site,
743
+ color: '#FFFFFF',
744
+ description: `WHS Documentation for ${site}`,
745
+ parentId: rootFolder.id,
746
+ isSystem: false,
747
+ isHidden: false,
748
+ isDeleted: false,
749
+ createdAt: new Date(),
750
+ updatedAt: new Date(),
751
+ createdBy: 'system',
752
+ updatedBy: 'system',
753
+ tenantId: site,
754
+ userId: undefined,
755
+ folders: [],
756
+ documents: [],
757
+ };
758
+ const safetyRoles = ['Safety Officer', 'Site Supervisor', 'WHS Representative'];
759
+ safetyRoles.forEach((role) => {
760
+ const roleFolderId = AXPDataGenerator$1.uuid();
761
+ const roleFolder = {
762
+ id: roleFolderId,
763
+ name: role,
764
+ color: '#FFFFFF',
765
+ description: `${role} Documentation`,
766
+ parentId: siteFolder.id,
767
+ isSystem: false,
768
+ isHidden: false,
769
+ isDeleted: false,
770
+ createdAt: new Date(),
771
+ updatedAt: new Date(),
772
+ createdBy: 'system',
773
+ updatedBy: 'system',
774
+ tenantId: site,
775
+ userId: role.toLowerCase().replace(/\s+/g, '_'),
776
+ folders: [],
777
+ documents: [],
778
+ };
779
+ sampleFileTypes.forEach((fileType) => {
780
+ fileType.titles.forEach((title) => {
781
+ if (Math.random() > 0.5) {
782
+ const file = {
783
+ id: AXPDataGenerator$1.uuid(),
784
+ name: `${title.toLowerCase().replace(/\s+/g, '-')}.${fileType.ext}`,
785
+ title: title,
786
+ parentId: roleFolderId,
787
+ };
788
+ allFiles.push(file);
789
+ roleFolder.documents?.push(file);
790
+ }
791
+ });
792
+ });
793
+ siteFolder.folders?.push(roleFolder);
794
+ allFolders.push(roleFolder);
795
+ });
796
+ whsFolders.forEach((dept) => {
797
+ const deptFolderId = AXPDataGenerator$1.uuid();
798
+ const deptFolder = {
799
+ id: deptFolderId,
800
+ name: dept.name,
801
+ color: '#' + Math.floor(Math.random() * 16777215).toString(16),
802
+ description: `${dept.name} documentation`,
803
+ parentId: siteFolder.id,
804
+ isSystem: false,
805
+ isHidden: false,
806
+ isDeleted: false,
807
+ createdAt: new Date(),
808
+ updatedAt: new Date(),
809
+ createdBy: 'system',
810
+ updatedBy: 'system',
811
+ tenantId: site,
812
+ folders: [],
813
+ documents: [],
814
+ };
815
+ dept.commonFiles.forEach((fileName) => {
816
+ const file = {
817
+ id: AXPDataGenerator$1.uuid(),
818
+ name: fileName,
819
+ title: fileName.split('.')[0],
820
+ parentId: deptFolderId,
821
+ };
822
+ allFiles.push(file);
823
+ deptFolder.documents?.push(file);
824
+ });
825
+ dept.subFolders.forEach((subFolderName) => {
826
+ const subFolderId = AXPDataGenerator$1.uuid();
827
+ const subFolder = {
828
+ id: subFolderId,
829
+ name: subFolderName,
830
+ color: '#' + Math.floor(Math.random() * 16777215).toString(16),
831
+ description: `${subFolderName} documentation`,
832
+ parentId: deptFolderId,
833
+ isSystem: false,
834
+ isHidden: false,
835
+ isDeleted: false,
836
+ createdAt: new Date(),
837
+ updatedAt: new Date(),
838
+ createdBy: 'system',
839
+ updatedBy: 'system',
840
+ tenantId: site,
841
+ folders: [],
842
+ documents: [],
843
+ };
844
+ sampleFileTypes.forEach((fileType) => {
845
+ fileType.titles.forEach((title) => {
846
+ if (Math.random() > 0.7) {
847
+ const file = {
848
+ id: AXPDataGenerator$1.uuid(),
849
+ name: `${title.toLowerCase().replace(/\s+/g, '-')}.${fileType.ext}`,
850
+ title: title,
851
+ parentId: subFolderId,
852
+ };
853
+ allFiles.push(file);
854
+ subFolder.documents?.push(file);
855
+ }
856
+ });
857
+ });
858
+ deptFolder.folders?.push(subFolder);
859
+ allFolders.push(subFolder);
860
+ });
861
+ siteFolder.folders?.push(deptFolder);
862
+ allFolders.push(deptFolder);
863
+ });
864
+ rootFolder.folders?.push(siteFolder);
865
+ allFolders.push(siteFolder);
866
+ });
867
+ allFolders.push(rootFolder);
868
+ const FOLDER_MOCK_DATA = allFolders;
869
+ const FILE_MOCK_DATA = allFiles;
870
+
871
+ class AXCFileDataSeeder {
872
+ constructor() {
873
+ this.storageService = inject(AXPDexieEntityStorageService);
874
+ }
875
+ async seed() {
876
+ await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.document.name}`, FILE_MOCK_DATA);
877
+ }
878
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCFileDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
879
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCFileDataSeeder }); }
880
+ }
881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCFileDataSeeder, decorators: [{
882
+ type: Injectable
883
+ }] });
884
+
885
+ class AXMFolderMockService extends AXMFolderServiceImpl {
886
+ async updateParentFolders(folder) {
887
+ if (folder.parentId) {
888
+ const parent = await this.getOne(folder.parentId);
889
+ if (parent && parent.id) {
890
+ if (!parent.folders) {
891
+ parent.folders = [];
892
+ }
893
+ const existingIndex = parent.folders.findIndex((f) => f.id === folder.id);
894
+ if (existingIndex === -1) {
895
+ parent.folders.push(folder);
896
+ }
897
+ else {
898
+ parent.folders[existingIndex] = folder;
899
+ }
900
+ await super.updateOne(parent.id, { folders: parent.folders });
901
+ await this.updateParentFolders(parent);
902
+ }
903
+ }
904
+ }
905
+ async removeFromParent(folder) {
906
+ if (folder.parentId) {
907
+ const parent = await this.getOne(folder.parentId);
908
+ if (parent && parent.id && parent.folders) {
909
+ parent.folders = parent.folders.filter((f) => f.id !== folder.id);
910
+ await super.updateOne(parent.id, { folders: parent.folders });
911
+ await this.updateParentFolders(parent);
912
+ }
913
+ }
914
+ }
915
+ async insertOne(request) {
916
+ const newId = await super.insertOne(request);
917
+ const folderData = {
918
+ ...request,
919
+ id: newId,
920
+ };
921
+ await this.updateParentFolders(folderData);
922
+ return newId;
923
+ }
924
+ async updateOne(id, values) {
925
+ const currentFolder = await this.getOne(id);
926
+ const updatedFolder = await super.updateOne(id, values);
927
+ if (currentFolder && values.parentId !== undefined && currentFolder.parentId !== values.parentId) {
928
+ await this.removeFromParent(currentFolder);
929
+ }
930
+ await this.updateParentFolders(updatedFolder);
931
+ return updatedFolder;
932
+ }
933
+ async deleteOne(id) {
934
+ const folderToDelete = await this.getOne(id);
935
+ if (folderToDelete) {
936
+ await this.removeFromParent(folderToDelete);
937
+ await super.deleteOne(id);
938
+ }
939
+ }
940
+ async getPath(folderId) {
941
+ const path = [];
942
+ let currentId = folderId;
943
+ while (currentId) {
944
+ const folder = await this.getOne(currentId);
945
+ if (!folder) {
946
+ // Folder not found in persisted storage
947
+ break;
948
+ }
949
+ path.push(folder);
950
+ currentId = folder.parentId ?? null;
951
+ }
952
+ return path.reverse();
953
+ }
954
+ /**
955
+ * جستجوی فولدرها با نام مشخص شده با استفاده از روش بازگشتی
956
+ * @param searchTerm عبارت جستجو
957
+ * @param rootFolderId شناسه فولدر ریشه برای شروع جستجو
958
+ */
959
+ async searchFolders(searchTerm, rootFolderId) {
960
+ const result = [];
961
+ await this.searchFoldersRecursive(searchTerm, rootFolderId, result);
962
+ return result;
963
+ }
964
+ /**
965
+ * جستجوی بازگشتی فولدرها
966
+ * @param searchTerm عبارت جستجو
967
+ * @param folderId شناسه فولدر فعلی
968
+ * @param result آرایه نتایج
969
+ */
970
+ async searchFoldersRecursive(searchTerm, folderId, result) {
971
+ try {
972
+ // دریافت فولدر فعلی
973
+ const currentFolder = await this.getOne(folderId);
974
+ if (!currentFolder) {
975
+ return;
976
+ }
977
+ // بررسی زیرفولدرها
978
+ const subFolders = currentFolder.folders || [];
979
+ // افزودن فولدرهایی که با عبارت جستجو مطابقت دارند
980
+ for (const folder of subFolders) {
981
+ if (folder.name.toLowerCase().includes(searchTerm.toLowerCase())) {
982
+ result.push(folder);
983
+ }
984
+ // جستجوی بازگشتی در زیرفولدرها
985
+ if (folder.id) {
986
+ await this.searchFoldersRecursive(searchTerm, folder.id, result);
987
+ }
988
+ }
989
+ }
990
+ catch (error) {
991
+ console.error('Error searching folders:', error);
992
+ }
993
+ }
994
+ }
995
+
996
+ class AXMFileMockService extends AXMDocumentServiceImpl {
997
+ constructor() {
998
+ super();
999
+ this.folderService = new AXMFolderMockService();
1000
+ }
1001
+ async updateParentFolder(file) {
1002
+ if (!file.parentId) {
1003
+ throw new Error('File must have a parent folder');
1004
+ }
1005
+ const parent = await this.folderService.getOne(file.parentId);
1006
+ if (parent && parent.id) {
1007
+ if (!parent.documents) {
1008
+ parent.documents = [];
1009
+ }
1010
+ const existingIndex = parent.documents.findIndex((f) => f.id === file.id);
1011
+ if (existingIndex === -1) {
1012
+ parent.documents.push(file);
1013
+ }
1014
+ else {
1015
+ parent.documents[existingIndex] = file;
1016
+ }
1017
+ await this.folderService.updateOne(parent.id, { documents: parent.documents });
1018
+ }
1019
+ }
1020
+ async removeFromParent(file) {
1021
+ if (!file.parentId) {
1022
+ throw new Error('File must have a parent folder');
1023
+ }
1024
+ const parent = await this.folderService.getOne(file.parentId);
1025
+ if (parent && parent.id && parent.documents) {
1026
+ parent.documents = parent.documents.filter((f) => f.id !== file.id);
1027
+ await this.folderService.updateOne(parent.id, { documents: parent.documents });
1028
+ }
1029
+ }
1030
+ async insertOne(request) {
1031
+ if (!request.parentId) {
1032
+ throw new Error('File must have a parent folder');
1033
+ }
1034
+ const newId = await super.insertOne(request);
1035
+ const fileData = {
1036
+ ...request,
1037
+ id: newId,
1038
+ };
1039
+ await this.updateParentFolder(fileData);
1040
+ return newId;
1041
+ }
1042
+ async updateOne(id, values) {
1043
+ const currentFile = await this.getOne(id);
1044
+ const updatedFile = await super.updateOne(id, values);
1045
+ if (currentFile && values.parentId !== undefined && currentFile.parentId !== values.parentId) {
1046
+ await this.removeFromParent(currentFile);
1047
+ }
1048
+ await this.updateParentFolder(updatedFile);
1049
+ return updatedFile;
1050
+ }
1051
+ async deleteOne(id) {
1052
+ const fileToDelete = await this.getOne(id);
1053
+ if (fileToDelete) {
1054
+ await this.removeFromParent(fileToDelete);
1055
+ await super.deleteOne(id);
1056
+ }
1057
+ }
1058
+ async getPath(documentId) {
1059
+ const file = await this.getOne(documentId);
1060
+ if (!file) {
1061
+ throw new Error('File not found');
1062
+ }
1063
+ return await this.folderService.getPath(file.parentId);
1064
+ }
1065
+ /**
1066
+ * جستجوی فایل‌ها با نام مشخص شده با استفاده از روش بازگشتی
1067
+ * @param searchTerm عبارت جستجو
1068
+ * @param rootFolderId شناسه فولدر ریشه برای شروع جستجو
1069
+ */
1070
+ async searchFiles(searchTerm, rootFolderId) {
1071
+ const result = [];
1072
+ await this.searchFilesRecursive(searchTerm, rootFolderId, result);
1073
+ return result;
1074
+ }
1075
+ /**
1076
+ * جستجوی بازگشتی فایل‌ها
1077
+ * @param searchTerm عبارت جستجو
1078
+ * @param folderId شناسه فولدر فعلی
1079
+ * @param result آرایه نتایج
1080
+ */
1081
+ async searchFilesRecursive(searchTerm, folderId, result) {
1082
+ try {
1083
+ const currentFolder = await this.folderService.getOne(folderId);
1084
+ if (!currentFolder) {
1085
+ return;
1086
+ }
1087
+ const files = currentFolder.documents || [];
1088
+ for (const file of files) {
1089
+ if (file.name.toLowerCase().includes(searchTerm.toLowerCase())) {
1090
+ result.push(file);
1091
+ }
1092
+ }
1093
+ const subFolders = currentFolder.folders || [];
1094
+ for (const folder of subFolders) {
1095
+ if (folder.id) {
1096
+ await this.searchFilesRecursive(searchTerm, folder.id, result);
1097
+ }
1098
+ }
1099
+ }
1100
+ catch (error) {
1101
+ console.error('Error searching files:', error);
1102
+ }
1103
+ }
1104
+ }
1105
+
1106
+ class AXCFolderDataSeeder {
1107
+ constructor() {
1108
+ this.storageService = inject(AXPDexieEntityStorageService);
1109
+ }
1110
+ async seed() {
1111
+ await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.folder.name}`, FOLDER_MOCK_DATA);
1112
+ }
1113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCFolderDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1114
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCFolderDataSeeder }); }
1115
+ }
1116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCFolderDataSeeder, decorators: [{
1117
+ type: Injectable
1118
+ }] });
1119
+
550
1120
  class EntitySearchProvider {
551
1121
  async search(text) {
552
1122
  const db = new Dexie('ACoreXPlatform');
@@ -561,11 +1131,16 @@ class EntitySearchProvider {
561
1131
  return filteredRecords.map((record) => ({
562
1132
  group: `Module.${record.entityName}`,
563
1133
  data: record,
564
- commands: {
565
- 'open-entity': {
1134
+ command: {
1135
+ // 'open-entity': {
1136
+ // entity: record.entityName,
1137
+ // data: record,
1138
+ // },
1139
+ name: 'open-entity',
1140
+ options: {
566
1141
  entity: record.entityName,
567
1142
  data: record,
568
- },
1143
+ }
569
1144
  },
570
1145
  }));
571
1146
  }
@@ -588,6 +1163,83 @@ class EntitySearchProvider {
588
1163
  }
589
1164
  }
590
1165
 
1166
+ class AXPFormTemplateCategoryDataSeeder {
1167
+ constructor() {
1168
+ this.storageService = inject(AXPDexieEntityStorageService);
1169
+ }
1170
+ async seed() {
1171
+ await this.storageService.initial(`${RootConfig$1.module.name}.${RootConfig$1.entities.category.name}`, this.generateCategories());
1172
+ }
1173
+ generateCategories() {
1174
+ const categories = [];
1175
+ const rootCategories = [
1176
+ 'Risk Assessment',
1177
+ 'Servicing',
1178
+ 'Checklists',
1179
+ 'Incident Reporting',
1180
+ 'Emergency Procedures',
1181
+ 'Hazardous Materials',
1182
+ 'PPE (Personal Protective Equipment)',
1183
+ 'Workplace Ergonomics',
1184
+ 'Equipment Safety',
1185
+ 'Fire Safety',
1186
+ 'First Aid',
1187
+ 'Manual Handling',
1188
+ 'Electrical Safety',
1189
+ 'Confined Spaces',
1190
+ 'Chemical Safety',
1191
+ ];
1192
+ rootCategories.forEach((title) => {
1193
+ const categoryId = AXPDataGenerator.uuid();
1194
+ categories.push({ id: categoryId, title, parentId: undefined });
1195
+ });
1196
+ const childCategories = [
1197
+ {
1198
+ parent: 'Risk Assessment',
1199
+ children: ['Job Safety Analysis', 'Task Risk Assessment', 'General Hazard Identification'],
1200
+ },
1201
+ { parent: 'Incident Reporting', children: ['Near Miss Reports', 'Accident Reports', 'Injury Logs'] },
1202
+ {
1203
+ parent: 'Emergency Procedures',
1204
+ children: ['Fire Evacuation', 'Medical Emergencies', 'Chemical Spill Response'],
1205
+ },
1206
+ {
1207
+ parent: 'Hazardous Materials',
1208
+ children: ['Material Safety Data Sheets', 'Storage & Handling', 'Hazardous Waste Disposal'],
1209
+ },
1210
+ {
1211
+ parent: 'PPE (Personal Protective Equipment)',
1212
+ children: ['Protective Gloves', 'Eye Protection', 'Hearing Protection'],
1213
+ },
1214
+ { parent: 'Workplace Ergonomics', children: ['Seating Arrangements', 'Lifting Techniques', 'Workstation Setup'] },
1215
+ { parent: 'Equipment Safety', children: ['Machine Guarding', 'Lockout/Tagout', 'Inspection Procedures'] },
1216
+ { parent: 'Fire Safety', children: ['Fire Extinguishers', 'Fire Drills', 'Smoke Alarms'] },
1217
+ { parent: 'First Aid', children: ['CPR Training', 'First Aid Kits', 'Emergency Contacts'] },
1218
+ { parent: 'Manual Handling', children: ['Proper Lifting', 'Load Limits', 'Back Injury Prevention'] },
1219
+ {
1220
+ parent: 'Electrical Safety',
1221
+ children: ['Grounding & Wiring', 'High Voltage Procedures', 'Portable Equipment Checks'],
1222
+ },
1223
+ { parent: 'Confined Spaces', children: ['Permit-Required Spaces', 'Ventilation Protocols', 'Rescue Plans'] },
1224
+ { parent: 'Chemical Safety', children: ['Chemical Labeling', 'Exposure Limits', 'Emergency Showers'] },
1225
+ ];
1226
+ childCategories.forEach(({ parent, children }) => {
1227
+ const parentId = categories.find((c) => c.title === parent)?.id;
1228
+ if (parentId) {
1229
+ children.forEach((title) => {
1230
+ categories.push({ id: AXPDataGenerator.uuid(), title, parentId });
1231
+ });
1232
+ }
1233
+ });
1234
+ return categories;
1235
+ }
1236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateCategoryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1237
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateCategoryDataSeeder }); }
1238
+ }
1239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateCategoryDataSeeder, decorators: [{
1240
+ type: Injectable
1241
+ }] });
1242
+
591
1243
  class AXPMockWidgetDataSourceProvider {
592
1244
  async items() {
593
1245
  return [
@@ -635,33 +1287,6 @@ class AXPMockWidgetDataSourceProvider {
635
1287
  }
636
1288
  }
637
1289
 
638
- class AXPFormTemplateCategoryDataSeeder {
639
- constructor() {
640
- this.storageService = inject(AXPDexieEntityStorageService);
641
- }
642
- async seed() {
643
- await this.storageService.initial(`${RootConfig.module.name}.${RootConfig.entities.category.name}`, [
644
- {
645
- id: AXPDataGenerator.uuid(),
646
- title: 'Risk Assessment'
647
- },
648
- {
649
- id: AXPDataGenerator.uuid(),
650
- title: 'Servicing'
651
- },
652
- {
653
- id: AXPDataGenerator.uuid(),
654
- title: 'Checklists'
655
- }
656
- ]);
657
- }
658
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateCategoryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
659
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateCategoryDataSeeder }); }
660
- }
661
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPFormTemplateCategoryDataSeeder, decorators: [{
662
- type: Injectable
663
- }] });
664
-
665
1290
  class AXCFormTemplateManagementMockModule {
666
1291
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCFormTemplateManagementMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
667
1292
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXCFormTemplateManagementMockModule }); }
@@ -700,11 +1325,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
700
1325
  }] });
701
1326
 
702
1327
  class MOCKStrategy {
703
- constructor() { }
1328
+ constructor() {
1329
+ this.entityRegistery = inject(AXPEntityDefinitionRegistryService);
1330
+ }
704
1331
  get name() {
705
1332
  return 'user-pass';
706
1333
  }
707
1334
  async signin(credentials) {
1335
+ const entityRef = await this.entityRegistery.resolve(RootConfig$2.module.name, RootConfig$2.entities.users.name);
1336
+ const accessToken = 'access_token';
1337
+ const refreshToken = 'refresh_token';
708
1338
  try {
709
1339
  if (credentials.username == 'root' && credentials.password == '123') {
710
1340
  const user = {
@@ -713,8 +1343,6 @@ class MOCKStrategy {
713
1343
  title: 'Root User',
714
1344
  avatar: 'https://avatar.iran.liara.run/public/29',
715
1345
  };
716
- const accessToken = 'access_token';
717
- const refreshToken = 'refresh_token';
718
1346
  return {
719
1347
  succeed: true,
720
1348
  data: { user, accessToken, refreshToken },
@@ -727,8 +1355,6 @@ class MOCKStrategy {
727
1355
  title: 'Admin User',
728
1356
  avatar: 'https://avatar.iran.liara.run/public/47',
729
1357
  };
730
- const accessToken = 'access_token';
731
- const refreshToken = 'refresh_token';
732
1358
  return {
733
1359
  succeed: true,
734
1360
  data: { user, accessToken, refreshToken },
@@ -748,6 +1374,25 @@ class MOCKStrategy {
748
1374
  data: { user, accessToken, refreshToken },
749
1375
  };
750
1376
  }
1377
+ else {
1378
+ const func = entityRef?.queries.list?.execute;
1379
+ const users = await func({
1380
+ skip: 0,
1381
+ take: 1000,
1382
+ });
1383
+ const currentUser = users.items.find((u) => u.username === credentials.username && u.password === credentials.password);
1384
+ if (currentUser) {
1385
+ const user = {
1386
+ id: currentUser.id,
1387
+ name: currentUser.username,
1388
+ title: `${currentUser.firstname} ${currentUser.lastname}`,
1389
+ };
1390
+ return {
1391
+ succeed: true,
1392
+ data: { user, accessToken, refreshToken },
1393
+ };
1394
+ }
1395
+ }
751
1396
  return {
752
1397
  succeed: false,
753
1398
  };
@@ -866,7 +1511,7 @@ class AXCNotificationTemplateDataSeeder {
866
1511
  this.storageService = inject(AXPDexieEntityStorageService);
867
1512
  }
868
1513
  async seed() {
869
- await this.storageService.initial(`${RootConfig$1.module.name}.${RootConfig$1.entities.template.name}`, NOTIFICATION_TEMPLATES);
1514
+ await this.storageService.initial(`${RootConfig$3.module.name}.${RootConfig$3.entities.template.name}`, NOTIFICATION_TEMPLATES);
870
1515
  }
871
1516
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCNotificationTemplateDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
872
1517
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCNotificationTemplateDataSeeder }); }
@@ -1421,7 +2066,7 @@ class AXCOrganizationManagementDataSeeder {
1421
2066
  async seed() {
1422
2067
  const uuid = AXPDataGenerator.uuid;
1423
2068
  // Departments
1424
- await this.storageService.initial(RootConfig$2.entities.department.source, [
2069
+ await this.storageService.initial(RootConfig$4.entities.department.source, [
1425
2070
  {
1426
2071
  id: uuid(),
1427
2072
  title: 'Engineering Division',
@@ -1439,7 +2084,7 @@ class AXCOrganizationManagementDataSeeder {
1439
2084
  },
1440
2085
  ]);
1441
2086
  // Divisions
1442
- await this.storageService.initial(RootConfig$2.entities.division.source, [
2087
+ await this.storageService.initial(RootConfig$4.entities.division.source, [
1443
2088
  {
1444
2089
  id: uuid(),
1445
2090
  title: 'Software Development',
@@ -1457,7 +2102,7 @@ class AXCOrganizationManagementDataSeeder {
1457
2102
  },
1458
2103
  ]);
1459
2104
  // Branches
1460
- await this.storageService.initial(RootConfig$2.entities.branch.source, [
2105
+ await this.storageService.initial(RootConfig$4.entities.branch.source, [
1461
2106
  {
1462
2107
  id: uuid(),
1463
2108
  title: 'San Francisco Office',
@@ -1475,7 +2120,7 @@ class AXCOrganizationManagementDataSeeder {
1475
2120
  },
1476
2121
  ]);
1477
2122
  // Positions
1478
- await this.storageService.initial(RootConfig$2.entities.position.source, [
2123
+ await this.storageService.initial(RootConfig$4.entities.position.source, [
1479
2124
  {
1480
2125
  id: uuid(),
1481
2126
  title: 'Backend Developer',
@@ -1508,7 +2153,7 @@ class AXCOrganizationManagementDataSeeder {
1508
2153
  },
1509
2154
  ]);
1510
2155
  // Employment Types
1511
- await this.storageService.initial(RootConfig$2.entities.employmentType.source, [
2156
+ await this.storageService.initial(RootConfig$4.entities.employmentType.source, [
1512
2157
  {
1513
2158
  id: uuid(),
1514
2159
  title: 'Full-Time',
@@ -1536,7 +2181,7 @@ class AXCOrganizationManagementDataSeeder {
1536
2181
  },
1537
2182
  ]);
1538
2183
  // Employees
1539
- await this.storageService.initial(RootConfig$2.entities.employee.source, [
2184
+ await this.storageService.initial(RootConfig$4.entities.employee.source, [
1540
2185
  { id: uuid(), firstname: 'Jane', lastname: 'Smith', birthDate: new Date('1985-02-15'), employeeID: 'EMP002' },
1541
2186
  {
1542
2187
  id: uuid(),
@@ -1560,11 +2205,11 @@ class AXCOrganizationManagementDataSeeder {
1560
2205
  { id: uuid(), firstname: 'Vikram', lastname: 'Singh', birthDate: new Date('1982-07-14'), employeeID: 'EMP007' },
1561
2206
  ]);
1562
2207
  // Store Chart Data
1563
- await this.storageService.initial(RootConfig$2.entities.chart.source, [
2208
+ await this.storageService.initial(RootConfig$4.entities.chart.source, [
1564
2209
  {
1565
2210
  id: uuid(),
1566
2211
  version: '1.0',
1567
- data: PERSIAN_COMPANY_ORGANIZATION,
2212
+ data: SOFTWARE_COMPANY_ORGANIZATION,
1568
2213
  },
1569
2214
  ]);
1570
2215
  }
@@ -1686,7 +2331,7 @@ class AXCAppTermDataSeeder {
1686
2331
  this.storageService = inject(AXPDexieEntityStorageService);
1687
2332
  }
1688
2333
  async seed() {
1689
- await this.storageService.initial(`${RootConfig$3.module.name}.${RootConfig$3.entities.appTerm.name}`, APP_TERMS);
2334
+ await this.storageService.initial(`${RootConfig$5.module.name}.${RootConfig$5.entities.appTerm.name}`, APP_TERMS);
1690
2335
  }
1691
2336
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCAppTermDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1692
2337
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCAppTermDataSeeder }); }
@@ -1697,7 +2342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1697
2342
 
1698
2343
  const changeLog = [];
1699
2344
  for (let i = 0; i < 10; i++) {
1700
- changeLog.push(`This is a detailed description of the changes made in version 1.5.3${i}.
2345
+ changeLog.push(`This is a detailed description of the changes made in version 1.6.0${i}.
1701
2346
  It includes various updates, bug fixes, and improvements.
1702
2347
  The changes are extensive and cover multiple aspects of the application,
1703
2348
  ensuring better performance, enhanced security, and a more user-friendly interface.
@@ -1709,7 +2354,7 @@ const APP_VERSIONS = Array.from({ length: 10 }).map((element, i) => {
1709
2354
  publishDate.setDate(publishDate.getDate() - i * 7); // Subtract i weeks from the current date
1710
2355
  return {
1711
2356
  id: AXPDataGenerator.uuid(),
1712
- versionNumber: `1.5.3${i}`,
2357
+ versionNumber: `1.6.0${i}`,
1713
2358
  changeLog: changeLog[i],
1714
2359
  publishDate: publishDate.toString(),
1715
2360
  showFirstTimePopup: true,
@@ -1721,7 +2366,7 @@ class AXCAppVersionDataSeeder {
1721
2366
  this.storageService = inject(AXPDexieEntityStorageService);
1722
2367
  }
1723
2368
  async seed() {
1724
- await this.storageService.initial(`${RootConfig$3.module.name}.${RootConfig$3.entities.appVersion.name}`, APP_VERSIONS);
2369
+ await this.storageService.initial(`${RootConfig$5.module.name}.${RootConfig$5.entities.appVersion.name}`, APP_VERSIONS);
1725
2370
  }
1726
2371
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCAppVersionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1727
2372
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCAppVersionDataSeeder }); }
@@ -1752,7 +2397,7 @@ class AXCGlobalVariablesDataSeeder {
1752
2397
  this.storageService = inject(AXPDexieEntityStorageService);
1753
2398
  }
1754
2399
  async seed() {
1755
- await this.storageService.initial(`${RootConfig$3.module.name}.${RootConfig$3.entities.globalVariable.name}`, GLOBAL_VARIABLES);
2400
+ await this.storageService.initial(`${RootConfig$5.module.name}.${RootConfig$5.entities.globalVariable.name}`, GLOBAL_VARIABLES);
1756
2401
  }
1757
2402
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCGlobalVariablesDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1758
2403
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCGlobalVariablesDataSeeder }); }
@@ -1781,11 +2426,11 @@ class AXCRegionalServiceImpl extends AXPRegionalService {
1781
2426
  }
1782
2427
  });
1783
2428
  }
1784
- async getProvinces(countryCode) {
2429
+ async getProvinces(countryId) {
1785
2430
  const lang = await firstValueFrom(this.languageService.langChanges$);
1786
2431
  const country = await this.getCountries();
1787
2432
  const data = country
1788
- .filter((c) => !countryCode || c.code === countryCode)
2433
+ .filter((c) => !countryId || c.code === countryId)
1789
2434
  .flatMap((c) => c.provinces?.map((province) => {
1790
2435
  if (lang == c.regional) {
1791
2436
  return {
@@ -1981,6 +2626,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1981
2626
  type: Injectable
1982
2627
  }], ctorParameters: () => [] });
1983
2628
 
2629
+ const checkbox = '{"type":"document-layout","children":[{"type":"page-layout","children":[{"type":"checkbox-editor","name":"checkbox-editor1","options":{"label":"i accept","readonly":false,"disabled":false},"defaultValue":false,"path":"accept-check-box"}],"name":"page-layout1"}],"name":"document"}';
2630
+ const color = '{"type":"document-layout","children":[{"type":"page-layout","children":[{"type":"block-layout","name":"block-layout1","options":{"flexDirection":{"id":"ax-flex-row"},"flexJustifyContent":{"id":"ax-justify-normal"},"flexAlignItems":{"id":"ax-items-start"},"gap":2,"flexWrap":{"id":"ax-flex-nowrap"},"spacing":{"margin":"0px 0px 0px 0px","padding":"0px 0px 0px 0px"},"border":{"width":"0px","radius":"0px","color":"#000000","style":"none"},"flexOptions":{"gap":"0px","flexDirection":"row","flexWrap":"nowrap","justifyContent":"flex-start","alignItems":"flex-start"}}},"children":[{"type":"color-editor","name":"color-editor1","options":{"readonly":false,"disabled":false,"validations":{"required":{"rule":"required","message":"This field is required."}},"placeholder":"pick color"},"path":"color-box"}]}],"name":"page-layout1"}],"name":"document"}';
2631
+ const METADATA_MOCK = [
2632
+ {
2633
+ id: AXPDataGenerator$1.uuid(),
2634
+ name: 'checkbox',
2635
+ title: 'Checkbox',
2636
+ defaultValue: false,
2637
+ interface: checkbox,
2638
+ },
2639
+ {
2640
+ id: AXPDataGenerator$1.uuid(),
2641
+ name: 'color',
2642
+ title: 'Color',
2643
+ defaultValue: '#000000',
2644
+ interface: color,
2645
+ },
2646
+ ];
2647
+
2648
+ class AXCMetaDataDefinitionDataSeeder {
2649
+ constructor() {
2650
+ this.storageService = inject(AXPDexieEntityStorageService);
2651
+ }
2652
+ async seed() {
2653
+ await this.storageService.initial(`${RootConfig$5.module.name}.${RootConfig$5.entities.metaDataDefinition.name}`, METADATA_MOCK);
2654
+ }
2655
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2656
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder }); }
2657
+ }
2658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder, decorators: [{
2659
+ type: Injectable
2660
+ }] });
2661
+
1984
2662
  const SCHEDULER_JOB = [
1985
2663
  {
1986
2664
  id: AXPDataGenerator.uuid(),
@@ -2003,7 +2681,7 @@ class AXCSchedulerJobDataSeeder {
2003
2681
  this.storageService = inject(AXPDexieEntityStorageService);
2004
2682
  }
2005
2683
  async seed() {
2006
- await this.storageService.initial(`${RootConfig$4.module.name}.${RootConfig$4.entities.schedulerJob.name}`, SCHEDULER_JOB);
2684
+ await this.storageService.initial(`${RootConfig$6.module.name}.${RootConfig$6.entities.schedulerJob.name}`, SCHEDULER_JOB);
2007
2685
  }
2008
2686
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCSchedulerJobDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2009
2687
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCSchedulerJobDataSeeder }); }
@@ -2012,6 +2690,359 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2012
2690
  type: Injectable
2013
2691
  }] });
2014
2692
 
2693
+ class AXPSecurityManagementMockWidgetDataSourceProvider {
2694
+ async items() {
2695
+ return [
2696
+ {
2697
+ name: 'mock.securityUsers',
2698
+ title: 'Security Users',
2699
+ valueField: 'id',
2700
+ textField: 'displayName',
2701
+ columns: [
2702
+ {
2703
+ name: 'id',
2704
+ title: 'Id',
2705
+ },
2706
+ {
2707
+ name: 'username',
2708
+ title: 'Username',
2709
+ },
2710
+ {
2711
+ name: 'displayName',
2712
+ title: 'Display Name',
2713
+ },
2714
+ ],
2715
+ samples: [
2716
+ {
2717
+ id: '1',
2718
+ username: 'johndoe',
2719
+ displayName: 'John Doe',
2720
+ },
2721
+ {
2722
+ id: '2',
2723
+ username: 'janesmith',
2724
+ displayName: 'Jane Smith',
2725
+ },
2726
+ ],
2727
+ source: () => convertArrayToDataSource([
2728
+ {
2729
+ id: '1',
2730
+ username: 'johndoe',
2731
+ displayName: 'John Doe',
2732
+ },
2733
+ {
2734
+ id: '2',
2735
+ username: 'janesmith',
2736
+ displayName: 'Jane Smith',
2737
+ },
2738
+ {
2739
+ id: '3',
2740
+ username: 'mikeross',
2741
+ displayName: 'Mike Ross',
2742
+ },
2743
+ ]),
2744
+ },
2745
+ {
2746
+ name: 'mock.securityRoles',
2747
+ title: 'Security Roles',
2748
+ valueField: 'id',
2749
+ textField: 'title',
2750
+ columns: [
2751
+ {
2752
+ name: 'id',
2753
+ title: 'Id',
2754
+ },
2755
+ {
2756
+ name: 'title',
2757
+ title: 'Title',
2758
+ },
2759
+ ],
2760
+ samples: [
2761
+ {
2762
+ id: 'admin',
2763
+ title: 'Administrator',
2764
+ },
2765
+ {
2766
+ id: 'user',
2767
+ title: 'Regular User',
2768
+ },
2769
+ ],
2770
+ source: () => convertArrayToDataSource([
2771
+ {
2772
+ id: 'admin',
2773
+ title: 'Administrator',
2774
+ },
2775
+ {
2776
+ id: 'manager',
2777
+ title: 'Manager',
2778
+ },
2779
+ {
2780
+ id: 'user',
2781
+ title: 'Regular User',
2782
+ },
2783
+ ]),
2784
+ },
2785
+ ];
2786
+ }
2787
+ }
2788
+
2789
+ // Now we only define role structure without permissions
2790
+ const mockRoleDefinitions = [
2791
+ {
2792
+ id: '1001',
2793
+ name: 'admin',
2794
+ title: 'Administrator',
2795
+ description: 'Full system access with all administrative privileges',
2796
+ permissions: [], // Will be filled dynamically
2797
+ },
2798
+ {
2799
+ id: '1002',
2800
+ name: 'manager',
2801
+ title: 'Manager',
2802
+ description: 'Manages users and has access to most system features',
2803
+ permissions: [],
2804
+ },
2805
+ {
2806
+ id: '1003',
2807
+ name: 'user',
2808
+ title: 'Regular User',
2809
+ description: 'Standard user with basic system access',
2810
+ permissions: [],
2811
+ },
2812
+ {
2813
+ id: '1004',
2814
+ name: 'readonly',
2815
+ title: 'Read Only',
2816
+ description: 'View-only access to specific system areas',
2817
+ permissions: [],
2818
+ },
2819
+ {
2820
+ id: '1005',
2821
+ name: 'support',
2822
+ title: 'Support Staff',
2823
+ description: 'Customer support and ticket management access',
2824
+ permissions: [],
2825
+ },
2826
+ {
2827
+ id: '1006',
2828
+ name: 'hr',
2829
+ title: 'Human Resources',
2830
+ description: 'Access to HR-related features and user management',
2831
+ permissions: [],
2832
+ },
2833
+ {
2834
+ id: '1007',
2835
+ name: 'finance',
2836
+ title: 'Finance',
2837
+ description: 'Access to financial reports and invoicing features',
2838
+ permissions: [],
2839
+ },
2840
+ {
2841
+ id: '1008',
2842
+ name: 'dev',
2843
+ title: 'Developer',
2844
+ description: 'Technical access to development and debugging features',
2845
+ permissions: [],
2846
+ },
2847
+ ];
2848
+ const mockUsers = [
2849
+ {
2850
+ username: 'johndoe',
2851
+ firstname: 'John',
2852
+ lastname: 'Doe',
2853
+ nationalCode: '1234567890',
2854
+ mobile: '555-123-4567',
2855
+ roleIds: [
2856
+ { id: '1001', title: 'Administrator' },
2857
+ { id: '1002', title: 'Manager' },
2858
+ ],
2859
+ },
2860
+ {
2861
+ username: 'janesmith',
2862
+ firstname: 'Jane',
2863
+ lastname: 'Smith',
2864
+ nationalCode: '0987654321',
2865
+ mobile: '555-987-6543',
2866
+ roleIds: [
2867
+ { id: '1002', title: 'Manager' },
2868
+ { id: '1006', title: 'Human Resources' },
2869
+ ],
2870
+ },
2871
+ {
2872
+ username: 'mikeross',
2873
+ firstname: 'Mike',
2874
+ lastname: 'Ross',
2875
+ nationalCode: '2468135790',
2876
+ mobile: '555-246-8135',
2877
+ roleIds: [
2878
+ { id: '1008', title: 'Developer' },
2879
+ { id: '1005', title: 'Support Staff' },
2880
+ ],
2881
+ },
2882
+ {
2883
+ username: 'emilyparker',
2884
+ firstname: 'Emily',
2885
+ lastname: 'Parker',
2886
+ nationalCode: '1357924680',
2887
+ mobile: '555-135-7924',
2888
+ roleIds: [{ id: '1003', title: 'Regular User' }],
2889
+ },
2890
+ {
2891
+ username: 'robertjohnson',
2892
+ firstname: 'Robert',
2893
+ lastname: 'Johnson',
2894
+ nationalCode: '9876543210',
2895
+ mobile: '555-987-6542',
2896
+ roleIds: [{ id: '1007', title: 'Finance' }],
2897
+ },
2898
+ {
2899
+ username: 'sarahwilliams',
2900
+ firstname: 'Sarah',
2901
+ lastname: 'Williams',
2902
+ nationalCode: '5678901234',
2903
+ mobile: '555-567-8901',
2904
+ roleIds: [{ id: '1004', title: 'Read Only' }],
2905
+ },
2906
+ {
2907
+ username: 'davidbrown',
2908
+ firstname: 'David',
2909
+ lastname: 'Brown',
2910
+ nationalCode: '3456789012',
2911
+ mobile: '555-345-6789',
2912
+ roleIds: [
2913
+ { id: '1003', title: 'Regular User' },
2914
+ { id: '1005', title: 'Support Staff' },
2915
+ ],
2916
+ },
2917
+ {
2918
+ username: 'lisadavis',
2919
+ firstname: 'Lisa',
2920
+ lastname: 'Davis',
2921
+ nationalCode: '7890123456',
2922
+ mobile: '555-789-0123',
2923
+ roleIds: [{ id: '1006', title: 'Human Resources' }],
2924
+ },
2925
+ {
2926
+ username: 'michaelwilson',
2927
+ firstname: 'Michael',
2928
+ lastname: 'Wilson',
2929
+ nationalCode: '6789012345',
2930
+ mobile: '555-678-9012',
2931
+ roleIds: [
2932
+ { id: '1002', title: 'Manager' },
2933
+ { id: '1007', title: 'Finance' },
2934
+ ],
2935
+ },
2936
+ {
2937
+ username: 'amandamiller',
2938
+ firstname: 'Amanda',
2939
+ lastname: 'Miller',
2940
+ nationalCode: '4567890123',
2941
+ mobile: '555-456-7890',
2942
+ roleIds: [{ id: '1008', title: 'Developer' }],
2943
+ },
2944
+ ];
2945
+
2946
+ class AXPSecurityManagementRoleDataSeeder {
2947
+ constructor() {
2948
+ this.storageService = inject(AXPDexieEntityStorageService);
2949
+ this.permissionService = inject(AXPPermissionProviderService);
2950
+ }
2951
+ async seed() {
2952
+ const permissions = await this.permissionService.permissions();
2953
+ const permissionKeys = permissions.map((p) => p.name);
2954
+ // Generate roles with random permissions from the actual permission list
2955
+ const roles = mockRoleDefinitions.map((role) => ({
2956
+ ...role,
2957
+ permissions: this.getRandomPermissions(permissionKeys, 2, 5), // Get 2-5 random permissions
2958
+ }));
2959
+ await this.storageService.initial(`${RootConfig$2.module.name}.${RootConfig$2.entities.roles.name}`, roles);
2960
+ }
2961
+ getRandomPermissions(permissions, min, max) {
2962
+ const count = Math.floor(Math.random() * (max - min + 1)) + min;
2963
+ const shuffled = [...permissions].sort(() => 0.5 - Math.random());
2964
+ return shuffled.slice(0, count);
2965
+ }
2966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSecurityManagementRoleDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2967
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSecurityManagementRoleDataSeeder }); }
2968
+ }
2969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSecurityManagementRoleDataSeeder, decorators: [{
2970
+ type: Injectable
2971
+ }] });
2972
+
2973
+ class AXPSecurityManagementUserDataSeeder {
2974
+ constructor() {
2975
+ this.storageService = inject(AXPDexieEntityStorageService);
2976
+ }
2977
+ async seed() {
2978
+ await this.storageService.initial(`${RootConfig$2.module.name}.${RootConfig$2.entities.users.name}`, this.generateUsers());
2979
+ }
2980
+ generateUsers() {
2981
+ return mockUsers.map((user) => ({
2982
+ id: AXPDataGenerator.uuid(),
2983
+ username: user.username,
2984
+ firstname: user.firstname,
2985
+ lastname: user.lastname,
2986
+ nationalCode: user.nationalCode,
2987
+ mobile: user.mobile,
2988
+ password: '123',
2989
+ roles: user.roleIds,
2990
+ }));
2991
+ }
2992
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSecurityManagementUserDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2993
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSecurityManagementUserDataSeeder }); }
2994
+ }
2995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSecurityManagementUserDataSeeder, decorators: [{
2996
+ type: Injectable
2997
+ }] });
2998
+
2999
+ class AXCSecurityManagementMockModule {
3000
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCSecurityManagementMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3001
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXCSecurityManagementMockModule }); }
3002
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCSecurityManagementMockModule, providers: [
3003
+ {
3004
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
3005
+ useClass: AXPSecurityManagementMockWidgetDataSourceProvider,
3006
+ multi: true,
3007
+ },
3008
+ {
3009
+ provide: AXP_DATA_SEEDER_TOKEN,
3010
+ useClass: AXPSecurityManagementUserDataSeeder,
3011
+ multi: true,
3012
+ },
3013
+ {
3014
+ provide: AXP_DATA_SEEDER_TOKEN,
3015
+ useClass: AXPSecurityManagementRoleDataSeeder,
3016
+ multi: true,
3017
+ },
3018
+ ] }); }
3019
+ }
3020
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCSecurityManagementMockModule, decorators: [{
3021
+ type: NgModule,
3022
+ args: [{
3023
+ imports: [],
3024
+ exports: [],
3025
+ declarations: [],
3026
+ providers: [
3027
+ {
3028
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
3029
+ useClass: AXPSecurityManagementMockWidgetDataSourceProvider,
3030
+ multi: true,
3031
+ },
3032
+ {
3033
+ provide: AXP_DATA_SEEDER_TOKEN,
3034
+ useClass: AXPSecurityManagementUserDataSeeder,
3035
+ multi: true,
3036
+ },
3037
+ {
3038
+ provide: AXP_DATA_SEEDER_TOKEN,
3039
+ useClass: AXPSecurityManagementRoleDataSeeder,
3040
+ multi: true,
3041
+ },
3042
+ ],
3043
+ }]
3044
+ }] });
3045
+
2015
3046
  const TEXT_TEMPLATE_CATEGORY = [
2016
3047
  {
2017
3048
  id: AXPDataGenerator.uuid(),
@@ -2134,7 +3165,7 @@ class AXCTextTemplateCategoryDataSeeder {
2134
3165
  this.storageService = inject(AXPDexieEntityStorageService);
2135
3166
  }
2136
3167
  async seed() {
2137
- await this.storageService.initial(`${RootConfig$5.module.name}.${RootConfig$5.entities.category.name}`, TEXT_TEMPLATE_CATEGORY);
3168
+ await this.storageService.initial(`${RootConfig$7.module.name}.${RootConfig$7.entities.category.name}`, TEXT_TEMPLATE_CATEGORY);
2138
3169
  }
2139
3170
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCTextTemplateCategoryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2140
3171
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCTextTemplateCategoryDataSeeder }); }
@@ -2148,7 +3179,7 @@ class AXCTextTemplateDataSeeder {
2148
3179
  this.storageService = inject(AXPDexieEntityStorageService);
2149
3180
  }
2150
3181
  async seed() {
2151
- await this.storageService.initial(`${RootConfig$5.module.name}.${RootConfig$5.entities.template.name}`, TEXT_TEMPLATES);
3182
+ await this.storageService.initial(`${RootConfig$7.module.name}.${RootConfig$7.entities.template.name}`, TEXT_TEMPLATES);
2152
3183
  }
2153
3184
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCTextTemplateDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2154
3185
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCTextTemplateDataSeeder }); }
@@ -2161,7 +3192,8 @@ class AXCMockModule {
2161
3192
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2162
3193
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXCMockModule, imports: [i1$1.AXPAuthModule, AXCFormTemplateManagementMockModule,
2163
3194
  AXCFOrganizationManagementMockModule,
2164
- AXCConversationMockModule] }); }
3195
+ AXCConversationMockModule,
3196
+ AXCSecurityManagementMockModule] }); }
2165
3197
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMockModule, providers: [
2166
3198
  AXPDexieEntityStorageService,
2167
3199
  {
@@ -2212,11 +3244,31 @@ class AXCMockModule {
2212
3244
  useClass: AXCAppTermDataSeeder,
2213
3245
  multi: true,
2214
3246
  },
3247
+ {
3248
+ provide: AXP_DATA_SEEDER_TOKEN,
3249
+ useClass: AXCMetaDataDefinitionDataSeeder,
3250
+ multi: true,
3251
+ },
2215
3252
  {
2216
3253
  provide: AXP_DATA_SEEDER_TOKEN,
2217
3254
  useClass: AXCAppTermDataSeeder,
2218
3255
  multi: true,
2219
3256
  },
3257
+ {
3258
+ provide: AXP_DATA_SEEDER_TOKEN,
3259
+ useClass: AXCFolderDataSeeder,
3260
+ multi: true,
3261
+ },
3262
+ {
3263
+ provide: AXP_DATA_SEEDER_TOKEN,
3264
+ useClass: AXCDocumentTypeDataSeeder,
3265
+ multi: true,
3266
+ },
3267
+ {
3268
+ provide: AXP_DATA_SEEDER_TOKEN,
3269
+ useClass: AXCFileDataSeeder,
3270
+ multi: true,
3271
+ },
2220
3272
  {
2221
3273
  provide: AXPModuleDesignerService,
2222
3274
  useClass: AXCModuleDesignerService,
@@ -2229,6 +3281,14 @@ class AXCMockModule {
2229
3281
  provide: AXPRegionalService,
2230
3282
  useClass: AXCRegionalServiceImpl,
2231
3283
  },
3284
+ {
3285
+ provide: AXMFolderService,
3286
+ useClass: AXMFolderMockService,
3287
+ },
3288
+ {
3289
+ provide: AXMDocumentService,
3290
+ useClass: AXMFileMockService,
3291
+ },
2232
3292
  {
2233
3293
  provide: AXP_SEARCH_PROVIDER,
2234
3294
  useClass: EntitySearchProvider,
@@ -2239,7 +3299,8 @@ class AXCMockModule {
2239
3299
  }),
2240
3300
  AXCFormTemplateManagementMockModule,
2241
3301
  AXCFOrganizationManagementMockModule,
2242
- AXCConversationMockModule] }); }
3302
+ AXCConversationMockModule,
3303
+ AXCSecurityManagementMockModule] }); }
2243
3304
  }
2244
3305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXCMockModule, decorators: [{
2245
3306
  type: NgModule,
@@ -2251,6 +3312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2251
3312
  AXCFormTemplateManagementMockModule,
2252
3313
  AXCFOrganizationManagementMockModule,
2253
3314
  AXCConversationMockModule,
3315
+ AXCSecurityManagementMockModule,
2254
3316
  ],
2255
3317
  exports: [],
2256
3318
  declarations: [],
@@ -2304,11 +3366,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2304
3366
  useClass: AXCAppTermDataSeeder,
2305
3367
  multi: true,
2306
3368
  },
3369
+ {
3370
+ provide: AXP_DATA_SEEDER_TOKEN,
3371
+ useClass: AXCMetaDataDefinitionDataSeeder,
3372
+ multi: true,
3373
+ },
2307
3374
  {
2308
3375
  provide: AXP_DATA_SEEDER_TOKEN,
2309
3376
  useClass: AXCAppTermDataSeeder,
2310
3377
  multi: true,
2311
3378
  },
3379
+ {
3380
+ provide: AXP_DATA_SEEDER_TOKEN,
3381
+ useClass: AXCFolderDataSeeder,
3382
+ multi: true,
3383
+ },
3384
+ {
3385
+ provide: AXP_DATA_SEEDER_TOKEN,
3386
+ useClass: AXCDocumentTypeDataSeeder,
3387
+ multi: true,
3388
+ },
3389
+ {
3390
+ provide: AXP_DATA_SEEDER_TOKEN,
3391
+ useClass: AXCFileDataSeeder,
3392
+ multi: true,
3393
+ },
2312
3394
  {
2313
3395
  provide: AXPModuleDesignerService,
2314
3396
  useClass: AXCModuleDesignerService,
@@ -2321,6 +3403,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2321
3403
  provide: AXPRegionalService,
2322
3404
  useClass: AXCRegionalServiceImpl,
2323
3405
  },
3406
+ {
3407
+ provide: AXMFolderService,
3408
+ useClass: AXMFolderMockService,
3409
+ },
3410
+ {
3411
+ provide: AXMDocumentService,
3412
+ useClass: AXMFileMockService,
3413
+ },
2324
3414
  {
2325
3415
  provide: AXP_SEARCH_PROVIDER,
2326
3416
  useClass: EntitySearchProvider,