@punks/backend-entity-manager 0.0.102 → 0.0.103

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 (50) hide show
  1. package/dist/cjs/index.js +84 -4
  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/index.d.ts +3 -3
  5. package/dist/cjs/types/abstractions/manager.d.ts +2 -1
  6. package/dist/cjs/types/abstractions/queries.d.ts +4 -1
  7. package/dist/cjs/types/abstractions/versioning.d.ts +7 -1
  8. package/dist/cjs/types/actions/versions.d.ts +8 -0
  9. package/dist/cjs/types/concrete/index.d.ts +4 -2
  10. package/dist/cjs/types/models/index.d.ts +1 -0
  11. package/dist/cjs/types/models/versioning.d.ts +44 -0
  12. package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
  13. package/dist/cjs/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -1
  14. package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.types.d.ts +24 -1
  15. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +4 -1
  16. package/dist/cjs/types/platforms/nest/__test__/server/shared/api/facets.d.ts +12 -0
  17. package/dist/cjs/types/platforms/nest/__test__/server/shared/api/fields.d.ts +32 -0
  18. package/dist/cjs/types/platforms/nest/__test__/server/shared/api/versioning.d.ts +16 -0
  19. package/dist/cjs/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  20. package/dist/cjs/types/providers/services.d.ts +8 -2
  21. package/dist/cjs/types/queries/versions.d.ts +10 -0
  22. package/dist/cjs/types/symbols/ioc.d.ts +2 -0
  23. package/dist/esm/index.js +84 -5
  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/index.d.ts +3 -3
  27. package/dist/esm/types/abstractions/manager.d.ts +2 -1
  28. package/dist/esm/types/abstractions/queries.d.ts +4 -1
  29. package/dist/esm/types/abstractions/versioning.d.ts +7 -1
  30. package/dist/esm/types/actions/versions.d.ts +8 -0
  31. package/dist/esm/types/concrete/index.d.ts +4 -2
  32. package/dist/esm/types/models/index.d.ts +1 -0
  33. package/dist/esm/types/models/versioning.d.ts +44 -0
  34. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
  35. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -1
  36. package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.types.d.ts +24 -1
  37. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +4 -1
  38. package/dist/esm/types/platforms/nest/__test__/server/shared/api/facets.d.ts +12 -0
  39. package/dist/esm/types/platforms/nest/__test__/server/shared/api/fields.d.ts +32 -0
  40. package/dist/esm/types/platforms/nest/__test__/server/shared/api/versioning.d.ts +16 -0
  41. package/dist/esm/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  42. package/dist/esm/types/platforms/nest/__test__/tests/versioning/entity-versioning-api.test.d.ts +1 -0
  43. package/dist/esm/types/platforms/nest/__test__/tests/versioning/entity-versioning-operations.test.d.ts +1 -0
  44. package/dist/esm/types/providers/services.d.ts +8 -2
  45. package/dist/esm/types/queries/versions.d.ts +10 -0
  46. package/dist/esm/types/symbols/ioc.d.ts +2 -0
  47. package/dist/index.d.ts +65 -2
  48. package/package.json +1 -1
  49. /package/dist/cjs/types/platforms/nest/__test__/tests/versioning/{entity-versioning.test.d.ts → entity-versioning-api.test.d.ts} +0 -0
  50. /package/dist/{esm/types/platforms/nest/__test__/tests/versioning/entity-versioning.test.d.ts → cjs/types/platforms/nest/__test__/tests/versioning/entity-versioning-operations.test.d.ts} +0 -0
@@ -1,4 +1,5 @@
1
1
  import { IEntitiesSearchResults } from "../models";
2
+ import { IEntityVersionsSearchRequest, IEntityVersionsSearchResponse } from "../models/versioning";
2
3
  import { IEntitiesDeleteParameters } from "./commands";
3
4
  import { SortingType } from "./common";
4
5
  import { EntitiesExportInput, EntitiesExportResult, EntitiesSampleDownloadOptions, EntitiesSampleDownloadResult } from "./export";
@@ -41,6 +42,9 @@ export interface IEntitiesImportAction<TEntity> {
41
42
  export interface IEntitiesSampleDownloadAction<TEntity> {
42
43
  execute(input: EntitiesSampleDownloadOptions): Promise<EntitiesSampleDownloadResult>;
43
44
  }
45
+ export interface IEntityVersionsSearchAction<TEntity, TEntityVersionDto, TCursor> {
46
+ execute(request: IEntityVersionsSearchRequest<TCursor>): Promise<IEntityVersionsSearchResponse<TEntityVersionDto, TCursor>>;
47
+ }
44
48
  export interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
45
49
  get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
46
50
  get search(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
@@ -54,4 +58,5 @@ export interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpd
54
58
  get export(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
55
59
  get import(): IEntitiesImportAction<TEntity>;
56
60
  get sampleDownload(): IEntitiesSampleDownloadAction<TEntity>;
61
+ get versions(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
57
62
  }
@@ -1,4 +1,4 @@
1
- export { IEntityCreateAction, IEntityDeleteAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction, IEntitiesSearchAction, IEntityActions, IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntityExistsAction, IEntitiesSampleDownloadAction, } from "./actions";
1
+ export { IEntityCreateAction, IEntityDeleteAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction, IEntitiesSearchAction, IEntityActions, IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntityExistsAction, IEntitiesSampleDownloadAction, IEntityVersionsSearchAction, } from "./actions";
2
2
  export { IEntityAdapter } from "./adapters";
3
3
  export * from "./authentication";
4
4
  export * from "./buckets";
@@ -17,7 +17,7 @@ export * from "./localization";
17
17
  export { IEntityManager } from "./manager";
18
18
  export { IEntityMapper } from "./mappers";
19
19
  export {} from "./pipelines";
20
- export { IEntitiesSearchQuery, IEntityGetQuery, IEntitiesQueryBuilder, IEntityExistsQuery, IEntitiesCountQuery, } from "./queries";
20
+ export { IEntitiesSearchQuery, IEntityGetQuery, IEntitiesQueryBuilder, IEntityExistsQuery, IEntitiesCountQuery, IEntityVersionsSearchQuery, } from "./queries";
21
21
  export { IReplicasConfiguration, ReplicationMode, ReplicaOptions, ReplicaConfiguration, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, } from "./replication";
22
22
  export { IEntityRepository } from "./repository";
23
23
  export * from "./searchParameters";
@@ -25,4 +25,4 @@ export { EntitySerializerColumnDefinition, EntitySerializerSheetDefinition, IEnt
25
25
  export { EntityManagerSettings } from "./settings";
26
26
  export { IEntitySearchResults, IEntityFacet, IEntityFacetItem, IEntityFacets, ISearchResultsPaging, } from "./searchResults";
27
27
  export * from "./tracking";
28
- export { EntityVersionOperation, EntityVersionInput, IEntityVersioningProvider, } from "./versioning";
28
+ export { EntityVersionOperation, EntityVersionInput, IEntityVersioningResults, IEntityVersioningProvider, } from "./versioning";
@@ -1,6 +1,6 @@
1
1
  import { IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesExportCommand, IEntitiesImportCommand, IEntitiesSampleDownloadCommand, IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEntityUpsertCommand } from "./commands";
2
2
  import { SortingType } from "./common";
3
- import { IEntitiesCountQuery, IEntitiesSearchQuery, IEntityExistsQuery, IEntityGetQuery } from "./queries";
3
+ import { IEntitiesCountQuery, IEntitiesSearchQuery, IEntityExistsQuery, IEntityGetQuery, IEntityVersionsSearchQuery } from "./queries";
4
4
  import { IEntitySearchParameters } from "./searchParameters";
5
5
  import { IEntityFacets } from "./searchResults";
6
6
  export interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
@@ -16,4 +16,5 @@ export interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUp
16
16
  get import(): IEntitiesImportCommand<TEntity>;
17
17
  get export(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
18
18
  get sampleDownload(): IEntitiesSampleDownloadCommand<TEntity>;
19
+ get versions(): IEntityVersionsSearchQuery<TEntity, TCursor>;
19
20
  }
@@ -1,4 +1,4 @@
1
- import { IEntitiesSearchResults } from "../models";
1
+ import { IEntitiesSearchResults, IEntityVersionsSearchParameters, IEntityVersionsSearchResults } from "../models";
2
2
  import { IAuthenticationContext } from "./authentication";
3
3
  import { SortingType } from "./common";
4
4
  import { IEntitiesDeleteResult } from "./repository";
@@ -16,6 +16,9 @@ export interface IEntityExistsQuery<TEntity, TEntityFilters extends ISearchFilte
16
16
  export interface IEntitiesCountQuery<TEntity, TEntityFilters extends ISearchFilters> {
17
17
  execute(filters: TEntityFilters): Promise<number>;
18
18
  }
19
+ export interface IEntityVersionsSearchQuery<TEntity, TCursor> {
20
+ execute(request: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersionsSearchResults<TEntity, TCursor>>;
21
+ }
19
22
  export interface IEntitiesQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> {
20
23
  search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
21
24
  exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<boolean>;
@@ -1,3 +1,4 @@
1
+ import { IEntityVersionsResultsPaging, IEntityVersionsSearchParameters } from "../models";
1
2
  export declare enum EntityVersionOperation {
2
3
  Create = "create",
3
4
  Update = "update",
@@ -11,7 +12,12 @@ export type EntityVersionInput<TEntity, TEntityId> = {
11
12
  data?: TEntity;
12
13
  modifiedByUserId?: string;
13
14
  };
15
+ export interface IEntityVersioningResults<TResult, TCursor> {
16
+ paging?: IEntityVersionsResultsPaging<TCursor>;
17
+ items: TResult[];
18
+ }
14
19
  export interface IEntityVersioningProvider {
15
20
  isEnabled(): boolean;
16
- versionEntity<TEntity, TEntityId>(input: EntityVersionInput<TEntity, TEntityId>): Promise<void>;
21
+ createVersion<TEntity, TEntityId>(input: EntityVersionInput<TEntity, TEntityId>): Promise<void>;
22
+ searchVersions<TEntity, TCursor>(params: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersioningResults<TEntity, TCursor>>;
17
23
  }
@@ -0,0 +1,8 @@
1
+ import { IEntityVersionsSearchAction } from "../abstractions/actions";
2
+ import { IEntityVersionsSearchRequest, IEntityVersionsSearchResponse } from "../models/versioning";
3
+ import { EntityServiceLocator } from "../providers/services";
4
+ export declare class EntityVersionsSearchAction<TEntity, TEntityId, TListItemDto, TCursor> implements IEntityVersionsSearchAction<TEntity, TListItemDto, TCursor> {
5
+ private readonly services;
6
+ constructor(services: EntityServiceLocator<TEntity, TEntityId>);
7
+ execute(request: IEntityVersionsSearchRequest<TCursor>): Promise<IEntityVersionsSearchResponse<TListItemDto, TCursor>>;
8
+ }
@@ -1,8 +1,8 @@
1
- import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntitiesSampleDownloadAction, IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityExistsAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction } from "../abstractions/actions";
1
+ import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntitiesSampleDownloadAction, IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityExistsAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction, IEntityVersionsSearchAction } from "../abstractions/actions";
2
2
  import { IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesExportCommand, IEntitiesImportCommand, IEntitiesSampleDownloadCommand, IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEntityUpsertCommand } from "../abstractions/commands";
3
3
  import { SortingType } from "../abstractions/common";
4
4
  import { IEntityManager } from "../abstractions/manager";
5
- import { IEntitiesCountQuery, IEntitiesSearchQuery, IEntityExistsQuery, IEntityGetQuery } from "../abstractions/queries";
5
+ import { IEntitiesCountQuery, IEntitiesSearchQuery, IEntityExistsQuery, IEntityGetQuery, IEntityVersionsSearchQuery } from "../abstractions/queries";
6
6
  import { IEntitySearchParameters } from "../abstractions/searchParameters";
7
7
  import { IEntityFacets } from "../abstractions/searchResults";
8
8
  import { EntityServiceLocator } from "../providers/services";
@@ -21,6 +21,7 @@ export declare class EntityManager<TEntity, TEntityId, TEntityCreateData, TEntit
21
21
  get export(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
22
22
  get import(): IEntitiesImportCommand<TEntity>;
23
23
  get sampleDownload(): IEntitiesSampleDownloadCommand<TEntity>;
24
+ get versions(): IEntityVersionsSearchQuery<TEntity, TCursor>;
24
25
  }
25
26
  export declare class EntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> implements IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters, TEntitySearchParameters, TSorting, TCursor, TFacets> {
26
27
  private readonly services;
@@ -37,4 +38,5 @@ export declare class EntityActions<TEntity, TEntityId, TEntityCreateDto, TEntity
37
38
  get export(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
38
39
  get import(): IEntitiesImportAction<TEntity>;
39
40
  get sampleDownload(): IEntitiesSampleDownloadAction<TEntity>;
41
+ get versions(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
40
42
  }
@@ -1 +1,2 @@
1
1
  export { IEntitiesSearchResultsPaging, IEntitiesSearchResults } from "./search";
2
+ export { IEntityVersionsCursor, IEntityVersionsFilters, IEntityVersionsReference, IEntityVersionsResultsPaging, IEntityVersionsSearchParameters, IEntityVersionsSearchResults, IEntityVersionsSorting, } from "./versioning";
@@ -0,0 +1,44 @@
1
+ import { SortDirection } from "../abstractions";
2
+ export interface IEntityVersionsReference {
3
+ entityId: string;
4
+ entityType: string;
5
+ }
6
+ export interface IEntityVersionsFilters {
7
+ timestampFrom?: Date;
8
+ timestampTo?: Date;
9
+ }
10
+ export interface IEntityVersionsSorting {
11
+ direction: SortDirection;
12
+ }
13
+ export declare class IEntityVersionsCursor<TCursor> {
14
+ cursor?: TCursor;
15
+ pageSize: number;
16
+ }
17
+ export interface IEntityVersionsSearchParameters<TCursor> {
18
+ entity: IEntityVersionsReference;
19
+ filters?: IEntityVersionsFilters;
20
+ sorting?: IEntityVersionsSorting;
21
+ paging?: IEntityVersionsCursor<TCursor>;
22
+ }
23
+ export interface IEntityVersionsResultsPaging<TCursor> {
24
+ pageIndex: number;
25
+ pageSize: number;
26
+ totPageItems: number;
27
+ totPages: number;
28
+ totItems: number;
29
+ nextPageCursor?: TCursor;
30
+ currentPageCursor?: TCursor;
31
+ prevPageCursor?: TCursor;
32
+ }
33
+ export interface IEntityVersionsSearchResults<TResult, TCursor> {
34
+ paging?: IEntityVersionsResultsPaging<TCursor>;
35
+ items: TResult[];
36
+ }
37
+ export interface IEntityVersionsSearchRequest<TCursor> {
38
+ params: IEntityVersionsSearchParameters<TCursor>;
39
+ }
40
+ export interface IEntityVersionsSearchResponse<TResult, TCursor> {
41
+ request: IEntityVersionsSearchRequest<TCursor>;
42
+ paging?: IEntityVersionsResultsPaging<TCursor>;
43
+ items: TResult[];
44
+ }
@@ -1,6 +1,6 @@
1
1
  /// <reference types="multer" />
2
2
  import { FooActions } from "./foo.actions";
3
- import { FooCreateDto, FooDto, FooExportRequest, FooExportResponse, FooImportRequest, FooSampleDownloadRequest, FooSampleDownloadResponse, FooSearchRequest, FooSearchResponse, FooUpdateDto } from "./foo.dto";
3
+ import { FooCreateDto, FooDto, FooExportRequest, FooExportResponse, FooImportRequest, FooSampleDownloadRequest, FooSampleDownloadResponse, FooSearchRequest, FooSearchResponse, FooUpdateDto, FooVersionsSearchRequest, FooVersionsSearchResponse } from "./foo.dto";
4
4
  export declare class FooController {
5
5
  private readonly actions;
6
6
  constructor(actions: FooActions);
@@ -12,4 +12,5 @@ export declare class FooController {
12
12
  import(file: Express.Multer.File, request: FooImportRequest): Promise<void>;
13
13
  export(request: FooExportRequest): Promise<FooExportResponse>;
14
14
  sampleDownload(request: FooSampleDownloadRequest): Promise<FooSampleDownloadResponse>;
15
+ versions(request: FooVersionsSearchRequest): Promise<FooVersionsSearchResponse>;
15
16
  }
@@ -1,5 +1,5 @@
1
1
  import { EntitySerializationFormat } from "../../../../../../abstractions";
2
- import { FooSearchParameters, FooSearchResults } from "../../entities/foos/foo.types";
2
+ import { FooSearchParameters, FooSearchResults, FooVersionsSearchParameters, FooVersionsSearchResults } from "../../entities/foos/foo.types";
3
3
  export declare class FooProfile {
4
4
  name: string;
5
5
  age?: number;
@@ -45,3 +45,9 @@ export declare class FooSampleDownloadRequest {
45
45
  export declare class FooSampleDownloadResponse {
46
46
  downloadUrl: string;
47
47
  }
48
+ export declare class FooVersionsSearchRequest {
49
+ params: FooVersionsSearchParameters;
50
+ }
51
+ export declare class FooVersionsSearchResponse extends FooVersionsSearchResults<FooListItemDto> {
52
+ items: FooListItemDto[];
53
+ }
@@ -1,5 +1,7 @@
1
- import { IEntitiesDeleteParameters, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntitySearchParameters, ISearchOptions, ISearchRequestPaging, ISearchSorting, ISearchSortingField, SortDirection } from "../../../../../..";
1
+ import { IEntitiesDeleteParameters, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntitySearchParameters, IEntityVersionsResultsPaging, IEntityVersionsSearchParameters, IEntityVersionsSearchResults, ISearchOptions, ISearchRequestPaging, ISearchSorting, ISearchSortingField, SortDirection } from "../../../../../..";
2
2
  import { FooSorting, FooCursor, FooSearchFilters, FooFacets } from "./foo.models";
3
+ import { EntityVersionsCursor, EntityVersionsFilters, EntityVersionsReference, EntityVersionsSorting } from "../../shared/api/versioning";
4
+ import { FooVersionsSearchRequest } from "../../app/foos/foo.dto";
3
5
  export declare class FooSearchSortingField implements ISearchSortingField<FooSorting> {
4
6
  field: FooSorting;
5
7
  direction: SortDirection;
@@ -40,3 +42,24 @@ export declare class FooDeleteParameters implements IEntitiesDeleteParameters<Fo
40
42
  filters?: FooSearchFilters;
41
43
  sorting?: FooQuerySorting;
42
44
  }
45
+ export declare class FooVersionsSearchParameters implements IEntityVersionsSearchParameters<FooCursor> {
46
+ entity: EntityVersionsReference;
47
+ filters?: EntityVersionsFilters;
48
+ sorting?: EntityVersionsSorting;
49
+ paging?: EntityVersionsCursor<FooCursor>;
50
+ }
51
+ export declare class FooVersionsResultsPaging implements IEntityVersionsResultsPaging<FooCursor> {
52
+ pageIndex: number;
53
+ pageSize: number;
54
+ totPageItems: number;
55
+ totPages: number;
56
+ totItems: number;
57
+ nextPageCursor?: FooCursor;
58
+ currentPageCursor?: FooCursor;
59
+ prevPageCursor?: FooCursor;
60
+ }
61
+ export declare class FooVersionsSearchResults<TResult> implements IEntityVersionsSearchResults<TResult, FooCursor> {
62
+ request: FooVersionsSearchRequest;
63
+ paging?: FooVersionsResultsPaging;
64
+ items: TResult[];
65
+ }
@@ -1,8 +1,11 @@
1
1
  import { EntityVersionInput, IEntityVersioningProvider } from "../../../../../../../../abstractions";
2
2
  import { AppEntityVersionRepository } from "../../../../database/core/repositories/appEntityVersion.repository";
3
+ import { IEntityVersionsSearchParameters } from "../../../../../../../../models";
4
+ import { IEntityVersioningResults } from "../../../../../../../../abstractions/versioning";
3
5
  export declare class EntityVersioningProvider implements IEntityVersioningProvider {
4
6
  private readonly entityVersionsRepo;
5
7
  constructor(entityVersionsRepo: AppEntityVersionRepository);
6
8
  isEnabled(): boolean;
7
- versionEntity<TEntity, TEntityId = string>(input: EntityVersionInput<TEntity, TEntityId>): Promise<void>;
9
+ createVersion<TEntity, TEntityId = string>(input: EntityVersionInput<TEntity, TEntityId>): Promise<void>;
10
+ searchVersions<TEntity, TCursor = number>(params: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersioningResults<TEntity, TCursor>>;
8
11
  }
@@ -0,0 +1,12 @@
1
+ export declare class StringFacets {
2
+ values?: string[];
3
+ }
4
+ export declare class NumberFacets {
5
+ values?: number[];
6
+ }
7
+ export declare class BooleanFacets {
8
+ values?: boolean[];
9
+ }
10
+ export declare class DateFacets {
11
+ values?: Date[];
12
+ }
@@ -0,0 +1,32 @@
1
+ export declare class NumericFilter {
2
+ in?: number[];
3
+ eq?: number;
4
+ gt?: number;
5
+ gte?: number;
6
+ lt?: number;
7
+ lte?: number;
8
+ }
9
+ export declare class StringFilter {
10
+ gt?: string;
11
+ gte?: string;
12
+ lt?: string;
13
+ lte?: string;
14
+ in?: string[];
15
+ eq?: string;
16
+ like?: string;
17
+ ne?: string;
18
+ notIn?: string[];
19
+ notLike?: string;
20
+ }
21
+ export declare class BooleanFilter {
22
+ eq?: boolean;
23
+ ne?: boolean;
24
+ }
25
+ export declare class DateFilter {
26
+ in?: Date[];
27
+ eq?: Date;
28
+ gt?: Date;
29
+ gte?: Date;
30
+ lt?: Date;
31
+ lte?: Date;
32
+ }
@@ -0,0 +1,16 @@
1
+ import { SortDirection } from "../../../../../../abstractions";
2
+ export declare class EntityVersionsReference {
3
+ entityId: string;
4
+ entityType: string;
5
+ }
6
+ export declare class EntityVersionsFilters {
7
+ timestampFrom?: Date;
8
+ timestampTo?: Date;
9
+ }
10
+ export declare class EntityVersionsSorting {
11
+ direction: SortDirection;
12
+ }
13
+ export declare class EntityVersionsCursor<TCursor> {
14
+ cursor?: TCursor;
15
+ pageSize: number;
16
+ }
@@ -5,6 +5,7 @@ export declare const NestTestServerPorts: {
5
5
  AuthGuardsTest: number;
6
6
  SessionTest: number;
7
7
  InitApiTest: number;
8
+ VersioningApiTest: number;
8
9
  TenantInitPipeline: number;
9
10
  CompanyInitPipeline: number;
10
11
  };
@@ -1,5 +1,5 @@
1
1
  import { IAuthenticationContext, IAuthenticationContextProvider, IBucketProvider, IEmailProvider, IEmailTemplatesCollection, IEntityFacets, IEntitySerializer, IEntityVersioningProvider, IEventLog, IEventsTracker } from "../abstractions";
2
- import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntitiesSampleDownloadAction, IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityExistsAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction } from "../abstractions/actions";
2
+ import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntitiesSampleDownloadAction, IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityExistsAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction, IEntityVersionsSearchAction } from "../abstractions/actions";
3
3
  import { IEntityAdapter } from "../abstractions/adapters";
4
4
  import { IEntityAuthorizationMiddleware } from "../abstractions/authorization";
5
5
  import { IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesExportCommand, IEntitiesImportCommand, IEntitiesSampleDownloadCommand, IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEntityUpsertCommand } from "../abstractions/commands";
@@ -9,7 +9,7 @@ import { IEntityConverter } from "../abstractions/converters";
9
9
  import { IEntityEventsManager, IEventEmitter } from "../abstractions/events";
10
10
  import { IEntityManager } from "../abstractions/manager";
11
11
  import { IPipelinesController } from "../abstractions/pipelines";
12
- import { IEntitiesCountQuery, IEntitiesQueryBuilder, IEntitiesSearchQuery, IEntityExistsQuery, IEntityGetQuery } from "../abstractions/queries";
12
+ import { IEntitiesCountQuery, IEntitiesQueryBuilder, IEntitiesSearchQuery, IEntityExistsQuery, IEntityGetQuery, IEntityVersionsSearchQuery } from "../abstractions/queries";
13
13
  import { IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IReplicasConfiguration } from "../abstractions/replication";
14
14
  import { IEntityRepository } from "../abstractions/repository";
15
15
  import { IEntitySearchParameters, ISearchFilters } from "../abstractions/searchParameters";
@@ -40,6 +40,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
40
40
  resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
41
41
  resolveExistsQuery<TEntityFilters extends ISearchFilters>(): IEntityExistsQuery<TEntity, TEntityFilters>;
42
42
  resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
43
+ resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
43
44
  resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
44
45
  resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
45
46
  resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
@@ -53,6 +54,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
53
54
  resolveExistsAction<TEntityFilters extends ISearchFilters>(): IEntityExistsAction<TEntity, TEntityFilters>;
54
55
  resolveCountAction<TEntityFilters extends ISearchFilters>(): IEntitiesCountAction<TEntity, TEntityFilters>;
55
56
  resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
57
+ resolveVersionsSearchAction<TEntityListItemDto, TCursor>(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
56
58
  resolveCreateAction<TEntityCreateData, TEntityDto>(): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
57
59
  resolveUpdateAction<TEntityUpdateData, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
58
60
  resolveUpsertAction<TEntityUpdateData, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
@@ -122,6 +124,8 @@ export declare class EntitiesServiceLocator {
122
124
  registerExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsQuery<TEntity, TEntityFilters>): void;
123
125
  resolveCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountQuery<TEntity, TEntityFilters>;
124
126
  registerCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntitiesCountQuery<TEntity, TEntityFilters>): void;
127
+ resolveVersionsSearchQuery<TEntity, TCursor>(entityName: string): IEntityVersionsSearchQuery<TEntity, TCursor>;
128
+ registerVersionsSearchQuery<TEntity, TCursor>(entityName: string, instance: IEntityVersionsSearchQuery<TEntity, TCursor>): void;
125
129
  resolveCreateCommand<TEntity, TEntityCreateData>(entityName: string): IEntityCreateCommand<TEntity, TEntityCreateData>;
126
130
  registerCreateCommand<TEntity, TEntityCreateData>(entityName: string, instance: IEntityCreateCommand<TEntity, TEntityCreateData>): void;
127
131
  resolveUpdateCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
@@ -146,6 +150,8 @@ export declare class EntitiesServiceLocator {
146
150
  registerCountAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntitiesCountAction<TEntity, TEntityFilters>): void;
147
151
  resolveSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
148
152
  registerSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>): void;
153
+ resolveVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>(entityName: string): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
154
+ registerVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>(entityName: string, instance: IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>): void;
149
155
  resolveCreateAction<TEntity, TEntityCreateData, TEntityDto>(entityName: string): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
150
156
  registerCreateAction<TEntity, TEntityCreateData, TEntityDto>(entityName: string, instance: IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>): void;
151
157
  resolveUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
@@ -0,0 +1,10 @@
1
+ import { IEntityVersionsSearchQuery } from "../abstractions/queries";
2
+ import { IEntityVersionsSearchParameters, IEntityVersionsSearchResults } from "../models";
3
+ import { EntityServiceLocator } from "../providers/services";
4
+ export declare class EntityVersionsSearchQuery<TEntity, TCursor> implements IEntityVersionsSearchQuery<TEntity, TCursor> {
5
+ private readonly services;
6
+ constructor(services: EntityServiceLocator<TEntity, unknown>);
7
+ execute(request: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersionsSearchResults<TEntity, TCursor>>;
8
+ private getContext;
9
+ private authorizeSearch;
10
+ }
@@ -13,6 +13,7 @@ export declare const EntityServices: {
13
13
  IEntitiesExportAction: string;
14
14
  IEntitiesImportAction: string;
15
15
  IEntitiesSampleDownloadAction: string;
16
+ IEntityVersionsSearchAction: string;
16
17
  };
17
18
  Authorization: {
18
19
  IEntityAuthorizationMiddleware: string;
@@ -47,6 +48,7 @@ export declare const EntityServices: {
47
48
  IEntityGetQuery: string;
48
49
  IEntitiesSearchQuery: string;
49
50
  IEntitiesQueryBuilder: string;
51
+ IEntityVersionsSearchQuery: string;
50
52
  };
51
53
  Replication: {
52
54
  IReplicasConfiguration: string;
package/dist/index.d.ts CHANGED
@@ -79,6 +79,50 @@ interface IEntitiesSearchResults<TSearchParameters extends IEntitySearchParamete
79
79
  paging?: IEntitiesSearchResultsPaging<TCursor>;
80
80
  }
81
81
 
82
+ interface IEntityVersionsReference {
83
+ entityId: string;
84
+ entityType: string;
85
+ }
86
+ interface IEntityVersionsFilters {
87
+ timestampFrom?: Date;
88
+ timestampTo?: Date;
89
+ }
90
+ interface IEntityVersionsSorting {
91
+ direction: SortDirection;
92
+ }
93
+ declare class IEntityVersionsCursor<TCursor> {
94
+ cursor?: TCursor;
95
+ pageSize: number;
96
+ }
97
+ interface IEntityVersionsSearchParameters<TCursor> {
98
+ entity: IEntityVersionsReference;
99
+ filters?: IEntityVersionsFilters;
100
+ sorting?: IEntityVersionsSorting;
101
+ paging?: IEntityVersionsCursor<TCursor>;
102
+ }
103
+ interface IEntityVersionsResultsPaging<TCursor> {
104
+ pageIndex: number;
105
+ pageSize: number;
106
+ totPageItems: number;
107
+ totPages: number;
108
+ totItems: number;
109
+ nextPageCursor?: TCursor;
110
+ currentPageCursor?: TCursor;
111
+ prevPageCursor?: TCursor;
112
+ }
113
+ interface IEntityVersionsSearchResults<TResult, TCursor> {
114
+ paging?: IEntityVersionsResultsPaging<TCursor>;
115
+ items: TResult[];
116
+ }
117
+ interface IEntityVersionsSearchRequest<TCursor> {
118
+ params: IEntityVersionsSearchParameters<TCursor>;
119
+ }
120
+ interface IEntityVersionsSearchResponse<TResult, TCursor> {
121
+ request: IEntityVersionsSearchRequest<TCursor>;
122
+ paging?: IEntityVersionsResultsPaging<TCursor>;
123
+ items: TResult[];
124
+ }
125
+
82
126
  type EntitySerializerColumnDefinition<TEntity> = {
83
127
  name: string;
84
128
  selector: keyof TEntity;
@@ -255,6 +299,9 @@ interface IEntitiesImportAction<TEntity> {
255
299
  interface IEntitiesSampleDownloadAction<TEntity> {
256
300
  execute(input: EntitiesSampleDownloadOptions): Promise<EntitiesSampleDownloadResult>;
257
301
  }
302
+ interface IEntityVersionsSearchAction<TEntity, TEntityVersionDto, TCursor> {
303
+ execute(request: IEntityVersionsSearchRequest<TCursor>): Promise<IEntityVersionsSearchResponse<TEntityVersionDto, TCursor>>;
304
+ }
258
305
  interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
259
306
  get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
260
307
  get search(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
@@ -268,6 +315,7 @@ interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto,
268
315
  get export(): IEntitiesExportAction<TEntity, TEntitySearchParameters, TSorting, TCursor>;
269
316
  get import(): IEntitiesImportAction<TEntity>;
270
317
  get sampleDownload(): IEntitiesSampleDownloadAction<TEntity>;
318
+ get versions(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
271
319
  }
272
320
 
273
321
  type DeepPartial<T> = {
@@ -594,6 +642,9 @@ interface IEntityExistsQuery<TEntity, TEntityFilters extends ISearchFilters> {
594
642
  interface IEntitiesCountQuery<TEntity, TEntityFilters extends ISearchFilters> {
595
643
  execute(filters: TEntityFilters): Promise<number>;
596
644
  }
645
+ interface IEntityVersionsSearchQuery<TEntity, TCursor> {
646
+ execute(request: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersionsSearchResults<TEntity, TCursor>>;
647
+ }
597
648
  interface IEntitiesQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> {
598
649
  search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
599
650
  exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<boolean>;
@@ -614,6 +665,7 @@ interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateDat
614
665
  get import(): IEntitiesImportCommand<TEntity>;
615
666
  get export(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
616
667
  get sampleDownload(): IEntitiesSampleDownloadCommand<TEntity>;
668
+ get versions(): IEntityVersionsSearchQuery<TEntity, TCursor>;
617
669
  }
618
670
 
619
671
  interface IPipelineInstance<TPipelineInput, TPipelineOutput, TContext> {
@@ -684,6 +736,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
684
736
  resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
685
737
  resolveExistsQuery<TEntityFilters extends ISearchFilters>(): IEntityExistsQuery<TEntity, TEntityFilters>;
686
738
  resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
739
+ resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
687
740
  resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
688
741
  resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
689
742
  resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
@@ -697,6 +750,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
697
750
  resolveExistsAction<TEntityFilters extends ISearchFilters>(): IEntityExistsAction<TEntity, TEntityFilters>;
698
751
  resolveCountAction<TEntityFilters extends ISearchFilters>(): IEntitiesCountAction<TEntity, TEntityFilters>;
699
752
  resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
753
+ resolveVersionsSearchAction<TEntityListItemDto, TCursor>(): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
700
754
  resolveCreateAction<TEntityCreateData, TEntityDto>(): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
701
755
  resolveUpdateAction<TEntityUpdateData, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
702
756
  resolveUpsertAction<TEntityUpdateData, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
@@ -766,6 +820,8 @@ declare class EntitiesServiceLocator {
766
820
  registerExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsQuery<TEntity, TEntityFilters>): void;
767
821
  resolveCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountQuery<TEntity, TEntityFilters>;
768
822
  registerCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntitiesCountQuery<TEntity, TEntityFilters>): void;
823
+ resolveVersionsSearchQuery<TEntity, TCursor>(entityName: string): IEntityVersionsSearchQuery<TEntity, TCursor>;
824
+ registerVersionsSearchQuery<TEntity, TCursor>(entityName: string, instance: IEntityVersionsSearchQuery<TEntity, TCursor>): void;
769
825
  resolveCreateCommand<TEntity, TEntityCreateData>(entityName: string): IEntityCreateCommand<TEntity, TEntityCreateData>;
770
826
  registerCreateCommand<TEntity, TEntityCreateData>(entityName: string, instance: IEntityCreateCommand<TEntity, TEntityCreateData>): void;
771
827
  resolveUpdateCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
@@ -790,6 +846,8 @@ declare class EntitiesServiceLocator {
790
846
  registerCountAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntitiesCountAction<TEntity, TEntityFilters>): void;
791
847
  resolveSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
792
848
  registerSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>): void;
849
+ resolveVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>(entityName: string): IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>;
850
+ registerVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>(entityName: string, instance: IEntityVersionsSearchAction<TEntity, TEntityListItemDto, TCursor>): void;
793
851
  resolveCreateAction<TEntity, TEntityCreateData, TEntityDto>(entityName: string): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
794
852
  registerCreateAction<TEntity, TEntityCreateData, TEntityDto>(entityName: string, instance: IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>): void;
795
853
  resolveUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
@@ -944,9 +1002,14 @@ type EntityVersionInput<TEntity, TEntityId> = {
944
1002
  data?: TEntity;
945
1003
  modifiedByUserId?: string;
946
1004
  };
1005
+ interface IEntityVersioningResults<TResult, TCursor> {
1006
+ paging?: IEntityVersionsResultsPaging<TCursor>;
1007
+ items: TResult[];
1008
+ }
947
1009
  interface IEntityVersioningProvider {
948
1010
  isEnabled(): boolean;
949
- versionEntity<TEntity, TEntityId>(input: EntityVersionInput<TEntity, TEntityId>): Promise<void>;
1011
+ createVersion<TEntity, TEntityId>(input: EntityVersionInput<TEntity, TEntityId>): Promise<void>;
1012
+ searchVersions<TEntity, TCursor>(params: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersioningResults<TEntity, TCursor>>;
950
1013
  }
951
1014
 
952
1015
  interface IEntitySeedEntry<TEntity, TFindCondition> {
@@ -2266,4 +2329,4 @@ declare const renderHandlebarsTemplate: <TContext extends object>(input: {
2266
2329
 
2267
2330
  declare const newUuid: () => string;
2268
2331
 
2269
- export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppRole, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationModuleSettings, AuthenticationService, AwsBucketModule, AwsBucketSettings, AwsEmailModule, AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, AwsSesEmailTemplateData, AwsSesSettings, BooleanFacet, BooleanFacetItem, BucketContentItem, BucketFileDeleteInput, BucketFileDownloadInput, BucketFilePublicUrlCreateInput, BucketFileUploadInput, BucketFolderContentResult, BucketFolderCreateInput, BucketFolderEnsureInput, BucketFolderExistsInput, BucketFolderListInput, BucketFolderListResult, BucketItemType, BucketProviderProps, ClassType, DeepPartial, EmailService, EmailTemplateProps, EmailVerifyEmailPayload, EmailVerifyTokenPayload, EntitiesExportFile, EntitiesExportInput, EntitiesExportOptions, EntitiesExportResult, EntitiesImportExportSettings, EntitiesImportInput, EntitiesImportResult, EntitiesImportStatistics, EntitiesSampleDownloadOptions, EntitiesSampleDownloadResult, EntityActionsProps, EntityAdapterProps, EntityAuthMiddlewareProps, EntityConnectorProps, EntityConverterProps, EntityExportBucketSettings, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerService, EntityManagerSettings, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, EntitySeeder, EntitySeederProps, EntitySerializationFormat, EntitySerializer, EntitySerializerColumnDefinition, EntitySerializerProps, EntitySerializerSheetDefinition, EntityVersionInput, EntityVersionOperation, EntityVersioningProviderProps, EnumType, EventsService, EventsTrackerProps, FilterExpression, HtmlEmailInput, IAppCompany, IAppDivision, IAppOrganization, IAppRole, IAppTenant, IAppUser, IAppUserGroup, IAppUserProfile, IAuthRole, IAuthRoleService, IAuthService, IAuthUser, IAuthUserContext, IAuthUserOrganization, IAuthUserProfile, IAuthUserRolesService, IAuthUserService, IAuthUserTokenData, IAuthenticationContext, IAuthenticationContextProvider, IAuthorizationResult, IBucketProvider, IEmailProvider, IEmailTemplate, IEmailTemplatesCollection, IEntitiesCountAction, IEntitiesCountQuery, IEntitiesDeleteAction, IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesDeleteResult$1 as IEntitiesDeleteResult, IEntitiesExportAction, IEntitiesExportCommand, IEntitiesImportAction, IEntitiesImportCommand, IEntitiesQueryBuilder, IEntitiesSampleDownloadAction, IEntitiesSampleDownloadCommand, IEntitiesSearchAction, IEntitiesSearchQuery, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityExistsAction, IEntityExistsQuery, IEntityFacet, IEntityFacetItem, IEntityFacets, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntitySerializer, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IEntityVersioningProvider, IEventLog, IEventsTracker, IFullTextQuery, IPipelineStepBuilder, IPipelineStepOperationBuilder, IPipelineStepOperationOptionsBuilder, IPipelineTemplateBuilder, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, LocalizedMap, LocalizedTexts, MemberOf, MessagingEmailSentPayload, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NonNullable$1 as NonNullable, NumericFacet, NumericFacetItem, OperationDefinition, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PasswordResetEmailPayload, PipelineCompletedStepState, PipelineController, PipelineCurrentStepState, PipelineDefinition, PipelineErrorType, PipelineOperationError, PipelineOperationResult, PipelineOperationResultType, PipelineOperationRollbackResult, PipelineOperationRollbackResultType, PipelineResult, PipelineResultType, PipelineStatus, PipelineStep, PipelineStepErrorType, PipelineStepOperation, PipelineStepResult, PipelineStepResultType, PipelineStepRollbackResult, PipelineStepRollbackResultType, PipelineStepState, PipelineTemplateProps, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, RegistrationEmailPayload, ReplicaConfiguration, ReplicaOptions, ReplicationMode, Roles, RolesGuardOptions, RollbackOperationDefinition, RuntimeErrorInformation, SendgridEmailModule, SendgridEmailTemplate, SendgridEmailTemplateData, SendgridSettings, SendgridTemplateBaseData, SendgridTemplateType, SortDirection, SortingType, StringFacet, StringFacetItem, TemplatedEmailInput, TrackingService, 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 as UserVerifyResetRequestResult, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntityVersioningProvider, WpEventsTracker, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
2332
+ export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppRole, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationModuleSettings, AuthenticationService, AwsBucketModule, AwsBucketSettings, AwsEmailModule, AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, AwsSesEmailTemplateData, AwsSesSettings, BooleanFacet, BooleanFacetItem, BucketContentItem, BucketFileDeleteInput, BucketFileDownloadInput, BucketFilePublicUrlCreateInput, BucketFileUploadInput, BucketFolderContentResult, BucketFolderCreateInput, BucketFolderEnsureInput, BucketFolderExistsInput, BucketFolderListInput, BucketFolderListResult, BucketItemType, BucketProviderProps, ClassType, DeepPartial, EmailService, EmailTemplateProps, EmailVerifyEmailPayload, EmailVerifyTokenPayload, EntitiesExportFile, EntitiesExportInput, EntitiesExportOptions, EntitiesExportResult, EntitiesImportExportSettings, EntitiesImportInput, EntitiesImportResult, EntitiesImportStatistics, EntitiesSampleDownloadOptions, EntitiesSampleDownloadResult, EntityActionsProps, EntityAdapterProps, EntityAuthMiddlewareProps, EntityConnectorProps, EntityConverterProps, EntityExportBucketSettings, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerService, EntityManagerSettings, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, EntitySeeder, EntitySeederProps, EntitySerializationFormat, EntitySerializer, EntitySerializerColumnDefinition, EntitySerializerProps, EntitySerializerSheetDefinition, EntityVersionInput, EntityVersionOperation, EntityVersioningProviderProps, EnumType, EventsService, EventsTrackerProps, FilterExpression, HtmlEmailInput, IAppCompany, IAppDivision, IAppOrganization, IAppRole, IAppTenant, IAppUser, IAppUserGroup, IAppUserProfile, IAuthRole, IAuthRoleService, IAuthService, IAuthUser, IAuthUserContext, IAuthUserOrganization, IAuthUserProfile, IAuthUserRolesService, IAuthUserService, IAuthUserTokenData, IAuthenticationContext, IAuthenticationContextProvider, IAuthorizationResult, IBucketProvider, IEmailProvider, IEmailTemplate, IEmailTemplatesCollection, IEntitiesCountAction, IEntitiesCountQuery, IEntitiesDeleteAction, IEntitiesDeleteCommand, IEntitiesDeleteParameters, IEntitiesDeleteResult$1 as IEntitiesDeleteResult, IEntitiesExportAction, IEntitiesExportCommand, IEntitiesImportAction, IEntitiesImportCommand, IEntitiesQueryBuilder, IEntitiesSampleDownloadAction, IEntitiesSampleDownloadCommand, IEntitiesSearchAction, IEntitiesSearchQuery, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityExistsAction, IEntityExistsQuery, IEntityFacet, IEntityFacetItem, IEntityFacets, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntitySerializer, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IEntityVersioningProvider, IEntityVersioningResults, IEntityVersionsCursor, IEntityVersionsFilters, IEntityVersionsReference, IEntityVersionsResultsPaging, IEntityVersionsSearchAction, IEntityVersionsSearchParameters, IEntityVersionsSearchQuery, IEntityVersionsSearchResults, IEntityVersionsSorting, IEventLog, IEventsTracker, IFullTextQuery, IPipelineStepBuilder, IPipelineStepOperationBuilder, IPipelineStepOperationOptionsBuilder, IPipelineTemplateBuilder, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, LocalizedMap, LocalizedTexts, MemberOf, MessagingEmailSentPayload, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NonNullable$1 as NonNullable, NumericFacet, NumericFacetItem, OperationDefinition, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PasswordResetEmailPayload, PipelineCompletedStepState, PipelineController, PipelineCurrentStepState, PipelineDefinition, PipelineErrorType, PipelineOperationError, PipelineOperationResult, PipelineOperationResultType, PipelineOperationRollbackResult, PipelineOperationRollbackResultType, PipelineResult, PipelineResultType, PipelineStatus, PipelineStep, PipelineStepErrorType, PipelineStepOperation, PipelineStepResult, PipelineStepResultType, PipelineStepRollbackResult, PipelineStepRollbackResultType, PipelineStepState, PipelineTemplateProps, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, RegistrationEmailPayload, ReplicaConfiguration, ReplicaOptions, ReplicationMode, Roles, RolesGuardOptions, RollbackOperationDefinition, RuntimeErrorInformation, SendgridEmailModule, SendgridEmailTemplate, SendgridEmailTemplateData, SendgridSettings, SendgridTemplateBaseData, SendgridTemplateType, SortDirection, SortingType, StringFacet, StringFacetItem, TemplatedEmailInput, TrackingService, 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 as UserVerifyResetRequestResult, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntityVersioningProvider, WpEventsTracker, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@punks/backend-entity-manager",
3
- "version": "0.0.102",
3
+ "version": "0.0.103",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",