@punks/backend-entity-manager 0.0.349 → 0.0.350

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 (46) hide show
  1. package/dist/cjs/index.js +304 -161
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/actions.d.ts +5 -0
  4. package/dist/cjs/types/abstractions/commands.d.ts +4 -0
  5. package/dist/cjs/types/abstractions/import.d.ts +8 -0
  6. package/dist/cjs/types/abstractions/index.d.ts +4 -3
  7. package/dist/cjs/types/abstractions/manager.d.ts +2 -1
  8. package/dist/cjs/types/abstractions/parse.d.ts +24 -0
  9. package/dist/cjs/types/abstractions/serializer.d.ts +20 -3
  10. package/dist/cjs/types/actions/parse.d.ts +9 -0
  11. package/dist/cjs/types/base/serializer.d.ts +1 -0
  12. package/dist/cjs/types/commands/parse.d.ts +14 -0
  13. package/dist/cjs/types/concrete/index.d.ts +4 -2
  14. package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
  15. package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -0
  16. package/dist/cjs/types/platforms/nest/index.d.ts +1 -0
  17. package/dist/cjs/types/platforms/nest/models/index.d.ts +1 -0
  18. package/dist/cjs/types/platforms/nest/models/parsing.d.ts +12 -0
  19. package/dist/cjs/types/providers/{services.d.ts → services/entities-locator.d.ts} +33 -72
  20. package/dist/cjs/types/providers/services/entity-locator.d.ts +73 -0
  21. package/dist/cjs/types/providers/services/index.d.ts +2 -0
  22. package/dist/cjs/types/symbols/ioc.d.ts +2 -0
  23. package/dist/esm/index.js +303 -162
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types/abstractions/actions.d.ts +5 -0
  26. package/dist/esm/types/abstractions/commands.d.ts +4 -0
  27. package/dist/esm/types/abstractions/import.d.ts +8 -0
  28. package/dist/esm/types/abstractions/index.d.ts +4 -3
  29. package/dist/esm/types/abstractions/manager.d.ts +2 -1
  30. package/dist/esm/types/abstractions/parse.d.ts +24 -0
  31. package/dist/esm/types/abstractions/serializer.d.ts +20 -3
  32. package/dist/esm/types/actions/parse.d.ts +9 -0
  33. package/dist/esm/types/base/serializer.d.ts +1 -0
  34. package/dist/esm/types/commands/parse.d.ts +14 -0
  35. package/dist/esm/types/concrete/index.d.ts +4 -2
  36. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
  37. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -0
  38. package/dist/esm/types/platforms/nest/index.d.ts +1 -0
  39. package/dist/esm/types/platforms/nest/models/index.d.ts +1 -0
  40. package/dist/esm/types/platforms/nest/models/parsing.d.ts +12 -0
  41. package/dist/esm/types/providers/{services.d.ts → services/entities-locator.d.ts} +33 -72
  42. package/dist/esm/types/providers/services/entity-locator.d.ts +73 -0
  43. package/dist/esm/types/providers/services/index.d.ts +2 -0
  44. package/dist/esm/types/symbols/ioc.d.ts +2 -0
  45. package/dist/index.d.ts +562 -485
  46. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -147,14 +147,29 @@ interface IEntityVersionsSearchResponse<TResult, TCursor> {
147
147
  items: TResult[];
148
148
  }
149
149
 
150
+ type ImportEntryValidationError = {
151
+ errorCode: string;
152
+ };
153
+ type ImportEntryValidationResult = {
154
+ isValid: boolean;
155
+ validationErrors: ImportEntryValidationError[];
156
+ };
157
+ type EntitySerializerColumnParser = (value: any) => any;
158
+ type EntitySerializerColumnParseAction<TSheetItem> = (value: any, item: TSheetItem) => void;
159
+ type EntitySerializerColumnConverter<TSheetItem> = (value: any, item: TSheetItem) => any;
160
+ type EntitySerializerColumnValidator<TSheetItem> = {
161
+ key: string;
162
+ fn: (selector: (item: TSheetItem) => any) => ImportEntryValidationResult;
163
+ };
150
164
  type EntitySerializerColumnDefinition<TSheetItem> = {
151
165
  name: string;
152
166
  selector: keyof TSheetItem;
153
167
  colSpan?: number;
154
168
  sampleValue?: any;
155
- parser?: (value: any) => any;
156
- parseAction?: (value: any, item: TSheetItem) => void;
157
- converter?: (value: any, item: TSheetItem) => any;
169
+ parser?: EntitySerializerColumnParser;
170
+ parseAction?: EntitySerializerColumnParseAction<TSheetItem>;
171
+ converter?: EntitySerializerColumnConverter<TSheetItem>;
172
+ validators?: EntitySerializerColumnValidator<TSheetItem>[];
158
173
  idColumn?: boolean;
159
174
  };
160
175
  type EntitySerializerSheetDefinition<TSheetItem> = {
@@ -173,6 +188,8 @@ declare enum EntitySerializationFormat {
173
188
  type ImportEntry<TSheetItem, TEntityId> = {
174
189
  id?: TEntityId;
175
190
  item: TSheetItem;
191
+ rowIndex: number;
192
+ status: ImportEntryValidationResult;
176
193
  };
177
194
  interface IEntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem, TPayload = unknown> {
178
195
  export(filters?: TEntitySearchParameters): Promise<TSheetItem[]>;
@@ -219,13 +236,21 @@ type EntitiesImportInputFile = {
219
236
  content: Buffer;
220
237
  contentType: string;
221
238
  };
239
+ declare enum InvalidEntityHandling {
240
+ Skip = "skip",
241
+ Fail = "fail"
242
+ }
222
243
  type EntitiesImportInput<TPayload> = {
223
244
  format: EntitySerializationFormat;
224
245
  file: EntitiesImportInputFile;
225
246
  payload?: TPayload;
247
+ options?: {
248
+ invalidEntitiesHandling: InvalidEntityHandling;
249
+ };
226
250
  };
227
251
  type EntitiesImportStatistics = {
228
252
  importedCount: number;
253
+ skippedCount: number;
229
254
  updatedCount: number;
230
255
  createdCount: number;
231
256
  unchangedCount: number;
@@ -234,6 +259,29 @@ type EntitiesImportResult = {
234
259
  statistics: EntitiesImportStatistics;
235
260
  };
236
261
 
262
+ type EntitiesParseInputFile = {
263
+ fileName: string;
264
+ content: Buffer;
265
+ contentType: string;
266
+ };
267
+ type EntitiesParseError = {
268
+ fieldName: string;
269
+ errorType: string;
270
+ };
271
+ type EntitiesParseResultItem<TItem> = {
272
+ isValid: boolean;
273
+ item: TItem;
274
+ errors: EntitiesParseError[];
275
+ };
276
+ type EntitiesParseResult<TItem> = {
277
+ entries: ImportEntry<unknown, unknown>[];
278
+ };
279
+ type EntitiesParseInput<TPayload> = {
280
+ format: EntitySerializationFormat;
281
+ file: EntitiesParseInputFile;
282
+ payload?: TPayload;
283
+ };
284
+
237
285
  declare enum EntityVersionOperation {
238
286
  Create = "create",
239
287
  Update = "update",
@@ -297,6 +345,9 @@ interface IEntitiesExportCommand<TEntity, TEntitySearchParameters extends IEntit
297
345
  interface IEntitiesImportCommand<TEntity> {
298
346
  execute(input: EntitiesImportInput<unknown>): Promise<EntitiesImportResult>;
299
347
  }
348
+ interface IEntitiesParseCommand<TEntity> {
349
+ execute(input: EntitiesParseInput<unknown>): Promise<EntitiesParseResult<unknown>>;
350
+ }
300
351
  interface IEntitiesSampleDownloadCommand<TEntity> {
301
352
  execute(input: EntitiesSampleDownloadOptions): Promise<EntitiesSampleDownloadResult>;
302
353
  }
@@ -369,6 +420,9 @@ interface IEntitiesExportAction<TEntity, TEntitySearchParameters extends IEntity
369
420
  interface IEntitiesImportAction<TEntity> {
370
421
  execute(input: EntitiesImportInput<unknown>): Promise<EntitiesImportResult>;
371
422
  }
423
+ interface IEntitiesParseAction<TEntity> {
424
+ execute(input: EntitiesParseInput<unknown>): Promise<EntitiesParseResult<unknown>>;
425
+ }
372
426
  interface IEntitiesSampleDownloadAction<TEntity> {
373
427
  execute(input: EntitiesSampleDownloadOptions): Promise<EntitiesSampleDownloadResult>;
374
428
  }
@@ -387,6 +441,7 @@ interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto,
387
441
  get deleteItems(): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
388
442
  get export(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
389
443
  get import(): IEntitiesImportAction<TEntity>;
444
+ get parse(): IEntitiesParseAction<TEntity>;
390
445
  get sampleDownload(): IEntitiesSampleDownloadAction<TEntity>;
391
446
  get versions(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
392
447
  }
@@ -547,6 +602,111 @@ interface IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext extends
547
602
  canDeleteItems(context: TAuthenticationContext): Promise<IAuthorizationResult>;
548
603
  }
549
604
 
605
+ type BucketFolderListInput = {
606
+ bucket: string;
607
+ maxResults?: number;
608
+ path?: string;
609
+ };
610
+ declare enum BucketItemType {
611
+ File = "file",
612
+ Folder = "folder"
613
+ }
614
+ type BucketContentItem = {
615
+ type: BucketItemType;
616
+ name: string;
617
+ path: string;
618
+ };
619
+ type BucketFolderContentResult = {
620
+ items: BucketContentItem[];
621
+ };
622
+ type BucketFolderListResult = {};
623
+ type BucketFolderCreateInput = {
624
+ bucket: string;
625
+ path: string;
626
+ };
627
+ type BucketFolderEnsureInput = {
628
+ bucket: string;
629
+ path: string;
630
+ };
631
+ type BucketFolderExistsInput = {
632
+ bucket: string;
633
+ path: string;
634
+ };
635
+ type BucketFileDownloadInput = {
636
+ bucket: string;
637
+ filePath: string;
638
+ };
639
+ type BucketFilePublicUrlCreateInput = {
640
+ bucket: string;
641
+ filePath: string;
642
+ expirationMinutes: number;
643
+ };
644
+ type BucketFileUploadInput = {
645
+ bucket: string;
646
+ filePath: string;
647
+ content: Buffer;
648
+ contentType?: string;
649
+ };
650
+ type BucketFileDeleteInput = {
651
+ bucket: string;
652
+ filePath: string;
653
+ };
654
+ type BucketFileCopyInput = {
655
+ bucket: string;
656
+ filePath: string;
657
+ targetBucket: string;
658
+ targetPath: string;
659
+ };
660
+ type BucketFileMoveInput = {
661
+ bucket: string;
662
+ filePath: string;
663
+ targetBucket: string;
664
+ targetPath: string;
665
+ };
666
+ interface IBucketProvider {
667
+ folderList(input: BucketFolderListInput): Promise<BucketFolderListResult>;
668
+ folderEnsure(input: BucketFolderEnsureInput): Promise<void>;
669
+ folderExists(input: BucketFolderExistsInput): Promise<boolean>;
670
+ fileDownload(input: BucketFileDownloadInput): Promise<Buffer>;
671
+ filePublicUrlCreate(input: BucketFilePublicUrlCreateInput): Promise<string>;
672
+ fileUpload(input: BucketFileUploadInput): Promise<void>;
673
+ fileDelete(input: BucketFileDeleteInput): Promise<void>;
674
+ }
675
+
676
+ type CacheTtl = {
677
+ value: number;
678
+ unit: "years" | "months" | "days" | "hours" | "minutes" | "seconds";
679
+ };
680
+ type CacheEntryInfo = {
681
+ instanceName: string;
682
+ key: string;
683
+ expiration: Date;
684
+ createdOn: Date;
685
+ updatedOn: Date;
686
+ };
687
+ type CacheEntryDetail = CacheEntryInfo & {
688
+ data: any;
689
+ };
690
+ interface ICacheInstance {
691
+ getInstanceName(): string;
692
+ getEntries(): Promise<CacheEntryInfo[]>;
693
+ getEntry(key: string): Promise<CacheEntryDetail | undefined>;
694
+ get<T>(key: string): Promise<T | undefined>;
695
+ set<T>(key: string, input: {
696
+ value: T;
697
+ ttl: CacheTtl;
698
+ }): Promise<void>;
699
+ retrieve<T>(key: string, input: {
700
+ ttl: CacheTtl;
701
+ valueFactory: () => Promise<T>;
702
+ }): Promise<T>;
703
+ delete(key: string): Promise<void>;
704
+ clear(): Promise<void>;
705
+ }
706
+ interface ICache {
707
+ getInstance(instanceName: string): Promise<ICacheInstance>;
708
+ }
709
+
550
710
  interface IEntityMapper<TEntity, TMappedEntity> {
551
711
  mapEntity(entity: TEntity): Promise<TMappedEntity>;
552
712
  }
@@ -598,6 +758,46 @@ interface IEntityUpdateActionConverter<TEntity, TEntityDto, TEntityUpdateDto> {
598
758
  interface IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> extends IEntitiesSearchActionConverter<TEntity, TListItemDto>, IEntityGetActionConverter<TEntity, TEntityDto>, IEntityCreateActionConverter<TEntity, TEntityDto, TEntityCreateDto>, IEntityUpdateActionConverter<TEntity, TEntityDto, TEntityUpdateDto> {
599
759
  }
600
760
 
761
+ interface IEmailTemplateMiddleware {
762
+ processPayload(payload: unknown): Promise<unknown>;
763
+ }
764
+ interface IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload = TPayload> {
765
+ processPayload(payload: TPayload): Promise<TAugmentedPayload>;
766
+ getTemplateData(payload: TAugmentedPayload): Promise<TTemplateData>;
767
+ }
768
+ interface IEmailTemplatesCollection {
769
+ registerTemplate(id: string, template: IEmailTemplate<unknown, unknown, unknown>): void;
770
+ getTemplate<TTemplateData, TPayload, TAugmentedPayload = TPayload>(id: string): IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload>;
771
+ }
772
+ type TemplatedEmailInput<TPayload> = {
773
+ from?: string;
774
+ to?: string[];
775
+ cc?: string[];
776
+ bcc?: string[];
777
+ subjectTemplate?: string;
778
+ templateId: string;
779
+ languageCode: string;
780
+ payload: TPayload;
781
+ };
782
+ interface HtmlEmailInput<TPayload> {
783
+ replyTo?: string;
784
+ from?: string;
785
+ to?: string[];
786
+ cc?: string[];
787
+ bcc?: string[];
788
+ subjectTemplate: string;
789
+ bodyTemplate: string;
790
+ payload: TPayload;
791
+ }
792
+ interface IEmailProvider<TTemplateData> {
793
+ sendTemplatedEmail<TPayload, TAugmentedPayload>(input: TemplatedEmailInput<TPayload>, template: IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload>): Promise<void>;
794
+ sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
795
+ }
796
+ interface IEmailLogger {
797
+ logTemplatedEmail<TPayload>(input: TemplatedEmailInput<TPayload>): Promise<void>;
798
+ logHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
799
+ }
800
+
601
801
  interface IEntityEventsManager<TEntity, TEntityId> {
602
802
  processEntityCreatedEvent(entity: TEntity): Promise<void>;
603
803
  processEntityUpdatedEvent(entity: TEntity): Promise<void>;
@@ -607,6 +807,74 @@ interface IEventEmitter {
607
807
  emit(event: string, ...args: any[]): Promise<void>;
608
808
  }
609
809
 
810
+ type FileData = {
811
+ content: Buffer;
812
+ contentType: string;
813
+ fileName: string;
814
+ folderPath: string;
815
+ metadata?: Record<string, any>;
816
+ };
817
+ type FileDownloadUrl = {
818
+ downloadUrl: string;
819
+ contentType: string;
820
+ fileName: string;
821
+ };
822
+ type FileReference = {
823
+ fileId: string;
824
+ reference: string;
825
+ providerId: string;
826
+ };
827
+ interface IFileManager {
828
+ uploadFile(file: FileData): Promise<FileReference>;
829
+ getFileContent(fileId: string): Promise<FileData>;
830
+ getFileDownloadUrl(fileId: string): Promise<FileDownloadUrl>;
831
+ }
832
+ type FilesReferenceData = {
833
+ reference: string;
834
+ providerId: string;
835
+ metadata?: Record<string, any>;
836
+ fileName: string;
837
+ filePath: string;
838
+ fileSize: number;
839
+ contentType: string;
840
+ };
841
+ type FileReferenceRecord = FilesReferenceData & {
842
+ fileId: string;
843
+ createdOn: Date;
844
+ updatedOn: Date;
845
+ };
846
+ interface IFilesReferenceRepository {
847
+ searchReference({ reference, providerId, }: {
848
+ reference: string;
849
+ providerId: string;
850
+ }): Promise<FileReferenceRecord>;
851
+ getReference(fileId: string): Promise<FileReferenceRecord>;
852
+ createReference(file: FilesReferenceData): Promise<FileReferenceRecord>;
853
+ updateReference(fileId: string, file: FilesReferenceData): Promise<FileReferenceRecord>;
854
+ deleteReference(fileId: string): Promise<void>;
855
+ }
856
+ type FileProviderReference = {
857
+ reference: string;
858
+ };
859
+ type FileProviderUploadData = {
860
+ fileName: string;
861
+ content: Buffer;
862
+ contentType: string;
863
+ };
864
+ type FileProviderDownloadData = {
865
+ content: Buffer;
866
+ };
867
+ type FileProviderDownloadUrl = {
868
+ downloadUrl: string;
869
+ };
870
+ interface IFileProvider {
871
+ getProviderId(): string;
872
+ uploadFile(file: FileProviderUploadData): Promise<FileProviderReference>;
873
+ deleteFile(reference: FileProviderReference): Promise<void>;
874
+ downloadFile(reference: FileProviderReference): Promise<FileProviderDownloadData>;
875
+ getFileProviderDownloadUrl(reference: FileProviderReference): Promise<FileProviderDownloadUrl>;
876
+ }
877
+
610
878
  interface IEntitiesDeleteResult {
611
879
  deletedCount: number;
612
880
  }
@@ -676,33 +944,177 @@ interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateDat
676
944
  get delete(): IEntityDeleteCommand<TEntity, TEntityId>;
677
945
  get deleteItems(): IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>;
678
946
  get import(): IEntitiesImportCommand<TEntity>;
947
+ get parse(): IEntitiesParseCommand<TEntity>;
679
948
  get export(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
680
949
  get sampleDownload(): IEntitiesSampleDownloadCommand<TEntity>;
681
950
  get versions(): IEntityVersionsSearchQuery<TEntity, TCursor>;
682
951
  }
683
952
 
684
- interface IPipelineInstance<TPipelineInput, TPipelineOutput, TContext> {
685
- execute(): Promise<PipelineResult<TPipelineInput, TPipelineOutput>>;
686
- }
687
- interface IPipelinesController {
688
- createInstance<TPipelineInput, TPipelineOutput, TContext>(definition: PipelineDefinition<TPipelineInput, TPipelineOutput, TContext>, input: TPipelineInput, context: TContext | undefined): Promise<IPipelineInstance<TPipelineInput, TPipelineOutput, TContext>>;
689
- }
690
-
691
- interface IReplicasConfiguration<TEntity, TEntityId> {
692
- configureReplica<TRepository extends IEntityRepository<TEntity, TEntityId, unknown, unknown, unknown, unknown>>(name: string, options: ReplicaOptions, repository: TRepository): void;
693
- getReplica(name: string): ReplicaConfiguration<TEntity, TEntityId>;
694
- getReplicas(): ReplicaConfiguration<TEntity, TEntityId>[];
695
- }
696
- declare enum ReplicationMode {
697
- Sync = 0,
698
- Async = 1
699
- }
700
- type ReplicaOptions = {
701
- mode: ReplicationMode;
702
- enabled?: boolean;
703
- };
704
- type ReplicaConfiguration<TEntity, TEntityId> = {
705
- name: string;
953
+ type MediaUploadInput = {
954
+ fileName: string;
955
+ content: Buffer;
956
+ contentType?: string;
957
+ folderId?: string;
958
+ };
959
+ type MediaReference = {
960
+ ref: string;
961
+ };
962
+ type MediaItemReference = {
963
+ id: string;
964
+ ref: string;
965
+ folderId?: string;
966
+ };
967
+ type IMediaProvider = {
968
+ mediaUpload(input: MediaUploadInput): Promise<MediaReference>;
969
+ mediaDelete(input: MediaReference): Promise<void>;
970
+ mediaDownload(input: MediaReference): Promise<Buffer>;
971
+ getFileName(input: MediaReference): string;
972
+ getProviderId(): string;
973
+ };
974
+ type MediaReferenceRecord = {
975
+ id: string;
976
+ ref: string;
977
+ folderId?: string;
978
+ createdOn: Date;
979
+ updatedOn: Date;
980
+ };
981
+ type MediaReferenceCreateInput = {
982
+ media: MediaReference;
983
+ fileName: string;
984
+ contentType?: string;
985
+ folderId?: string;
986
+ providerId: string;
987
+ };
988
+ type IMediaReferenceRepository = {
989
+ getReference(file: MediaReference): Promise<MediaReferenceRecord>;
990
+ createReference(input: MediaReferenceCreateInput): Promise<MediaReferenceRecord>;
991
+ updateReferenceFolder(file: MediaReference, folderId: string | undefined): Promise<void>;
992
+ deleteReference(file: MediaReference): Promise<void>;
993
+ getFolderReferences(folderId?: string): Promise<MediaReferenceRecord[]>;
994
+ };
995
+ type MediaFolderRecord = {
996
+ id: string;
997
+ name: string;
998
+ createdOn: Date;
999
+ updatedOn: Date;
1000
+ };
1001
+ type IMediaFolderRepository = {
1002
+ folderCreate(input: {
1003
+ name: string;
1004
+ parentId?: string;
1005
+ organizationId?: string;
1006
+ }): Promise<MediaFolderRecord>;
1007
+ folderRename(id: string, name: string): Promise<void>;
1008
+ folderMove(id: string, parentId?: string): Promise<void>;
1009
+ folderDelete(id: string): Promise<void>;
1010
+ foldersList(parentId?: string): Promise<MediaFolderRecord[]>;
1011
+ folderFind(name: string, parentId?: string): Promise<MediaFolderRecord>;
1012
+ };
1013
+ type MediaFolderCreateInput = {
1014
+ folderName: string;
1015
+ parentId?: string;
1016
+ organizationId?: string;
1017
+ };
1018
+ type MediaFolderReference = {
1019
+ id: string;
1020
+ name: string;
1021
+ };
1022
+ type MediaFolderRenameInput = {
1023
+ id: string;
1024
+ folderName?: string;
1025
+ };
1026
+ type MediaFolderMoveInput = {
1027
+ id: string;
1028
+ folderId?: string;
1029
+ };
1030
+ type MediaInfo = {
1031
+ ref: string;
1032
+ fileName: string;
1033
+ };
1034
+ type MediaFolderEnsureInput = {
1035
+ path: string[];
1036
+ organizationId?: string;
1037
+ };
1038
+ type IMediaLibraryManager = {
1039
+ mediaUpload(input: MediaUploadInput): Promise<MediaItemReference>;
1040
+ mediaDelete(input: MediaReference): Promise<void>;
1041
+ mediaDownload(input: MediaReference): Promise<Buffer>;
1042
+ folderEnsure(input: MediaFolderEnsureInput): Promise<MediaFolderReference>;
1043
+ folderCreate(input: MediaFolderCreateInput): Promise<MediaFolderReference>;
1044
+ folderDelete(input: MediaFolderReference): Promise<void>;
1045
+ folderMove(input: MediaFolderMoveInput): Promise<void>;
1046
+ folderRename(input: MediaFolderRenameInput): Promise<void>;
1047
+ foldersList(parent?: MediaFolderReference): Promise<MediaFolderReference[]>;
1048
+ getFolderMedia(input: MediaFolderReference): Promise<MediaInfo[]>;
1049
+ };
1050
+
1051
+ type LockItem = {
1052
+ uid: string;
1053
+ lockedBy?: string;
1054
+ createdOn: Date;
1055
+ };
1056
+ type LockAcquireInput = {
1057
+ lockUid: string;
1058
+ requestedBy?: string;
1059
+ };
1060
+ type LockAcquireResult = {
1061
+ available: boolean;
1062
+ lockItem: LockItem;
1063
+ };
1064
+ type LockReleaseInput = {
1065
+ lockUid: string;
1066
+ };
1067
+ declare class LockNotFoundError extends Error {
1068
+ }
1069
+ interface ILockRepository {
1070
+ acquireLock(input: LockAcquireInput): Promise<LockAcquireResult>;
1071
+ releaseLock(input: LockReleaseInput): Promise<void>;
1072
+ getLock(lockUid: string): Promise<LockItem | undefined>;
1073
+ }
1074
+ interface ExecuteSequentialInput<T> {
1075
+ lockUid: string;
1076
+ requestedBy?: string;
1077
+ lockTimeout?: number;
1078
+ lockPolling?: number;
1079
+ operation: () => Promise<T>;
1080
+ }
1081
+ declare class ExclusiveOperationResult<T> {
1082
+ skipped: boolean;
1083
+ result?: T;
1084
+ }
1085
+ interface ExecuteExclusiveInput<T> {
1086
+ lockUid: string;
1087
+ requestedBy?: string;
1088
+ lockTimeout?: number;
1089
+ operation: () => Promise<T>;
1090
+ }
1091
+ interface IOperationLockService {
1092
+ executeSequential<T>(input: ExecuteSequentialInput<T>): Promise<T>;
1093
+ executeExclusive<T>(input: ExecuteExclusiveInput<T>): Promise<ExclusiveOperationResult<T>>;
1094
+ }
1095
+
1096
+ interface IPipelineInstance<TPipelineInput, TPipelineOutput, TContext> {
1097
+ execute(): Promise<PipelineResult<TPipelineInput, TPipelineOutput>>;
1098
+ }
1099
+ interface IPipelinesController {
1100
+ createInstance<TPipelineInput, TPipelineOutput, TContext>(definition: PipelineDefinition<TPipelineInput, TPipelineOutput, TContext>, input: TPipelineInput, context: TContext | undefined): Promise<IPipelineInstance<TPipelineInput, TPipelineOutput, TContext>>;
1101
+ }
1102
+
1103
+ interface IReplicasConfiguration<TEntity, TEntityId> {
1104
+ configureReplica<TRepository extends IEntityRepository<TEntity, TEntityId, unknown, unknown, unknown, unknown>>(name: string, options: ReplicaOptions, repository: TRepository): void;
1105
+ getReplica(name: string): ReplicaConfiguration<TEntity, TEntityId>;
1106
+ getReplicas(): ReplicaConfiguration<TEntity, TEntityId>[];
1107
+ }
1108
+ declare enum ReplicationMode {
1109
+ Sync = 0,
1110
+ Async = 1
1111
+ }
1112
+ type ReplicaOptions = {
1113
+ mode: ReplicationMode;
1114
+ enabled?: boolean;
1115
+ };
1116
+ type ReplicaConfiguration<TEntity, TEntityId> = {
1117
+ name: string;
706
1118
  options: ReplicaOptions;
707
1119
  repository: IEntityRepository<TEntity, TEntityId, unknown, unknown, unknown, unknown>;
708
1120
  };
@@ -713,6 +1125,39 @@ interface IEntityReplicaSyncManager<TEntity> {
713
1125
  syncReplicas(entity: TEntity): Promise<void>;
714
1126
  }
715
1127
 
1128
+ type AppSecretType = "string" | "number" | "boolean" | "json";
1129
+ type AppSecretDefinition = {
1130
+ key: string;
1131
+ type: AppSecretType;
1132
+ hidden: boolean;
1133
+ defaultValue?: any;
1134
+ };
1135
+ type AppSecret<TValue> = {
1136
+ key: string;
1137
+ value: TValue;
1138
+ type: AppSecretType;
1139
+ hidden: boolean;
1140
+ timestamp: number;
1141
+ };
1142
+ type AppSecretInput<TValue> = {
1143
+ key: string;
1144
+ value: TValue;
1145
+ };
1146
+ type AppSecretsPageMetadata = {
1147
+ tags?: {
1148
+ key: string;
1149
+ value: string;
1150
+ }[];
1151
+ };
1152
+ interface ISecretsProvider {
1153
+ getSecrets(pageName: string): Promise<AppSecret<any>[]>;
1154
+ setSecret<TValue>(pageName: string, secret: AppSecret<TValue>): Promise<void>;
1155
+ defineSecret(pageName: string, definition: AppSecretDefinition): Promise<void>;
1156
+ pageInitialize(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
1157
+ pageEnsure(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
1158
+ pageExists(pageName: string): Promise<boolean>;
1159
+ }
1160
+
716
1161
  type EntityManagerSettings = {
717
1162
  importExport: EntitiesImportExportSettings;
718
1163
  defaultBucketProvider: string;
@@ -727,6 +1172,21 @@ type IEntityConfiguration = {
727
1172
  versioning?: EntityVersioningOptions$1;
728
1173
  };
729
1174
 
1175
+ interface IEntitySnapshotService<TEntityId, TEntitySnapshot> {
1176
+ getSnapshot(id: TEntityId): Promise<TEntitySnapshot>;
1177
+ }
1178
+
1179
+ interface IEventLog<TPayload> {
1180
+ type: string;
1181
+ payload?: TPayload;
1182
+ userId?: string;
1183
+ userName?: string;
1184
+ timestamp: Date;
1185
+ }
1186
+ interface IEventsTracker<TEventLog extends IEventLog<unknown>> {
1187
+ track(log: TEventLog): Promise<void>;
1188
+ }
1189
+
730
1190
  interface IResolveServiceOptions {
731
1191
  optional?: boolean;
732
1192
  }
@@ -759,61 +1219,6 @@ declare class ServiceLocator implements IServiceLocator {
759
1219
  private buildServiceName;
760
1220
  }
761
1221
 
762
- declare class EntityServiceLocator<TEntity, TEntityId> {
763
- private readonly services;
764
- private readonly entityName;
765
- constructor(services: EntitiesServiceLocator, entityName: string);
766
- getRootServices(): EntitiesServiceLocator;
767
- resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
768
- resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, any, unknown, any>;
769
- resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, any, unknown, any>;
770
- resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
771
- resolveEventsManager(): IEntityEventsManager<TEntity, TEntityId>;
772
- resolveVersioningProvider(): IEntityVersioningProvider;
773
- resolveEntityConfiguration(): IEntityConfiguration;
774
- resolveReplicaSyncManager(): IEntityReplicaSyncManager<TEntity>;
775
- resolveReplicaConfiguration(): IReplicasConfiguration<TEntity, TEntityId>;
776
- resolveReplicaDeleteManager<TEntityId>(): IEntityReplicaDeleteManager<TEntity, TEntityId>;
777
- resolveConnectorSyncManager(): IEntityConnectorSyncManager<TEntity>;
778
- resolveConnectorDeleteManager<TEntityId>(): IEntityConnectorDeleteManager<TEntity, TEntityId>;
779
- resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
780
- resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
781
- resolveSerializer(): IEntitySerializer<TEntity, TEntityId, unknown, unknown>;
782
- resolveSnapshotService<TEntity, TEntityId>(): IEntitySnapshotService<TEntityId, unknown> | undefined;
783
- resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
784
- resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
785
- resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
786
- resolveExistsQuery<TEntityFilters extends ISearchFilters>(): IEntityExistsQuery<TEntity, TEntityFilters>;
787
- resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
788
- resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
789
- resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
790
- resolveFindQuery<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
791
- resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityId, TEntityCreateData>;
792
- resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
793
- resolveUpsertCommand<TEntityUpdateData>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
794
- resolveUpsertByCommand<TEntityFilters extends ISearchFilters>(): IEntityUpsertByCommand<TEntity, TEntityFilters>;
795
- resolveDeleteCommand<TEntityId>(): IEntityDeleteCommand<TEntity, TEntityId>;
796
- resolveDeleteItemsCommand<TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(): IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>;
797
- resolveVersionCommand(): IEntityVersionCommand<TEntity, TEntityId>;
798
- resolveSampleDownloadCommand(): IEntitiesSampleDownloadCommand<TEntity>;
799
- resolveImportCommand(): IEntitiesImportCommand<TEntity>;
800
- resolveExportCommand<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
801
- resolveGetAction<TEntityId, TEntityDto>(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
802
- resolveExistsAction<TEntityFilters extends ISearchFilters>(): IEntityExistsAction<TEntity, TEntityFilters>;
803
- resolveCountAction<TEntityFilters extends ISearchFilters>(): IEntitiesCountAction<TEntity, TEntityFilters>;
804
- resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
805
- resolveVersionsSearchAction<TEntityListItemDto, TCursor>(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
806
- resolveCreateAction<TEntityCreateData, TEntityDto>(): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
807
- resolveUpdateAction<TEntityUpdateData, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
808
- resolveUpsertAction<TEntityUpdateData, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
809
- resolveDeleteAction(): IEntityDeleteAction<TEntity, TEntityId>;
810
- resolveDeleteItemsAction<TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
811
- resolveImportAction(): IEntitiesImportAction<TEntity>;
812
- resolveSampleDownloadAction(): IEntitiesSampleDownloadAction<TEntity>;
813
- resolveExportAction<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
814
- resolveQueryBuilder<TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(): IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>;
815
- getEntityName(): string;
816
- }
817
1222
  declare class EntitiesServiceLocator {
818
1223
  private readonly provider;
819
1224
  constructor(provider: ServiceLocator);
@@ -924,6 +1329,8 @@ declare class EntitiesServiceLocator {
924
1329
  registerExportCommand<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string, instance: IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>): void;
925
1330
  resolveImportCommand<TEntity>(entityName: string): IEntitiesImportCommand<TEntity>;
926
1331
  registerImportCommand<TEntity>(entityName: string, instance: IEntitiesImportCommand<TEntity>): void;
1332
+ resolveParseCommand<TEntity>(entityName: string): IEntitiesParseCommand<TEntity>;
1333
+ registerParseCommand<TEntity>(entityName: string, instance: IEntitiesParseCommand<TEntity>): void;
927
1334
  resolveSampleDownloadCommand<TEntity>(entityName: string): IEntitiesSampleDownloadCommand<TEntity>;
928
1335
  registerSampleDownloadCommand<TEntity>(entityName: string, instance: IEntitiesSampleDownloadCommand<TEntity>): void;
929
1336
  resolveGetAction<TEntity, TEntityId, TEntityDto>(entityName: string): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
@@ -952,10 +1359,70 @@ declare class EntitiesServiceLocator {
952
1359
  registerSampleDownloadAction<TEntity>(entityName: string, instance: IEntitiesSampleDownloadAction<TEntity>): void;
953
1360
  resolveImportAction<TEntity>(entityName: string): IEntitiesImportAction<TEntity>;
954
1361
  registerImportAction<TEntity>(entityName: string, instance: IEntitiesImportAction<TEntity>): void;
1362
+ resolveParseAction<TEntity>(entityName: string): IEntitiesParseAction<TEntity>;
1363
+ registerParseAction<TEntity>(entityName: string, instance: IEntitiesParseAction<TEntity>): void;
955
1364
  resolveQueryBuilder<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(entityName: string): IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>;
956
1365
  registerQueryBuilder<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(entityName: string, instance: IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>): void;
957
1366
  }
958
1367
 
1368
+ declare class EntityServiceLocator<TEntity, TEntityId> {
1369
+ private readonly services;
1370
+ private readonly entityName;
1371
+ constructor(services: EntitiesServiceLocator, entityName: string);
1372
+ getRootServices(): EntitiesServiceLocator;
1373
+ resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
1374
+ resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, any, unknown, any>;
1375
+ resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, any, unknown, any>;
1376
+ resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
1377
+ resolveEventsManager(): IEntityEventsManager<TEntity, TEntityId>;
1378
+ resolveVersioningProvider(): IEntityVersioningProvider;
1379
+ resolveEntityConfiguration(): IEntityConfiguration;
1380
+ resolveReplicaSyncManager(): IEntityReplicaSyncManager<TEntity>;
1381
+ resolveReplicaConfiguration(): IReplicasConfiguration<TEntity, TEntityId>;
1382
+ resolveReplicaDeleteManager<TEntityId>(): IEntityReplicaDeleteManager<TEntity, TEntityId>;
1383
+ resolveConnectorSyncManager(): IEntityConnectorSyncManager<TEntity>;
1384
+ resolveConnectorDeleteManager<TEntityId>(): IEntityConnectorDeleteManager<TEntity, TEntityId>;
1385
+ resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
1386
+ resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
1387
+ resolveSerializer(): IEntitySerializer<TEntity, TEntityId, unknown, unknown>;
1388
+ resolveSnapshotService<TEntity, TEntityId>(): IEntitySnapshotService<TEntityId, unknown> | undefined;
1389
+ resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
1390
+ resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
1391
+ resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
1392
+ resolveExistsQuery<TEntityFilters extends ISearchFilters>(): IEntityExistsQuery<TEntity, TEntityFilters>;
1393
+ resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
1394
+ resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
1395
+ resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
1396
+ resolveFindQuery<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
1397
+ resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityId, TEntityCreateData>;
1398
+ resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
1399
+ resolveUpsertCommand<TEntityUpdateData>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
1400
+ resolveUpsertByCommand<TEntityFilters extends ISearchFilters>(): IEntityUpsertByCommand<TEntity, TEntityFilters>;
1401
+ resolveDeleteCommand<TEntityId>(): IEntityDeleteCommand<TEntity, TEntityId>;
1402
+ resolveDeleteItemsCommand<TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(): IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>;
1403
+ resolveVersionCommand(): IEntityVersionCommand<TEntity, TEntityId>;
1404
+ resolveSampleDownloadCommand(): IEntitiesSampleDownloadCommand<TEntity>;
1405
+ resolveImportCommand(): IEntitiesImportCommand<TEntity>;
1406
+ resolveParseCommand(): IEntitiesParseCommand<TEntity>;
1407
+ resolveExportCommand<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
1408
+ resolveGetAction<TEntityId, TEntityDto>(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
1409
+ resolveExistsAction<TEntityFilters extends ISearchFilters>(): IEntityExistsAction<TEntity, TEntityFilters>;
1410
+ resolveCountAction<TEntityFilters extends ISearchFilters>(): IEntitiesCountAction<TEntity, TEntityFilters>;
1411
+ resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
1412
+ resolveVersionsSearchAction<TEntityListItemDto, TCursor>(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
1413
+ resolveCreateAction<TEntityCreateData, TEntityDto>(): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
1414
+ resolveUpdateAction<TEntityUpdateData, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
1415
+ resolveUpsertAction<TEntityUpdateData, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
1416
+ resolveDeleteAction(): IEntityDeleteAction<TEntity, TEntityId>;
1417
+ resolveDeleteItemsAction<TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting>(): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
1418
+ resolveImportAction(): IEntitiesImportAction<TEntity>;
1419
+ resolveParseAction(): IEntitiesParseAction<TEntity>;
1420
+ resolveSampleDownloadAction(): IEntitiesSampleDownloadAction<TEntity>;
1421
+ resolveExportAction<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
1422
+ resolveQueryBuilder<TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext>(): IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>;
1423
+ getEntityName(): string;
1424
+ }
1425
+
959
1426
  interface EntityAuthMiddlewareProps {
960
1427
  entityName: string;
961
1428
  }
@@ -1298,6 +1765,7 @@ declare abstract class EntitySerializer<TEntity, TEntityId, TEntitySearchParamet
1298
1765
  protected abstract getDefinition(context: TContext): Promise<EntitySerializerSheetDefinition<TSheetItem>>;
1299
1766
  protected abstract loadEntities(filters?: TEntitySearchParameters): Promise<TEntity[]>;
1300
1767
  protected abstract convertToSheetItems(entities: TEntity[]): Promise<TSheetItem[]>;
1768
+ protected validateSheetItem(item: TSheetItem, allItems: TSheetItem[], context: TContext): void;
1301
1769
  protected abstract importItem(item: TSheetItem, context: TContext, payload?: TPayload): Promise<EntityReference<TEntityId>>;
1302
1770
  protected getContext(): Promise<TContext>;
1303
1771
  private buildExportFile;
@@ -2348,40 +2816,6 @@ declare const createExpressFileResponse: (res: Response, file: {
2348
2816
  name: string;
2349
2817
  }) => StreamableFile;
2350
2818
 
2351
- type CacheTtl = {
2352
- value: number;
2353
- unit: "years" | "months" | "days" | "hours" | "minutes" | "seconds";
2354
- };
2355
- type CacheEntryInfo = {
2356
- instanceName: string;
2357
- key: string;
2358
- expiration: Date;
2359
- createdOn: Date;
2360
- updatedOn: Date;
2361
- };
2362
- type CacheEntryDetail = CacheEntryInfo & {
2363
- data: any;
2364
- };
2365
- interface ICacheInstance {
2366
- getInstanceName(): string;
2367
- getEntries(): Promise<CacheEntryInfo[]>;
2368
- getEntry(key: string): Promise<CacheEntryDetail | undefined>;
2369
- get<T>(key: string): Promise<T | undefined>;
2370
- set<T>(key: string, input: {
2371
- value: T;
2372
- ttl: CacheTtl;
2373
- }): Promise<void>;
2374
- retrieve<T>(key: string, input: {
2375
- ttl: CacheTtl;
2376
- valueFactory: () => Promise<T>;
2377
- }): Promise<T>;
2378
- delete(key: string): Promise<void>;
2379
- clear(): Promise<void>;
2380
- }
2381
- interface ICache {
2382
- getInstance(instanceName: string): Promise<ICacheInstance>;
2383
- }
2384
-
2385
2819
  type DynamoDbCacheInstanceOptions = {
2386
2820
  tableName: string;
2387
2821
  partitionKey?: string;
@@ -2694,6 +3128,19 @@ declare abstract class AppExceptionsFilterBase implements ExceptionFilter {
2694
3128
  protected abstract getCustomErrorStatusCode(exception: any): number | undefined;
2695
3129
  }
2696
3130
 
3131
+ declare class EntityParseValidationError {
3132
+ errorCode: string;
3133
+ }
3134
+ declare class EntityParseStatus {
3135
+ isValid: boolean;
3136
+ validationErrors: EntityParseValidationError[];
3137
+ }
3138
+ declare class EntityParseResult {
3139
+ rowIndex: number;
3140
+ item: any;
3141
+ status: EntityParseStatus;
3142
+ }
3143
+
2697
3144
  interface IPipelineStepOperationOptionsBuilder<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext> {
2698
3145
  withRollback(definition: RollbackOperationDefinition<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext>): IPipelineStepOperationOptionsBuilder<TOperationInput, TOperationOutput, TCurrentStepInput, TPipelineInput, TContext>;
2699
3146
  }
@@ -2796,77 +3243,6 @@ declare class AwsBucketModule {
2796
3243
  static forRoot(input: AwsBucketSettings): DynamicModule;
2797
3244
  }
2798
3245
 
2799
- type BucketFolderListInput = {
2800
- bucket: string;
2801
- maxResults?: number;
2802
- path?: string;
2803
- };
2804
- declare enum BucketItemType {
2805
- File = "file",
2806
- Folder = "folder"
2807
- }
2808
- type BucketContentItem = {
2809
- type: BucketItemType;
2810
- name: string;
2811
- path: string;
2812
- };
2813
- type BucketFolderContentResult = {
2814
- items: BucketContentItem[];
2815
- };
2816
- type BucketFolderListResult = {};
2817
- type BucketFolderCreateInput = {
2818
- bucket: string;
2819
- path: string;
2820
- };
2821
- type BucketFolderEnsureInput = {
2822
- bucket: string;
2823
- path: string;
2824
- };
2825
- type BucketFolderExistsInput = {
2826
- bucket: string;
2827
- path: string;
2828
- };
2829
- type BucketFileDownloadInput = {
2830
- bucket: string;
2831
- filePath: string;
2832
- };
2833
- type BucketFilePublicUrlCreateInput = {
2834
- bucket: string;
2835
- filePath: string;
2836
- expirationMinutes: number;
2837
- };
2838
- type BucketFileUploadInput = {
2839
- bucket: string;
2840
- filePath: string;
2841
- content: Buffer;
2842
- contentType?: string;
2843
- };
2844
- type BucketFileDeleteInput = {
2845
- bucket: string;
2846
- filePath: string;
2847
- };
2848
- type BucketFileCopyInput = {
2849
- bucket: string;
2850
- filePath: string;
2851
- targetBucket: string;
2852
- targetPath: string;
2853
- };
2854
- type BucketFileMoveInput = {
2855
- bucket: string;
2856
- filePath: string;
2857
- targetBucket: string;
2858
- targetPath: string;
2859
- };
2860
- interface IBucketProvider {
2861
- folderList(input: BucketFolderListInput): Promise<BucketFolderListResult>;
2862
- folderEnsure(input: BucketFolderEnsureInput): Promise<void>;
2863
- folderExists(input: BucketFolderExistsInput): Promise<boolean>;
2864
- fileDownload(input: BucketFileDownloadInput): Promise<Buffer>;
2865
- filePublicUrlCreate(input: BucketFilePublicUrlCreateInput): Promise<string>;
2866
- fileUpload(input: BucketFileUploadInput): Promise<void>;
2867
- fileDelete(input: BucketFileDeleteInput): Promise<void>;
2868
- }
2869
-
2870
3246
  declare class AwsS3BucketProvider implements IBucketProvider {
2871
3247
  private readonly client;
2872
3248
  constructor();
@@ -3362,10 +3738,6 @@ interface IAppInitializer {
3362
3738
  initialize(app: INestApplicationContext): Promise<void>;
3363
3739
  }
3364
3740
 
3365
- interface IEntitySnapshotService<TEntityId, TEntitySnapshot> {
3366
- getSnapshot(id: TEntityId): Promise<TEntitySnapshot>;
3367
- }
3368
-
3369
3741
  type EntitiesMapOperationsInput<TEntitiesQueryBuilder> = {
3370
3742
  queryBuilder: TEntitiesQueryBuilder;
3371
3743
  settings: EntityManagerSettings;
@@ -3402,46 +3774,6 @@ interface IEntityManagerServiceCollection<TEntity, TEntityId> {
3402
3774
  }): IEntityManagerServiceCollection<TEntity, TEntityId>;
3403
3775
  }
3404
3776
 
3405
- interface IEmailTemplateMiddleware {
3406
- processPayload(payload: unknown): Promise<unknown>;
3407
- }
3408
- interface IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload = TPayload> {
3409
- processPayload(payload: TPayload): Promise<TAugmentedPayload>;
3410
- getTemplateData(payload: TAugmentedPayload): Promise<TTemplateData>;
3411
- }
3412
- interface IEmailTemplatesCollection {
3413
- registerTemplate(id: string, template: IEmailTemplate<unknown, unknown, unknown>): void;
3414
- getTemplate<TTemplateData, TPayload, TAugmentedPayload = TPayload>(id: string): IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload>;
3415
- }
3416
- type TemplatedEmailInput<TPayload> = {
3417
- from?: string;
3418
- to?: string[];
3419
- cc?: string[];
3420
- bcc?: string[];
3421
- subjectTemplate?: string;
3422
- templateId: string;
3423
- languageCode: string;
3424
- payload: TPayload;
3425
- };
3426
- interface HtmlEmailInput<TPayload> {
3427
- replyTo?: string;
3428
- from?: string;
3429
- to?: string[];
3430
- cc?: string[];
3431
- bcc?: string[];
3432
- subjectTemplate: string;
3433
- bodyTemplate: string;
3434
- payload: TPayload;
3435
- }
3436
- interface IEmailProvider<TTemplateData> {
3437
- sendTemplatedEmail<TPayload, TAugmentedPayload>(input: TemplatedEmailInput<TPayload>, template: IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload>): Promise<void>;
3438
- sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
3439
- }
3440
- interface IEmailLogger {
3441
- logTemplatedEmail<TPayload>(input: TemplatedEmailInput<TPayload>): Promise<void>;
3442
- logHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
3443
- }
3444
-
3445
3777
  declare class EntityManagerException extends Error {
3446
3778
  constructor(message: string);
3447
3779
  }
@@ -3483,74 +3815,6 @@ declare class MissingEntityIdError extends EntityManagerException {
3483
3815
  constructor();
3484
3816
  }
3485
3817
 
3486
- type FileData = {
3487
- content: Buffer;
3488
- contentType: string;
3489
- fileName: string;
3490
- folderPath: string;
3491
- metadata?: Record<string, any>;
3492
- };
3493
- type FileDownloadUrl = {
3494
- downloadUrl: string;
3495
- contentType: string;
3496
- fileName: string;
3497
- };
3498
- type FileReference = {
3499
- fileId: string;
3500
- reference: string;
3501
- providerId: string;
3502
- };
3503
- interface IFileManager {
3504
- uploadFile(file: FileData): Promise<FileReference>;
3505
- getFileContent(fileId: string): Promise<FileData>;
3506
- getFileDownloadUrl(fileId: string): Promise<FileDownloadUrl>;
3507
- }
3508
- type FilesReferenceData = {
3509
- reference: string;
3510
- providerId: string;
3511
- metadata?: Record<string, any>;
3512
- fileName: string;
3513
- filePath: string;
3514
- fileSize: number;
3515
- contentType: string;
3516
- };
3517
- type FileReferenceRecord = FilesReferenceData & {
3518
- fileId: string;
3519
- createdOn: Date;
3520
- updatedOn: Date;
3521
- };
3522
- interface IFilesReferenceRepository {
3523
- searchReference({ reference, providerId, }: {
3524
- reference: string;
3525
- providerId: string;
3526
- }): Promise<FileReferenceRecord>;
3527
- getReference(fileId: string): Promise<FileReferenceRecord>;
3528
- createReference(file: FilesReferenceData): Promise<FileReferenceRecord>;
3529
- updateReference(fileId: string, file: FilesReferenceData): Promise<FileReferenceRecord>;
3530
- deleteReference(fileId: string): Promise<void>;
3531
- }
3532
- type FileProviderReference = {
3533
- reference: string;
3534
- };
3535
- type FileProviderUploadData = {
3536
- fileName: string;
3537
- content: Buffer;
3538
- contentType: string;
3539
- };
3540
- type FileProviderDownloadData = {
3541
- content: Buffer;
3542
- };
3543
- type FileProviderDownloadUrl = {
3544
- downloadUrl: string;
3545
- };
3546
- interface IFileProvider {
3547
- getProviderId(): string;
3548
- uploadFile(file: FileProviderUploadData): Promise<FileProviderReference>;
3549
- deleteFile(reference: FileProviderReference): Promise<void>;
3550
- downloadFile(reference: FileProviderReference): Promise<FileProviderDownloadData>;
3551
- getFileProviderDownloadUrl(reference: FileProviderReference): Promise<FileProviderDownloadUrl>;
3552
- }
3553
-
3554
3818
  type FilterExpression<TEntity> = (entity: TEntity) => boolean;
3555
3819
 
3556
3820
  type LocalizedMap<T> = {
@@ -3558,193 +3822,6 @@ type LocalizedMap<T> = {
3558
3822
  };
3559
3823
  type LocalizedTexts = LocalizedMap<string>;
3560
3824
 
3561
- type MediaUploadInput = {
3562
- fileName: string;
3563
- content: Buffer;
3564
- contentType?: string;
3565
- folderId?: string;
3566
- };
3567
- type MediaReference = {
3568
- ref: string;
3569
- };
3570
- type MediaItemReference = {
3571
- id: string;
3572
- ref: string;
3573
- folderId?: string;
3574
- };
3575
- type IMediaProvider = {
3576
- mediaUpload(input: MediaUploadInput): Promise<MediaReference>;
3577
- mediaDelete(input: MediaReference): Promise<void>;
3578
- mediaDownload(input: MediaReference): Promise<Buffer>;
3579
- getFileName(input: MediaReference): string;
3580
- getProviderId(): string;
3581
- };
3582
- type MediaReferenceRecord = {
3583
- id: string;
3584
- ref: string;
3585
- folderId?: string;
3586
- createdOn: Date;
3587
- updatedOn: Date;
3588
- };
3589
- type MediaReferenceCreateInput = {
3590
- media: MediaReference;
3591
- fileName: string;
3592
- contentType?: string;
3593
- folderId?: string;
3594
- providerId: string;
3595
- };
3596
- type IMediaReferenceRepository = {
3597
- getReference(file: MediaReference): Promise<MediaReferenceRecord>;
3598
- createReference(input: MediaReferenceCreateInput): Promise<MediaReferenceRecord>;
3599
- updateReferenceFolder(file: MediaReference, folderId: string | undefined): Promise<void>;
3600
- deleteReference(file: MediaReference): Promise<void>;
3601
- getFolderReferences(folderId?: string): Promise<MediaReferenceRecord[]>;
3602
- };
3603
- type MediaFolderRecord = {
3604
- id: string;
3605
- name: string;
3606
- createdOn: Date;
3607
- updatedOn: Date;
3608
- };
3609
- type IMediaFolderRepository = {
3610
- folderCreate(input: {
3611
- name: string;
3612
- parentId?: string;
3613
- organizationId?: string;
3614
- }): Promise<MediaFolderRecord>;
3615
- folderRename(id: string, name: string): Promise<void>;
3616
- folderMove(id: string, parentId?: string): Promise<void>;
3617
- folderDelete(id: string): Promise<void>;
3618
- foldersList(parentId?: string): Promise<MediaFolderRecord[]>;
3619
- folderFind(name: string, parentId?: string): Promise<MediaFolderRecord>;
3620
- };
3621
- type MediaFolderCreateInput = {
3622
- folderName: string;
3623
- parentId?: string;
3624
- organizationId?: string;
3625
- };
3626
- type MediaFolderReference = {
3627
- id: string;
3628
- name: string;
3629
- };
3630
- type MediaFolderRenameInput = {
3631
- id: string;
3632
- folderName?: string;
3633
- };
3634
- type MediaFolderMoveInput = {
3635
- id: string;
3636
- folderId?: string;
3637
- };
3638
- type MediaInfo = {
3639
- ref: string;
3640
- fileName: string;
3641
- };
3642
- type MediaFolderEnsureInput = {
3643
- path: string[];
3644
- organizationId?: string;
3645
- };
3646
- type IMediaLibraryManager = {
3647
- mediaUpload(input: MediaUploadInput): Promise<MediaItemReference>;
3648
- mediaDelete(input: MediaReference): Promise<void>;
3649
- mediaDownload(input: MediaReference): Promise<Buffer>;
3650
- folderEnsure(input: MediaFolderEnsureInput): Promise<MediaFolderReference>;
3651
- folderCreate(input: MediaFolderCreateInput): Promise<MediaFolderReference>;
3652
- folderDelete(input: MediaFolderReference): Promise<void>;
3653
- folderMove(input: MediaFolderMoveInput): Promise<void>;
3654
- folderRename(input: MediaFolderRenameInput): Promise<void>;
3655
- foldersList(parent?: MediaFolderReference): Promise<MediaFolderReference[]>;
3656
- getFolderMedia(input: MediaFolderReference): Promise<MediaInfo[]>;
3657
- };
3658
-
3659
- type LockItem = {
3660
- uid: string;
3661
- lockedBy?: string;
3662
- createdOn: Date;
3663
- };
3664
- type LockAcquireInput = {
3665
- lockUid: string;
3666
- requestedBy?: string;
3667
- };
3668
- type LockAcquireResult = {
3669
- available: boolean;
3670
- lockItem: LockItem;
3671
- };
3672
- type LockReleaseInput = {
3673
- lockUid: string;
3674
- };
3675
- declare class LockNotFoundError extends Error {
3676
- }
3677
- interface ILockRepository {
3678
- acquireLock(input: LockAcquireInput): Promise<LockAcquireResult>;
3679
- releaseLock(input: LockReleaseInput): Promise<void>;
3680
- getLock(lockUid: string): Promise<LockItem | undefined>;
3681
- }
3682
- interface ExecuteSequentialInput<T> {
3683
- lockUid: string;
3684
- requestedBy?: string;
3685
- lockTimeout?: number;
3686
- lockPolling?: number;
3687
- operation: () => Promise<T>;
3688
- }
3689
- declare class ExclusiveOperationResult<T> {
3690
- skipped: boolean;
3691
- result?: T;
3692
- }
3693
- interface ExecuteExclusiveInput<T> {
3694
- lockUid: string;
3695
- requestedBy?: string;
3696
- lockTimeout?: number;
3697
- operation: () => Promise<T>;
3698
- }
3699
- interface IOperationLockService {
3700
- executeSequential<T>(input: ExecuteSequentialInput<T>): Promise<T>;
3701
- executeExclusive<T>(input: ExecuteExclusiveInput<T>): Promise<ExclusiveOperationResult<T>>;
3702
- }
3703
-
3704
- type AppSecretType = "string" | "number" | "boolean" | "json";
3705
- type AppSecretDefinition = {
3706
- key: string;
3707
- type: AppSecretType;
3708
- hidden: boolean;
3709
- defaultValue?: any;
3710
- };
3711
- type AppSecret<TValue> = {
3712
- key: string;
3713
- value: TValue;
3714
- type: AppSecretType;
3715
- hidden: boolean;
3716
- timestamp: number;
3717
- };
3718
- type AppSecretInput<TValue> = {
3719
- key: string;
3720
- value: TValue;
3721
- };
3722
- type AppSecretsPageMetadata = {
3723
- tags?: {
3724
- key: string;
3725
- value: string;
3726
- }[];
3727
- };
3728
- interface ISecretsProvider {
3729
- getSecrets(pageName: string): Promise<AppSecret<any>[]>;
3730
- setSecret<TValue>(pageName: string, secret: AppSecret<TValue>): Promise<void>;
3731
- defineSecret(pageName: string, definition: AppSecretDefinition): Promise<void>;
3732
- pageInitialize(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
3733
- pageEnsure(pageName: string, metadata: AppSecretsPageMetadata): Promise<void>;
3734
- pageExists(pageName: string): Promise<boolean>;
3735
- }
3736
-
3737
- interface IEventLog<TPayload> {
3738
- type: string;
3739
- payload?: TPayload;
3740
- userId?: string;
3741
- userName?: string;
3742
- timestamp: Date;
3743
- }
3744
- interface IEventsTracker<TEventLog extends IEventLog<unknown>> {
3745
- track(log: TEventLog): Promise<void>;
3746
- }
3747
-
3748
3825
  declare const createContainer: () => IEntityManagerServiceRoot;
3749
3826
 
3750
3827
  declare const toEntitiesImportInput: <TPayload>(request: {
@@ -3800,4 +3877,4 @@ declare const renderHandlebarsTemplate: <TContext extends object>(input: {
3800
3877
 
3801
3878
  declare const newUuid: () => string;
3802
3879
 
3803
- export { AUTHENTICATION_EVENTS_NAMESPACE, ApiKeyAccess, ApiKeyRouteOptions, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppPermission, AppRole, AppSecret, AppSecretDefinition, AppSecretInput, AppSecretType, AppSecretsPageMetadata, AppSession, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationModuleSettings, AuthenticationService, AwsBatchInfrastructureParams, AwsBatchInvocationParams, AwsBatchSettings, AwsBucketModule, AwsBucketSettings, AwsDynamoDbModule, AwsDynamoDbSettings, AwsEmailModule, AwsJobComputePlatformType, AwsJobDefinition, AwsJobEnvironmentVariable, AwsJobsModule, AwsMediaSettings, AwsS3BucketError, AwsS3BucketProvider, AwsS3MediaError, AwsS3MediaModule, AwsS3MediaProvider, AwsSecretsModule, AwsSecretsProvider, AwsSecretsSettings, AwsSesEmailTemplate, AwsSesEmailTemplateData, AwsSesSettings, BooleanFacetsType, BucketContentItem, BucketFileCopyInput, BucketFileDeleteInput, BucketFileDownloadInput, BucketFileMoveInput, BucketFilePublicUrlCreateInput, BucketFileUploadInput, BucketFolderContentResult, BucketFolderCreateInput, BucketFolderEnsureInput, BucketFolderExistsInput, BucketFolderListInput, BucketFolderListResult, BucketItemType, BucketProviderProps, CacheEntryDetail, CacheEntryInfo, CacheInstanceProps, CacheService, CacheTtl, ClassType, ConnectorMode, ConnectorOptions, CurrentUser, CurrentUserData, CustomDiscoveryModule, CustomDiscoveryService, DateFacetsType, DeepPartial, DynamoDbCacheInstance, DynamoDbCacheItem, DynamoDbCollection, EmailLoggerProps, EmailProviderProps, EmailService, EmailTemplateMiddlewareProps, EmailTemplateProps, EmailVerifyEmailPayload, EmailVerifyTokenPayload, EntitiesExportFile, EntitiesExportInput, EntitiesExportOptions, EntitiesExportResult, EntitiesImportExportSettings, EntitiesImportInput, EntitiesImportResult, EntitiesImportStatistics, EntitiesSampleDownloadOptions, EntitiesSampleDownloadResult, EntityActionsProps, EntityAdapterProps, EntityAuthMiddlewareProps, EntityConnectorMapperProps, EntityConnectorProps, EntityConverterProps, EntityExportBucketSettings, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerService, EntityManagerSettings, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityReference, EntityRepositoryProps, EntitySeeder, EntitySeederProps, EntitySerializationFormat, EntitySerializer, EntitySerializerColumnDefinition, EntitySerializerProps, EntitySerializerSheetDefinition, EntitySnapshotService, EntitySnapshotServiceProps, EntityVersionInput, EntityVersionOperation, EntityVersioningProviderProps, EnumType, EventsService, EventsTrackerProps, ExclusiveOperationResult, ExecuteExclusiveInput, ExecuteSequentialInput, FacetBuilderInput, FacetRelations, FacetType, FacetValueType, FileData, FileDownloadUrl, FileProviderDownloadData, FileProviderDownloadUrl, FileProviderProps, FileProviderReference, FileProviderUploadData, FileReference, FileReferenceRecord, FileReferenceRepositoryProps, FilesManager, FilesReferenceData, FilterExpression, GlobalAuthenticationMiddlewareProps, HtmlEmailInput, IAppCompany, IAppDirectory, IAppDivision, IAppInitializer, IAppOrganization, IAppRole, IAppSessionService, IAppTenant, IAppUser, IAppUserGroup, IAppUserProfile, IAuthApiKey, IAuthApiKeysService, IAuthDirectory, IAuthOrganization, IAuthOrganizationalUnit, IAuthPermission, IAuthPermissionService, IAuthRole, IAuthRoleService, IAuthService, IAuthTenant, IAuthUser, IAuthUserContext, IAuthUserProfile, IAuthUserRolesService, IAuthUserService, IAuthUserTokenData, IAuthenticationContext, IAuthenticationContextProvider, IAuthenticationData, IAuthenticationMiddleware, IAuthenticationOrganizationalUnit, IAuthenticationUserPermission, IAuthenticationUserRole, IAuthorizationResult, IBucketProvider, ICache, ICacheDatabaseItem, ICacheInstance, IEmailLogger, IEmailProvider, IEmailTemplate, IEmailTemplateMiddleware, IEmailTemplatesCollection, IEntitiesCountAction, IEntitiesCountQuery, IEntitiesDeleteAction, IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesDeleteResult$1 as IEntitiesDeleteResult, IEntitiesExportAction, IEntitiesExportCommand, IEntitiesImportAction, IEntitiesImportCommand, IEntitiesQueryBuilder, IEntitiesSampleDownloadAction, IEntitiesSampleDownloadCommand, IEntitiesSearchAction, IEntitiesSearchQuery, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntityUpsertByCommand as IEntitiesUpsertByCommand, IEntityUpsertByParameters as IEntitiesUpsertByParameters, IEntityUpsertByResult as IEntitiesUpsertByResult, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConnector, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityExistsAction, IEntityExistsQuery, IEntityFacet, IEntityFacetValue, IEntityFacets, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntitySerializer, IEntitySnapshotService, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IEntityVersionCommand, IEntityVersioningProvider, IEntityVersioningResults, IEntityVersionsCursor, IEntityVersionsFilters, IEntityVersionsReference, IEntityVersionsResultsPaging, IEntityVersionsSearchAction, IEntityVersionsSearchInput, IEntityVersionsSearchParameters, IEntityVersionsSearchQuery, IEntityVersionsSearchResults, IEntityVersionsSorting, IEventLog, IEventsTracker, IFileManager, IFileProvider, IFilesReferenceRepository, IFullTextQuery, IJobDefinitionsRepository, IJobInstancesRepository, ILockRepository, IMediaFolderRepository, IMediaLibraryManager, IMediaProvider, IMediaReferenceRepository, IMultiCompanyEntity, IMultiOrganizationEntity, IMultiTenantEntity, IOperationLockService, IPipelineStepBuilder, IPipelineStepOperationBuilder, IPipelineStepOperationOptionsBuilder, IPipelineTemplateBuilder, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchQueryRelations, ISearchQueryRelationsProperty, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, ISecretsProvider, ITraverseFilters, InMemoryBucketProvider, InMemoryEmailProvider, InMemoryFileProvider, InMemoryMediaProvider, InMemorySecretsProvider, InvalidCredentialsError, JobConcurrency, JobDefinition, JobInstance, JobProviderState$1 as JobProviderState, JobRunType, JobSchedule, JobStatus, JobTriggerInput, JobsModule, JobsService, JobsSettings, LocalizedMap, LocalizedTexts, LockAcquireInput, LockAcquireResult, LockItem, LockNotFoundError, LockReleaseInput, MediaFolderCreateInput, MediaFolderEnsureInput, MediaFolderMoveInput, MediaFolderRecord, MediaFolderReference, MediaFolderRenameInput, MediaFolderRepositoryProps, MediaInfo, MediaItemReference, MediaLibraryService, MediaProviderProps, MediaReference, MediaReferenceCreateInput, MediaReferenceRecord, MediaReferenceRepositoryProps, MediaUploadInput, MemberOf, MessagingEmailSentPayload, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NonNullable$1 as NonNullable, NumberFacetsType, OperationDefinition, OperationLockService, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PasswordResetEmailPayload, Permissions, PipelineCompletedStepState, PipelineController, PipelineCurrentStepState, PipelineDefinition, PipelineErrorType, PipelineInvocationError, PipelineOperationError, PipelineOperationResult, PipelineOperationResultType, PipelineOperationRollbackResult, PipelineOperationRollbackResultType, PipelineResult, PipelineResultType, PipelineStatus, PipelineStep, PipelineStepErrorType, PipelineStepOperation, PipelineStepReference, PipelineStepResult, PipelineStepResultType, PipelineStepRollbackResult, PipelineStepRollbackResultType, PipelineStepState, PipelineTemplateProps, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, RegistrationEmailPayload, ReplicaConfiguration, ReplicaOptions, ReplicationMode, Roles, RolesGuardOptions, RollbackOperationDefinition, RuntimeErrorInformation, SanityMediaError, SanityMediaModule, SanityMediaProvider, SanityMediaSettings, SecretsService, SendgridEmailModule, SendgridEmailTemplate, SendgridEmailTemplateData, SendgridSettings, SendgridTemplateBaseData, SendgridTemplateType, SortDirection$1 as SortDirection, SortingType, StringFacetsType, TemplatedEmailInput, TestingAppSessionService, TrackingService, TypeOrmQueryBuilder, TypeOrmRepository, TypeormCacheInstance, TypeormOperationLockRepository, UserCreationError, UserCreationInput, UserCreationResult, UserDeleteInput, UserDisableInput, UserEnableInput, UserLoginEventPayload, UserLoginInput, UserLoginResult, UserPasswordChangeInput, UserPasswordResetCompleteInput, UserPasswordResetCompletedEventPayload, UserPasswordResetRequestCallbackTemplate, UserPasswordResetRequestInput, UserPasswordResetRequestResult, UserPasswordResetStartedEventPayload, UserPasswordResetTokenPayload, UserProfile, UserRegisterCallbackTemplate, UserRegistrationCompletedEventPayload, UserRegistrationError, UserRegistrationInput, UserRegistrationResult, UserRegistrationStartedEventPayload, UserTokenVerifyInput, UserTokenVerifyResult, UserVerifyCompleteInput, UserVerifyRequestCallbackTemplate, UserVerifyRequestInput, UserVerifyRequestResult, WpApiKeysService, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpCacheInstance, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEmailTemplateMiddleware, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConnectorMapper, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpGlobalAuthenticationMiddleware, WpMediaFolderRepository, WpMediaProvider, WpMediaReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, awsBatchSettings, buildPermissionsGuard, buildProviderToken, buildRolesGuard, createContainer, createExpressFileResponse, getEntityManagerProviderToken, getLocalizedText, newUuid, renderHandlebarsTemplate, sessionStorage, toEntitiesImportInput };
3880
+ export { AUTHENTICATION_EVENTS_NAMESPACE, ApiKeyAccess, ApiKeyRouteOptions, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppPermission, AppRole, AppSecret, AppSecretDefinition, AppSecretInput, AppSecretType, AppSecretsPageMetadata, AppSession, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationModuleSettings, AuthenticationService, AwsBatchInfrastructureParams, AwsBatchInvocationParams, AwsBatchSettings, AwsBucketModule, AwsBucketSettings, AwsDynamoDbModule, AwsDynamoDbSettings, AwsEmailModule, AwsJobComputePlatformType, AwsJobDefinition, AwsJobEnvironmentVariable, AwsJobsModule, AwsMediaSettings, AwsS3BucketError, AwsS3BucketProvider, AwsS3MediaError, AwsS3MediaModule, AwsS3MediaProvider, AwsSecretsModule, AwsSecretsProvider, AwsSecretsSettings, AwsSesEmailTemplate, AwsSesEmailTemplateData, AwsSesSettings, BooleanFacetsType, BucketContentItem, BucketFileCopyInput, BucketFileDeleteInput, BucketFileDownloadInput, BucketFileMoveInput, BucketFilePublicUrlCreateInput, BucketFileUploadInput, BucketFolderContentResult, BucketFolderCreateInput, BucketFolderEnsureInput, BucketFolderExistsInput, BucketFolderListInput, BucketFolderListResult, BucketItemType, BucketProviderProps, CacheEntryDetail, CacheEntryInfo, CacheInstanceProps, CacheService, CacheTtl, ClassType, ConnectorMode, ConnectorOptions, CurrentUser, CurrentUserData, CustomDiscoveryModule, CustomDiscoveryService, DateFacetsType, DeepPartial, DynamoDbCacheInstance, DynamoDbCacheItem, DynamoDbCollection, EmailLoggerProps, EmailProviderProps, EmailService, EmailTemplateMiddlewareProps, EmailTemplateProps, EmailVerifyEmailPayload, EmailVerifyTokenPayload, EntitiesExportFile, EntitiesExportInput, EntitiesExportOptions, EntitiesExportResult, EntitiesImportExportSettings, EntitiesImportInput, EntitiesImportResult, EntitiesImportStatistics, EntitiesParseError, EntitiesParseInput, EntitiesParseInputFile, EntitiesParseResult, EntitiesParseResultItem, EntitiesSampleDownloadOptions, EntitiesSampleDownloadResult, EntityActionsProps, EntityAdapterProps, EntityAuthMiddlewareProps, EntityConnectorMapperProps, EntityConnectorProps, EntityConverterProps, EntityExportBucketSettings, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerService, EntityManagerSettings, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityParseResult, EntityParseValidationError, EntityProps, EntityQueryBuilderProps, EntityReference, EntityRepositoryProps, EntitySeeder, EntitySeederProps, EntitySerializationFormat, EntitySerializer, EntitySerializerColumnDefinition, EntitySerializerProps, EntitySerializerSheetDefinition, EntitySnapshotService, EntitySnapshotServiceProps, EntityVersionInput, EntityVersionOperation, EntityVersioningProviderProps, EnumType, EventsService, EventsTrackerProps, ExclusiveOperationResult, ExecuteExclusiveInput, ExecuteSequentialInput, FacetBuilderInput, FacetRelations, FacetType, FacetValueType, FileData, FileDownloadUrl, FileProviderDownloadData, FileProviderDownloadUrl, FileProviderProps, FileProviderReference, FileProviderUploadData, FileReference, FileReferenceRecord, FileReferenceRepositoryProps, FilesManager, FilesReferenceData, FilterExpression, GlobalAuthenticationMiddlewareProps, HtmlEmailInput, IAppCompany, IAppDirectory, IAppDivision, IAppInitializer, IAppOrganization, IAppRole, IAppSessionService, IAppTenant, IAppUser, IAppUserGroup, IAppUserProfile, IAuthApiKey, IAuthApiKeysService, IAuthDirectory, IAuthOrganization, IAuthOrganizationalUnit, IAuthPermission, IAuthPermissionService, IAuthRole, IAuthRoleService, IAuthService, IAuthTenant, IAuthUser, IAuthUserContext, IAuthUserProfile, IAuthUserRolesService, IAuthUserService, IAuthUserTokenData, IAuthenticationContext, IAuthenticationContextProvider, IAuthenticationData, IAuthenticationMiddleware, IAuthenticationOrganizationalUnit, IAuthenticationUserPermission, IAuthenticationUserRole, IAuthorizationResult, IBucketProvider, ICache, ICacheDatabaseItem, ICacheInstance, IEmailLogger, IEmailProvider, IEmailTemplate, IEmailTemplateMiddleware, IEmailTemplatesCollection, IEntitiesCountAction, IEntitiesCountQuery, IEntitiesDeleteAction, IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesDeleteResult$1 as IEntitiesDeleteResult, IEntitiesExportAction, IEntitiesExportCommand, IEntitiesImportAction, IEntitiesImportCommand, IEntitiesParseAction, IEntitiesParseCommand, IEntitiesQueryBuilder, IEntitiesSampleDownloadAction, IEntitiesSampleDownloadCommand, IEntitiesSearchAction, IEntitiesSearchQuery, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConnector, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityExistsAction, IEntityExistsQuery, IEntityFacet, IEntityFacetValue, IEntityFacets, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntitySerializer, IEntitySnapshotService, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertByCommand, IEntityUpsertByParameters, IEntityUpsertByResult, IEntityUpsertCommand, IEntityVersionCommand, IEntityVersioningProvider, IEntityVersioningResults, IEntityVersionsCursor, IEntityVersionsFilters, IEntityVersionsReference, IEntityVersionsResultsPaging, IEntityVersionsSearchAction, IEntityVersionsSearchInput, IEntityVersionsSearchParameters, IEntityVersionsSearchQuery, IEntityVersionsSearchResults, IEntityVersionsSorting, IEventLog, IEventsTracker, IFileManager, IFileProvider, IFilesReferenceRepository, IFullTextQuery, IJobDefinitionsRepository, IJobInstancesRepository, ILockRepository, IMediaFolderRepository, IMediaLibraryManager, IMediaProvider, IMediaReferenceRepository, IMultiCompanyEntity, IMultiOrganizationEntity, IMultiTenantEntity, IOperationLockService, IPipelineStepBuilder, IPipelineStepOperationBuilder, IPipelineStepOperationOptionsBuilder, IPipelineTemplateBuilder, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchQueryRelations, ISearchQueryRelationsProperty, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, ISecretsProvider, ITraverseFilters, InMemoryBucketProvider, InMemoryEmailProvider, InMemoryFileProvider, InMemoryMediaProvider, InMemorySecretsProvider, InvalidCredentialsError, JobConcurrency, JobDefinition, JobInstance, JobProviderState$1 as JobProviderState, JobRunType, JobSchedule, JobStatus, JobTriggerInput, JobsModule, JobsService, JobsSettings, LocalizedMap, LocalizedTexts, LockAcquireInput, LockAcquireResult, LockItem, LockNotFoundError, LockReleaseInput, MediaFolderCreateInput, MediaFolderEnsureInput, MediaFolderMoveInput, MediaFolderRecord, MediaFolderReference, MediaFolderRenameInput, MediaFolderRepositoryProps, MediaInfo, MediaItemReference, MediaLibraryService, MediaProviderProps, MediaReference, MediaReferenceCreateInput, MediaReferenceRecord, MediaReferenceRepositoryProps, MediaUploadInput, MemberOf, MessagingEmailSentPayload, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NonNullable$1 as NonNullable, NumberFacetsType, OperationDefinition, OperationLockService, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PasswordResetEmailPayload, Permissions, PipelineCompletedStepState, PipelineController, PipelineCurrentStepState, PipelineDefinition, PipelineErrorType, PipelineInvocationError, PipelineOperationError, PipelineOperationResult, PipelineOperationResultType, PipelineOperationRollbackResult, PipelineOperationRollbackResultType, PipelineResult, PipelineResultType, PipelineStatus, PipelineStep, PipelineStepErrorType, PipelineStepOperation, PipelineStepReference, PipelineStepResult, PipelineStepResultType, PipelineStepRollbackResult, PipelineStepRollbackResultType, PipelineStepState, PipelineTemplateProps, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, RegistrationEmailPayload, ReplicaConfiguration, ReplicaOptions, ReplicationMode, Roles, RolesGuardOptions, RollbackOperationDefinition, RuntimeErrorInformation, SanityMediaError, SanityMediaModule, SanityMediaProvider, SanityMediaSettings, SecretsService, SendgridEmailModule, SendgridEmailTemplate, SendgridEmailTemplateData, SendgridSettings, SendgridTemplateBaseData, SendgridTemplateType, SortDirection$1 as SortDirection, SortingType, StringFacetsType, TemplatedEmailInput, TestingAppSessionService, TrackingService, TypeOrmQueryBuilder, TypeOrmRepository, TypeormCacheInstance, TypeormOperationLockRepository, UserCreationError, UserCreationInput, UserCreationResult, UserDeleteInput, UserDisableInput, UserEnableInput, UserLoginEventPayload, UserLoginInput, UserLoginResult, UserPasswordChangeInput, UserPasswordResetCompleteInput, UserPasswordResetCompletedEventPayload, UserPasswordResetRequestCallbackTemplate, UserPasswordResetRequestInput, UserPasswordResetRequestResult, UserPasswordResetStartedEventPayload, UserPasswordResetTokenPayload, UserProfile, UserRegisterCallbackTemplate, UserRegistrationCompletedEventPayload, UserRegistrationError, UserRegistrationInput, UserRegistrationResult, UserRegistrationStartedEventPayload, UserTokenVerifyInput, UserTokenVerifyResult, UserVerifyCompleteInput, UserVerifyRequestCallbackTemplate, UserVerifyRequestInput, UserVerifyRequestResult, WpApiKeysService, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpCacheInstance, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEmailTemplateMiddleware, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConnectorMapper, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpGlobalAuthenticationMiddleware, WpMediaFolderRepository, WpMediaProvider, WpMediaReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, awsBatchSettings, buildPermissionsGuard, buildProviderToken, buildRolesGuard, createContainer, createExpressFileResponse, getEntityManagerProviderToken, getLocalizedText, newUuid, renderHandlebarsTemplate, sessionStorage, toEntitiesImportInput };