@punks/backend-entity-manager 0.0.460 → 0.0.461

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -392,93 +392,19 @@ interface IEntityUpsertByCommand<TEntity, TEntityFilters extends ISearchFilters>
392
392
  execute(params: IEntityUpsertByParameters<TEntity, TEntityFilters>): Promise<IEntityUpsertByResult>;
393
393
  }
394
394
 
395
- interface IEntityFacetValue<T> {
396
- value: T;
397
- label: string;
398
- count: number;
399
- }
400
- interface IEntityFacet<T> {
401
- values: IEntityFacetValue<T>[];
402
- }
403
- interface IEntityFacets {
404
- }
405
- interface IEntitySearchResults<TEntity, TSearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TResult, TSorting extends SortingType, TCursor, TFacets> {
406
- request: TSearchParameters;
407
- items: TResult[];
408
- Facets?: TFacets;
409
- paging?: ISearchResultsPaging<TCursor>;
410
- }
411
- interface ISearchResultsPaging<TCursor> {
412
- pageIndex: number;
413
- pageSize: number;
414
- totPages: number;
415
- nextPageCursor?: TCursor;
416
- currentPageCursor?: TCursor;
417
- prevPageCursor?: TCursor;
395
+ declare class PermissionsChecker<TUserContext> {
396
+ hasAny(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
397
+ hasAll(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
418
398
  }
419
399
 
420
- interface IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto> {
421
- execute(input: TEntityCreateDto): Promise<TEntityDto>;
422
- }
423
- interface IEntityDeleteAction<TEntity, TEntityId> {
424
- execute(id: TEntityId): Promise<void>;
425
- }
426
- interface IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting> {
427
- execute(params: TEntitiesDeleteParameters): Promise<void>;
428
- }
429
- interface IEntityGetAction<TEntity, TEntityId, TEntityDto> {
430
- execute(id: TEntityId): Promise<TEntityDto | undefined>;
431
- }
432
- interface IEntityGetAction<TEntity, TEntityId, TEntityDto> {
433
- execute(id: TEntityId, options?: {
434
- relations?: string[];
435
- }): Promise<TEntityDto | undefined>;
436
- }
437
- interface IEntityExistsAction<TEntity, TEntityFilters extends ISearchFilters> {
438
- execute(filters: TEntityFilters): Promise<boolean>;
439
- }
440
- interface IEntitiesCountAction<TEntity, TEntityFilters extends ISearchFilters> {
441
- execute(filters: TEntityFilters): Promise<number>;
442
- }
443
- interface IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto> {
444
- execute(id: TEntityId, data: TEntityUpdateDto): Promise<TEntityDto>;
445
- }
446
- interface IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto> {
447
- execute(id: TEntityId, input: TEntityUpdateDto): Promise<TEntityDto>;
448
- }
449
- interface IEntitiesSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
450
- execute(request: TEntitySearchParameters): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>>;
451
- }
452
- interface IEntitiesExportAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor> {
453
- execute<TPayload = unknown>(input: EntitiesExportInput<TEntity, TEntitySearchParameters, TSorting, TCursor, TPayload>): Promise<EntitiesExportResult>;
454
- }
455
- interface IEntitiesImportAction<TEntity> {
456
- execute<TPayload = unknown>(input: EntitiesImportInput<TPayload>): Promise<EntitiesImportResult>;
457
- }
458
- interface IEntitiesParseAction<TEntity> {
459
- execute<TPayload = unknown>(input: EntitiesParseInput<TPayload>): Promise<EntitiesParseResult<unknown>>;
460
- }
461
- interface IEntitiesSampleDownloadAction<TEntity> {
462
- execute(input: EntitiesSampleDownloadOptions): Promise<EntitiesSampleDownloadResult>;
463
- }
464
- interface IEntityVersionsSearchAction<TEntity, TEntityVersionDto, TCursor> {
465
- execute(request: IEntityVersionsSearchRequest<TCursor>): Promise<IEntityVersionsSearchResponse<TEntityVersionDto, TCursor>>;
466
- }
467
- interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
468
- get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
469
- get search(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
470
- get exists(): IEntityExistsAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
471
- get count(): IEntitiesCountAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
472
- get create(): IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto>;
473
- get update(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto>;
474
- get upsert(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto>;
475
- get delete(): IEntityDeleteAction<TEntity, TEntityId>;
476
- get deleteItems(): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
477
- get export(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
478
- get import(): IEntitiesImportAction<TEntity>;
479
- get parse(): IEntitiesParseAction<TEntity>;
480
- get sampleDownload(): IEntitiesSampleDownloadAction<TEntity>;
481
- get versions(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
400
+ declare abstract class NestEntityAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext> implements IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> {
401
+ protected permissions: PermissionsChecker<TUserContext>;
402
+ abstract canSearch(context: TAuthenticationContext): Promise<IAuthorizationResult>;
403
+ abstract canRead(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
404
+ abstract canCreate(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
405
+ abstract canUpdate(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
406
+ abstract canDelete(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
407
+ abstract canDeleteItems(context: TAuthenticationContext): Promise<IAuthorizationResult>;
482
408
  }
483
409
 
484
410
  type DeepPartial<T> = {
@@ -610,19 +536,13 @@ declare enum PipelineStatus {
610
536
  Failed = "failed"
611
537
  }
612
538
 
613
- declare class PermissionsChecker<TUserContext> {
614
- hasAny(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
615
- hasAll(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
539
+ interface IEntityCreateCommandAdapter<TEntity, TEntityCreateData> {
540
+ createDataToEntity(data: TEntityCreateData, context: IAuthenticationContext<unknown>): DeepPartial<TEntity>;
616
541
  }
617
-
618
- declare abstract class NestEntityAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext> implements IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> {
619
- protected permissions: PermissionsChecker<TUserContext>;
620
- abstract canSearch(context: TAuthenticationContext): Promise<IAuthorizationResult>;
621
- abstract canRead(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
622
- abstract canCreate(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
623
- abstract canUpdate(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
624
- abstract canDelete(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
625
- abstract canDeleteItems(context: TAuthenticationContext): Promise<IAuthorizationResult>;
542
+ interface IEntityUpdateCommandAdapter<TEntity, TEntityUpdateData> {
543
+ updateDataToEntity(data: TEntityUpdateData, context: IAuthenticationContext<unknown>): DeepPartial<TEntity>;
544
+ }
545
+ interface IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> extends IEntityCreateCommandAdapter<TEntity, TEntityCreateData>, IEntityUpdateCommandAdapter<TEntity, TEntityUpdateData> {
626
546
  }
627
547
 
628
548
  interface IAuthorizationResult {
@@ -930,69 +850,33 @@ interface IFileProvider {
930
850
  get defaultBucket(): string;
931
851
  }
932
852
 
933
- interface IEntitiesDeleteResult {
934
- deletedCount: number;
935
- }
936
- interface IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition> {
937
- exists(id: TEntityId): Promise<boolean>;
938
- existsBy(condition: TGetConditions): Promise<boolean>;
939
- get(id: TEntityId): Promise<TEntity | undefined>;
940
- getBy(condition: TGetConditions): Promise<TEntity | undefined>;
941
- all(): Promise<TEntity[]>;
942
- find(condition: TFindCondition): Promise<TEntity[]>;
943
- findOne(condition: TFindCondition): Promise<TEntity | undefined>;
944
- findOneOrFail(condition: TFindCondition): Promise<TEntity>;
945
- findById(id: TEntityId[]): Promise<TEntity[]>;
946
- count(condition: TFindCondition): Promise<number>;
947
- delete(id: TEntityId): Promise<void>;
948
- deleteBy(condition: TDeleteCondition): Promise<IEntitiesDeleteResult>;
949
- create(entity: DeepPartial<TEntity>): Promise<TEntity>;
950
- update(id: TEntityId, entity: DeepPartial<TEntity>): Promise<TEntity>;
951
- updateBy(entity: DeepPartial<TEntity>, condition: TUpdateCondition): Promise<TEntity[]>;
952
- upsert(id: TEntityId, entity: DeepPartial<TEntity>): Promise<TEntity>;
953
- upsertBy({ data, filter, }: {
954
- data: Partial<TEntity>;
955
- filter: TFindCondition;
956
- }): Promise<EntityReference<string>>;
957
- }
958
-
959
- interface IEntitiesSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
960
- execute(request: TEntitySearchParameters): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
961
- }
962
- interface IEntityGetQuery<TEntity, TEntityId> {
963
- execute(id: TEntityId): Promise<TEntity | undefined>;
964
- }
965
- interface IEntitiesFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor> {
966
- execute(request: {
967
- filters?: TEntitySearchParameters["filters"];
968
- sorting?: TEntitySearchParameters["sorting"];
969
- relations?: TEntitySearchParameters["relations"];
970
- }): Promise<TEntity>;
853
+ interface IEntityFacetValue<T> {
854
+ value: T;
855
+ label: string;
856
+ count: number;
971
857
  }
972
- interface IEntityExistsQuery<TEntity, TEntityFilters extends ISearchFilters> {
973
- execute(filters: TEntityFilters): Promise<boolean>;
858
+ interface IEntityFacet<T> {
859
+ values: IEntityFacetValue<T>[];
974
860
  }
975
- interface IEntitiesCountQuery<TEntity, TEntityFilters extends ISearchFilters> {
976
- execute(filters: TEntityFilters): Promise<number>;
861
+ interface IEntityFacets {
977
862
  }
978
- interface IEntityVersionsSearchQuery<TEntity, TCursor> {
979
- execute(params: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersionsSearchResults<TEntity, TCursor>>;
863
+ interface IEntitySearchResults<TEntity, TSearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TResult, TSorting extends SortingType, TCursor, TFacets> {
864
+ request: TSearchParameters;
865
+ items: TResult[];
866
+ Facets?: TFacets;
867
+ paging?: ISearchResultsPaging<TCursor>;
980
868
  }
981
- interface IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> {
982
- get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
983
- find(request?: {
984
- filters?: TEntitySearchParameters["filters"];
985
- sorting?: TEntitySearchParameters["sorting"];
986
- relations?: TEntitySearchParameters["relations"];
987
- }, context?: IAuthenticationContext<TUserContext>): Promise<TEntity>;
988
- search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
989
- exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<boolean>;
990
- count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<number>;
991
- delete(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesDeleteResult>;
869
+ interface ISearchResultsPaging<TCursor> {
870
+ pageIndex: number;
871
+ pageSize: number;
872
+ totPages: number;
873
+ nextPageCursor?: TCursor;
874
+ currentPageCursor?: TCursor;
875
+ prevPageCursor?: TCursor;
992
876
  }
993
877
 
994
878
  interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
995
- get get(): IEntityGetQuery<TEntity, TEntityId>;
879
+ get get(): IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>;
996
880
  get search(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
997
881
  get find(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
998
882
  get exists(): IEntityExistsQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
@@ -1161,6 +1045,32 @@ interface IPipelinesController {
1161
1045
  createInstance<TPipelineInput, TPipelineOutput, TContext>(definition: PipelineDefinition<TPipelineInput, TPipelineOutput, TContext>, input: TPipelineInput, context: TContext | undefined): Promise<IPipelineInstance<TPipelineInput, TPipelineOutput, TContext>>;
1162
1046
  }
1163
1047
 
1048
+ interface IEntitiesDeleteResult {
1049
+ deletedCount: number;
1050
+ }
1051
+ interface IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition> {
1052
+ exists(id: TEntityId): Promise<boolean>;
1053
+ existsBy(condition: TGetConditions): Promise<boolean>;
1054
+ get(id: TEntityId): Promise<TEntity | undefined>;
1055
+ getBy(condition: TGetConditions): Promise<TEntity | undefined>;
1056
+ all(): Promise<TEntity[]>;
1057
+ find(condition: TFindCondition): Promise<TEntity[]>;
1058
+ findOne(condition: TFindCondition): Promise<TEntity | undefined>;
1059
+ findOneOrFail(condition: TFindCondition): Promise<TEntity>;
1060
+ findById(id: TEntityId[]): Promise<TEntity[]>;
1061
+ count(condition: TFindCondition): Promise<number>;
1062
+ delete(id: TEntityId): Promise<void>;
1063
+ deleteBy(condition: TDeleteCondition): Promise<IEntitiesDeleteResult>;
1064
+ create(entity: DeepPartial<TEntity>): Promise<TEntity>;
1065
+ update(id: TEntityId, entity: DeepPartial<TEntity>): Promise<TEntity>;
1066
+ updateBy(entity: DeepPartial<TEntity>, condition: TUpdateCondition): Promise<TEntity[]>;
1067
+ upsert(id: TEntityId, entity: DeepPartial<TEntity>): Promise<TEntity>;
1068
+ upsertBy({ data, filter, }: {
1069
+ data: Partial<TEntity>;
1070
+ filter: TFindCondition;
1071
+ }): Promise<EntityReference<string>>;
1072
+ }
1073
+
1164
1074
  interface IReplicasConfiguration<TEntity, TEntityId> {
1165
1075
  configureReplica<TRepository extends IEntityRepository<TEntity, TEntityId, unknown, unknown, unknown, unknown>>(name: string, options: ReplicaOptions, repository: TRepository): void;
1166
1076
  getReplica(name: string): ReplicaConfiguration<TEntity, TEntityId>;
@@ -1360,8 +1270,8 @@ declare class EntitiesServiceLocator {
1360
1270
  resolveSnapshotService<TEntity, TEntityId>(entityName: string): IEntitySnapshotService<TEntityId, unknown> | undefined;
1361
1271
  resolveAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
1362
1272
  registerAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>): void;
1363
- resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
1364
- registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
1273
+ resolveGetQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string): IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>;
1274
+ registerGetQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>): void;
1365
1275
  resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
1366
1276
  registerSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
1367
1277
  resolveFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
@@ -1394,8 +1304,8 @@ declare class EntitiesServiceLocator {
1394
1304
  registerParseCommand<TEntity>(entityName: string, instance: IEntitiesParseCommand<TEntity>): void;
1395
1305
  resolveSampleDownloadCommand<TEntity>(entityName: string): IEntitiesSampleDownloadCommand<TEntity>;
1396
1306
  registerSampleDownloadCommand<TEntity>(entityName: string, instance: IEntitiesSampleDownloadCommand<TEntity>): void;
1397
- resolveGetAction<TEntity, TEntityId, TEntityDto>(entityName: string): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
1398
- registerGetAction<TEntity, TEntityId, TEntityDto>(entityName: string, instance: IEntityGetAction<TEntity, TEntityId, TEntityDto>): void;
1307
+ resolveGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string): IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>;
1308
+ registerGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string, instance: IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>): void;
1399
1309
  resolveExistsAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntityExistsAction<TEntity, TEntityFilters>;
1400
1310
  registerExistsAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsAction<TEntity, TEntityFilters>): void;
1401
1311
  resolveCountAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountAction<TEntity, TEntityFilters>;
@@ -1449,7 +1359,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
1449
1359
  resolveSnapshotService<TEntity, TEntityId>(): IEntitySnapshotService<TEntityId, unknown> | undefined;
1450
1360
  resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
1451
1361
  resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
1452
- resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
1362
+ resolveGetQuery<TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(): IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>;
1453
1363
  resolveExistsQuery<TEntityFilters extends ISearchFilters>(): IEntityExistsQuery<TEntity, TEntityFilters>;
1454
1364
  resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
1455
1365
  resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
@@ -1466,7 +1376,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
1466
1376
  resolveImportCommand(): IEntitiesImportCommand<TEntity>;
1467
1377
  resolveParseCommand(): IEntitiesParseCommand<TEntity>;
1468
1378
  resolveExportCommand<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
1469
- resolveGetAction<TEntityId, TEntityDto>(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
1379
+ resolveGetAction<TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(): IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>;
1470
1380
  resolveExistsAction<TEntityFilters extends ISearchFilters>(): IEntityExistsAction<TEntity, TEntityFilters>;
1471
1381
  resolveCountAction<TEntityFilters extends ISearchFilters>(): IEntitiesCountAction<TEntity, TEntityFilters>;
1472
1382
  resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
@@ -3271,7 +3181,7 @@ declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntit
3271
3181
  protected clause: QueryClauseBuilder;
3272
3182
  protected permissions: PermissionsChecker<TUserContext>;
3273
3183
  constructor(services: EntityServiceLocator<TEntity, unknown>);
3274
- get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
3184
+ get(id: TEntityId, context?: IAuthenticationContext<TUserContext>, options?: IEntityGetQueryOptions<TEntity, TEntitySearchParameters>): Promise<TEntity | undefined>;
3275
3185
  exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<boolean>;
3276
3186
  count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<number>;
3277
3187
  delete(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<IEntitiesDeleteResult>;
@@ -3993,13 +3903,108 @@ interface IAuthenticationMiddleware<TAuthenticationData extends IAuthenticationD
3993
3903
  getPriority(): number;
3994
3904
  }
3995
3905
 
3996
- interface IEntityCreateCommandAdapter<TEntity, TEntityCreateData> {
3997
- createDataToEntity(data: TEntityCreateData, context: IAuthenticationContext<unknown>): DeepPartial<TEntity>;
3906
+ interface IEntitiesSearchQueryOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
3907
+ relations?: TEntitySearchParameters["relations"];
3998
3908
  }
3999
- interface IEntityUpdateCommandAdapter<TEntity, TEntityUpdateData> {
4000
- updateDataToEntity(data: TEntityUpdateData, context: IAuthenticationContext<unknown>): DeepPartial<TEntity>;
3909
+ interface IEntitiesSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
3910
+ execute(request: TEntitySearchParameters, options?: IEntitiesSearchQueryOptions<TEntity, TEntitySearchParameters>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
4001
3911
  }
4002
- interface IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> extends IEntityCreateCommandAdapter<TEntity, TEntityCreateData>, IEntityUpdateCommandAdapter<TEntity, TEntityUpdateData> {
3912
+ interface IEntityGetQueryOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
3913
+ relations?: TEntitySearchParameters["relations"];
3914
+ }
3915
+ interface IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
3916
+ execute(id: TEntityId, options?: IEntityGetQueryOptions<TEntity, TEntitySearchParameters>): Promise<TEntity | undefined>;
3917
+ }
3918
+ interface IEntitiesFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor> {
3919
+ execute(request: {
3920
+ filters?: TEntitySearchParameters["filters"];
3921
+ sorting?: TEntitySearchParameters["sorting"];
3922
+ relations?: TEntitySearchParameters["relations"];
3923
+ }): Promise<TEntity>;
3924
+ }
3925
+ interface IEntityExistsQuery<TEntity, TEntityFilters extends ISearchFilters> {
3926
+ execute(filters: TEntityFilters): Promise<boolean>;
3927
+ }
3928
+ interface IEntitiesCountQuery<TEntity, TEntityFilters extends ISearchFilters> {
3929
+ execute(filters: TEntityFilters): Promise<number>;
3930
+ }
3931
+ interface IEntityVersionsSearchQuery<TEntity, TCursor> {
3932
+ execute(params: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersionsSearchResults<TEntity, TCursor>>;
3933
+ }
3934
+ interface IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> {
3935
+ get(id: TEntityId, context?: IAuthenticationContext<TUserContext>, options?: IEntityGetQueryOptions<TEntity, TEntitySearchParameters>): Promise<TEntity | undefined>;
3936
+ find(request?: {
3937
+ filters?: TEntitySearchParameters["filters"];
3938
+ sorting?: TEntitySearchParameters["sorting"];
3939
+ relations?: TEntitySearchParameters["relations"];
3940
+ }, context?: IAuthenticationContext<TUserContext>): Promise<TEntity>;
3941
+ search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
3942
+ exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<boolean>;
3943
+ count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<number>;
3944
+ delete(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesDeleteResult>;
3945
+ }
3946
+
3947
+ interface IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto> {
3948
+ execute(input: TEntityCreateDto): Promise<TEntityDto>;
3949
+ }
3950
+ interface IEntityDeleteAction<TEntity, TEntityId> {
3951
+ execute(id: TEntityId): Promise<void>;
3952
+ }
3953
+ interface IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting> {
3954
+ execute(params: TEntitiesDeleteParameters): Promise<void>;
3955
+ }
3956
+ interface IEntityGetActionOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> extends IEntityGetQueryOptions<TEntity, TEntitySearchParameters> {
3957
+ }
3958
+ interface IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
3959
+ execute(id: TEntityId, options?: IEntityGetActionOptions<TEntity, TEntitySearchParameters>): Promise<TEntityDto | undefined>;
3960
+ }
3961
+ interface IEntityExistsAction<TEntity, TEntityFilters extends ISearchFilters> {
3962
+ execute(filters: TEntityFilters): Promise<boolean>;
3963
+ }
3964
+ interface IEntitiesCountAction<TEntity, TEntityFilters extends ISearchFilters> {
3965
+ execute(filters: TEntityFilters): Promise<number>;
3966
+ }
3967
+ interface IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto> {
3968
+ execute(id: TEntityId, data: TEntityUpdateDto): Promise<TEntityDto>;
3969
+ }
3970
+ interface IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto> {
3971
+ execute(id: TEntityId, input: TEntityUpdateDto): Promise<TEntityDto>;
3972
+ }
3973
+ interface IEntitiesSearchActionOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> extends IEntitiesSearchQueryOptions<TEntity, TEntitySearchParameters> {
3974
+ }
3975
+ interface IEntitiesSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
3976
+ execute(request: TEntitySearchParameters, options?: IEntitiesSearchActionOptions<TEntity, TEntitySearchParameters>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>>;
3977
+ }
3978
+ interface IEntitiesExportAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor> {
3979
+ execute<TPayload = unknown>(input: EntitiesExportInput<TEntity, TEntitySearchParameters, TSorting, TCursor, TPayload>): Promise<EntitiesExportResult>;
3980
+ }
3981
+ interface IEntitiesImportAction<TEntity> {
3982
+ execute<TPayload = unknown>(input: EntitiesImportInput<TPayload>): Promise<EntitiesImportResult>;
3983
+ }
3984
+ interface IEntitiesParseAction<TEntity> {
3985
+ execute<TPayload = unknown>(input: EntitiesParseInput<TPayload>): Promise<EntitiesParseResult<unknown>>;
3986
+ }
3987
+ interface IEntitiesSampleDownloadAction<TEntity> {
3988
+ execute(input: EntitiesSampleDownloadOptions): Promise<EntitiesSampleDownloadResult>;
3989
+ }
3990
+ interface IEntityVersionsSearchAction<TEntity, TEntityVersionDto, TCursor> {
3991
+ execute(request: IEntityVersionsSearchRequest<TCursor>): Promise<IEntityVersionsSearchResponse<TEntityVersionDto, TCursor>>;
3992
+ }
3993
+ interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
3994
+ get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>;
3995
+ get search(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
3996
+ get exists(): IEntityExistsAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
3997
+ get count(): IEntitiesCountAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
3998
+ get create(): IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto>;
3999
+ get update(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto>;
4000
+ get upsert(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto>;
4001
+ get delete(): IEntityDeleteAction<TEntity, TEntityId>;
4002
+ get deleteItems(): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
4003
+ get export(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
4004
+ get import(): IEntitiesImportAction<TEntity>;
4005
+ get parse(): IEntitiesParseAction<TEntity>;
4006
+ get sampleDownload(): IEntitiesSampleDownloadAction<TEntity>;
4007
+ get versions(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
4003
4008
  }
4004
4009
 
4005
4010
  interface IAppInitializer {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@punks/backend-entity-manager",
3
- "version": "0.0.460",
3
+ "version": "0.0.461",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",