@punks/backend-entity-manager 0.0.102 → 0.0.104

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 (78) hide show
  1. package/dist/cjs/index.js +85 -4
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/__test__/providers/typeorm/queries/foo.d.ts +2 -1
  4. package/dist/cjs/types/abstractions/actions.d.ts +5 -0
  5. package/dist/cjs/types/abstractions/index.d.ts +3 -3
  6. package/dist/cjs/types/abstractions/manager.d.ts +2 -1
  7. package/dist/cjs/types/abstractions/queries.d.ts +4 -1
  8. package/dist/cjs/types/abstractions/versioning.d.ts +7 -1
  9. package/dist/cjs/types/actions/versions.d.ts +8 -0
  10. package/dist/cjs/types/concrete/index.d.ts +4 -2
  11. package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +2 -1
  12. package/dist/cjs/types/models/index.d.ts +1 -0
  13. package/dist/cjs/types/models/versioning.d.ts +44 -0
  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 -1
  16. package/dist/cjs/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.query.d.ts +2 -1
  17. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.query.d.ts +2 -1
  18. package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.query.d.ts +2 -1
  19. package/dist/cjs/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.query.d.ts +2 -1
  20. package/dist/cjs/types/platforms/nest/__test__/server/entities/appRoles/appRole.query.d.ts +2 -1
  21. package/dist/cjs/types/platforms/nest/__test__/server/entities/appTenants/appTenant.query.d.ts +2 -1
  22. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.query.d.ts +2 -1
  23. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.query.d.ts +2 -1
  24. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.query.d.ts +2 -1
  25. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.query.d.ts +2 -1
  26. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUsers/appUser.query.d.ts +2 -1
  27. package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +2 -1
  28. package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.types.d.ts +24 -1
  29. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +4 -1
  30. package/dist/cjs/types/platforms/nest/__test__/server/shared/api/facets.d.ts +12 -0
  31. package/dist/cjs/types/platforms/nest/__test__/server/shared/api/fields.d.ts +32 -0
  32. package/dist/cjs/types/platforms/nest/__test__/server/shared/api/versioning.d.ts +16 -0
  33. package/dist/cjs/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  34. package/dist/cjs/types/providers/services.d.ts +8 -2
  35. package/dist/cjs/types/queries/versions.d.ts +10 -0
  36. package/dist/cjs/types/symbols/ioc.d.ts +2 -0
  37. package/dist/esm/index.js +85 -5
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/types/__test__/providers/typeorm/queries/foo.d.ts +2 -1
  40. package/dist/esm/types/abstractions/actions.d.ts +5 -0
  41. package/dist/esm/types/abstractions/index.d.ts +3 -3
  42. package/dist/esm/types/abstractions/manager.d.ts +2 -1
  43. package/dist/esm/types/abstractions/queries.d.ts +4 -1
  44. package/dist/esm/types/abstractions/versioning.d.ts +7 -1
  45. package/dist/esm/types/actions/versions.d.ts +8 -0
  46. package/dist/esm/types/concrete/index.d.ts +4 -2
  47. package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +2 -1
  48. package/dist/esm/types/models/index.d.ts +1 -0
  49. package/dist/esm/types/models/versioning.d.ts +44 -0
  50. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.controller.d.ts +2 -1
  51. package/dist/esm/types/platforms/nest/__test__/server/app/foos/foo.dto.d.ts +7 -1
  52. package/dist/esm/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.query.d.ts +2 -1
  53. package/dist/esm/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.query.d.ts +2 -1
  54. package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.query.d.ts +2 -1
  55. package/dist/esm/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.query.d.ts +2 -1
  56. package/dist/esm/types/platforms/nest/__test__/server/entities/appRoles/appRole.query.d.ts +2 -1
  57. package/dist/esm/types/platforms/nest/__test__/server/entities/appTenants/appTenant.query.d.ts +2 -1
  58. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.query.d.ts +2 -1
  59. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.query.d.ts +2 -1
  60. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.query.d.ts +2 -1
  61. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.query.d.ts +2 -1
  62. package/dist/esm/types/platforms/nest/__test__/server/entities/appUsers/appUser.query.d.ts +2 -1
  63. package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +2 -1
  64. package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.types.d.ts +24 -1
  65. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/versioning/providers/entity-versioning/index.d.ts +4 -1
  66. package/dist/esm/types/platforms/nest/__test__/server/shared/api/facets.d.ts +12 -0
  67. package/dist/esm/types/platforms/nest/__test__/server/shared/api/fields.d.ts +32 -0
  68. package/dist/esm/types/platforms/nest/__test__/server/shared/api/versioning.d.ts +16 -0
  69. package/dist/esm/types/platforms/nest/__test__/tests/ports.d.ts +1 -0
  70. package/dist/esm/types/platforms/nest/__test__/tests/versioning/entity-versioning-api.test.d.ts +1 -0
  71. package/dist/esm/types/platforms/nest/__test__/tests/versioning/entity-versioning-operations.test.d.ts +1 -0
  72. package/dist/esm/types/providers/services.d.ts +8 -2
  73. package/dist/esm/types/queries/versions.d.ts +10 -0
  74. package/dist/esm/types/symbols/ioc.d.ts +2 -0
  75. package/dist/index.d.ts +67 -3
  76. package/package.json +1 -1
  77. /package/dist/cjs/types/platforms/nest/__test__/tests/versioning/{entity-versioning.test.d.ts → entity-versioning-api.test.d.ts} +0 -0
  78. /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,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext } from "../../../../abstractions";
3
3
  import { TypeOrmQueryBuilder } from "../../../../integrations";
4
4
  import { EntityServiceLocator } from "../../../../providers/services";
@@ -7,6 +7,7 @@ import { FooFacets, FooSearchParameters, FooSorting } from "../models/foo";
7
7
  export declare class FooQueryBuilder extends TypeOrmQueryBuilder<FooEntity, FooSearchParameters, FooSorting, FooFacets, unknown> {
8
8
  constructor(services: EntityServiceLocator<FooEntity, string>);
9
9
  protected buildContextFilter(context?: IAuthenticationContext<unknown> | undefined): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
10
+ protected buildSortingClause(request: FooSearchParameters): FindOptionsOrder<FooEntity>;
10
11
  protected buildWhereClause(request: FooSearchParameters): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
11
12
  protected calculateFacets(request: FooSearchParameters): Promise<FooFacets>;
12
13
  }
@@ -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,4 +1,4 @@
1
- import { FindOptionsRelations, FindOptionsWhere, ObjectLiteral } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsRelations, FindOptionsWhere, ObjectLiteral } from "typeorm";
2
2
  import { IAuthenticationContext, IEntityFacets, IEntitySearchParameters, SortingType } from "../../../abstractions";
3
3
  import { IEntitiesSearchResults } from "../../../models";
4
4
  import { QueryBuilderBase } from "../../../templates";
@@ -24,6 +24,7 @@ export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral,
24
24
  take: number | undefined;
25
25
  };
26
26
  protected countQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<number>;
27
+ protected abstract buildSortingClause(request: TEntitySearchParameters): FindOptionsOrder<TEntity>;
27
28
  protected abstract buildWhereClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
28
29
  protected abstract buildContextFilter(context?: IAuthenticationContext<TUserContext>): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
29
30
  protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TFacets>;
@@ -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,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppCompanyEntity } from "../../database/core/entities/appCompany.entity";
4
4
  import { AppCompanyFacets, AppCompanySearchParameters, AppCompanySorting } from "./appCompany.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppCompanyQueryBuilder extends NestTypeOrmQueryBuilder<AppCompanyEntity, AppCompanySearchParameters, AppCompanySorting, AppCompanyFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppCompanyEntity> | FindOptionsWhere<AppCompanyEntity>[];
9
+ protected buildSortingClause(request: AppCompanySearchParameters): FindOptionsOrder<AppCompanyEntity>;
9
10
  protected buildWhereClause(request: AppCompanySearchParameters): FindOptionsWhere<AppCompanyEntity> | FindOptionsWhere<AppCompanyEntity>[];
10
11
  protected calculateFacets(request: AppCompanySearchParameters): Promise<AppCompanyFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppDivisionEntity } from "../../database/core/entities/appDivision.entity";
4
4
  import { AppDivisionFacets, AppDivisionSearchParameters, AppDivisionSorting } from "./appDivision.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppDivisionQueryBuilder extends NestTypeOrmQueryBuilder<AppDivisionEntity, AppDivisionSearchParameters, AppDivisionSorting, AppDivisionFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppDivisionEntity> | FindOptionsWhere<AppDivisionEntity>[];
9
+ protected buildSortingClause(request: AppDivisionSearchParameters): FindOptionsOrder<AppDivisionEntity>;
9
10
  protected buildWhereClause(request: AppDivisionSearchParameters): FindOptionsWhere<AppDivisionEntity> | FindOptionsWhere<AppDivisionEntity>[];
10
11
  protected calculateFacets(request: AppDivisionSearchParameters): Promise<AppDivisionFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppEntityVersionEntity } from "../../database/core/entities/appEntityVersion.entity";
4
4
  import { AppEntityVersionFacets, AppEntityVersionSorting } from "./appEntityVersion.models";
@@ -7,6 +7,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
7
7
  export declare class AppEntityVersionQueryBuilder extends NestTypeOrmQueryBuilder<AppEntityVersionEntity, AppEntityVersionSearchParameters, AppEntityVersionSorting, AppEntityVersionFacets, AppAuthContext> {
8
8
  constructor(registry: EntityManagerRegistry);
9
9
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext>): FindOptionsWhere<AppEntityVersionEntity> | FindOptionsWhere<AppEntityVersionEntity>[];
10
+ protected buildSortingClause(request: AppEntityVersionSearchParameters): FindOptionsOrder<AppEntityVersionEntity>;
10
11
  protected buildWhereClause(request: AppEntityVersionSearchParameters): FindOptionsWhere<AppEntityVersionEntity> | FindOptionsWhere<AppEntityVersionEntity>[];
11
12
  protected calculateFacets(request: AppEntityVersionSearchParameters, context?: IAuthenticationContext<AppAuthContext>): Promise<AppEntityVersionFacets>;
12
13
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppOrganizationEntity } from "../../database/core/entities/appOrganization.entity";
4
4
  import { AppOrganizationFacets, AppOrganizationSearchParameters, AppOrganizationSorting } from "./appOrganization.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppOrganizationQueryBuilder extends NestTypeOrmQueryBuilder<AppOrganizationEntity, AppOrganizationSearchParameters, AppOrganizationSorting, AppOrganizationFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppOrganizationEntity> | FindOptionsWhere<AppOrganizationEntity>[];
9
+ protected buildSortingClause(request: AppOrganizationSearchParameters): FindOptionsOrder<AppOrganizationEntity>;
9
10
  protected buildWhereClause(request: AppOrganizationSearchParameters): FindOptionsWhere<AppOrganizationEntity> | FindOptionsWhere<AppOrganizationEntity>[];
10
11
  protected calculateFacets(request: AppOrganizationSearchParameters): Promise<AppOrganizationFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsRelations, FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsRelations, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppRoleEntity } from "../../database/core/entities/appRole.entity";
4
4
  import { AppRoleFacets, AppRoleSearchParameters, AppRoleSorting } from "./appRole.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppRoleQueryBuilder extends NestTypeOrmQueryBuilder<AppRoleEntity, AppRoleSearchParameters, AppRoleSorting, AppRoleFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppRoleEntity> | FindOptionsWhere<AppRoleEntity>[];
9
+ protected buildSortingClause(request: AppRoleSearchParameters): FindOptionsOrder<AppRoleEntity>;
9
10
  protected buildWhereClause(request: AppRoleSearchParameters, context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppRoleEntity> | FindOptionsWhere<AppRoleEntity>[];
10
11
  protected calculateFacets(request: AppRoleSearchParameters): Promise<AppRoleFacets>;
11
12
  protected getRelationsToLoad(request: AppRoleSearchParameters, context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsRelations<AppRoleEntity> | undefined;
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppTenantEntity } from "../../database/core/entities/appTenant.entity";
4
4
  import { AppTenantFacets, AppTenantSearchParameters, AppTenantSorting } from "./appTenant.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppTenantQueryBuilder extends NestTypeOrmQueryBuilder<AppTenantEntity, AppTenantSearchParameters, AppTenantSorting, AppTenantFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppTenantEntity> | FindOptionsWhere<AppTenantEntity>[];
9
+ protected buildSortingClause(request: AppTenantSearchParameters): FindOptionsOrder<AppTenantEntity>;
9
10
  protected buildWhereClause(request: AppTenantSearchParameters): FindOptionsWhere<AppTenantEntity> | FindOptionsWhere<AppTenantEntity>[];
10
11
  protected calculateFacets(request: AppTenantSearchParameters): Promise<AppTenantFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppUserGroupMemberEntity } from "../../database/core/entities/appUserGroupMember.entity";
4
4
  import { AppUserGroupMemberFacets, AppUserGroupMemberSearchParameters, AppUserGroupMemberSorting } from "./appUserGroupMember.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppUserGroupMemberQueryBuilder extends NestTypeOrmQueryBuilder<AppUserGroupMemberEntity, AppUserGroupMemberSearchParameters, AppUserGroupMemberSorting, AppUserGroupMemberFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserGroupMemberEntity> | FindOptionsWhere<AppUserGroupMemberEntity>[];
9
+ protected buildSortingClause(request: AppUserGroupMemberSearchParameters): FindOptionsOrder<AppUserGroupMemberEntity>;
9
10
  protected buildWhereClause(request: AppUserGroupMemberSearchParameters): FindOptionsWhere<AppUserGroupMemberEntity> | FindOptionsWhere<AppUserGroupMemberEntity>[];
10
11
  protected calculateFacets(request: AppUserGroupMemberSearchParameters): Promise<AppUserGroupMemberFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppUserGroupEntity } from "../../database/core/entities/appUserGroup.entity";
4
4
  import { AppUserGroupFacets, AppUserGroupSearchParameters, AppUserGroupSorting } from "./appUserGroup.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppUserGroupQueryBuilder extends NestTypeOrmQueryBuilder<AppUserGroupEntity, AppUserGroupSearchParameters, AppUserGroupSorting, AppUserGroupFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserGroupEntity> | FindOptionsWhere<AppUserGroupEntity>[];
9
+ protected buildSortingClause(request: AppUserGroupSearchParameters): FindOptionsOrder<AppUserGroupEntity>;
9
10
  protected buildWhereClause(request: AppUserGroupSearchParameters): FindOptionsWhere<AppUserGroupEntity> | FindOptionsWhere<AppUserGroupEntity>[];
10
11
  protected calculateFacets(request: AppUserGroupSearchParameters): Promise<AppUserGroupFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppUserProfileEntity } from "../../database/core/entities/appUserProfile.entity";
4
4
  import { AppUserProfileFacets, AppUserProfileSearchParameters, AppUserProfileSorting } from "./appUserProfile.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppUserProfileQueryBuilder extends NestTypeOrmQueryBuilder<AppUserProfileEntity, AppUserProfileSearchParameters, AppUserProfileSorting, AppUserProfileFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserProfileEntity> | FindOptionsWhere<AppUserProfileEntity>[];
9
+ protected buildSortingClause(request: AppUserProfileSearchParameters): FindOptionsOrder<AppUserProfileEntity>;
9
10
  protected buildWhereClause(request: AppUserProfileSearchParameters): FindOptionsWhere<AppUserProfileEntity> | FindOptionsWhere<AppUserProfileEntity>[];
10
11
  protected calculateFacets(request: AppUserProfileSearchParameters): Promise<AppUserProfileFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsRelations, FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsRelations, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppUserRoleEntity } from "../../database/core/entities/appUserRole.entity";
4
4
  import { AppUserRoleFacets, AppUserRoleSearchParameters, AppUserRoleSorting } from "./appUserRole.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppUserRoleQueryBuilder extends NestTypeOrmQueryBuilder<AppUserRoleEntity, AppUserRoleSearchParameters, AppUserRoleSorting, AppUserRoleFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserRoleEntity> | FindOptionsWhere<AppUserRoleEntity>[];
9
+ protected buildSortingClause(request: AppUserRoleSearchParameters): FindOptionsOrder<AppUserRoleEntity>;
9
10
  protected buildWhereClause(request: AppUserRoleSearchParameters): FindOptionsWhere<AppUserRoleEntity> | FindOptionsWhere<AppUserRoleEntity>[];
10
11
  protected calculateFacets(request: AppUserRoleSearchParameters): Promise<AppUserRoleFacets>;
11
12
  protected getRelationsToLoad(request: AppUserRoleSearchParameters, context: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsRelations<AppUserRoleEntity> | undefined;
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
2
  import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
3
  import { AppUserEntity } from "../../database/core/entities/appUser.entity";
4
4
  import { AppUserFacets, AppUserSearchParameters, AppUserSorting } from "./appUser.models";
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
6
6
  export declare class AppUserQueryBuilder extends NestTypeOrmQueryBuilder<AppUserEntity, AppUserSearchParameters, AppUserSorting, AppUserFacets, AppAuthContext> {
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserEntity> | FindOptionsWhere<AppUserEntity>[];
9
+ protected buildSortingClause(request: AppUserSearchParameters): FindOptionsOrder<AppUserEntity>;
9
10
  protected buildWhereClause(request: AppUserSearchParameters): FindOptionsWhere<AppUserEntity> | FindOptionsWhere<AppUserEntity>[];
10
11
  protected calculateFacets(request: AppUserSearchParameters): Promise<AppUserFacets>;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { FindOptionsWhere } from "typeorm";
1
+ import { FindOptionsWhere, FindOptionsOrder } from "typeorm";
2
2
  import { FooEntity } from "../../database/core/entities/foo.entity";
3
3
  import { FooFacets, FooSearchParameters, FooSorting } from "./foo.models";
4
4
  import { NestTypeOrmQueryBuilder } from "../../../../integrations/typeorm";
@@ -8,6 +8,7 @@ import { AppAuthContext } from "../../infrastructure/authentication";
8
8
  export declare class FooQueryBuilder extends NestTypeOrmQueryBuilder<FooEntity, FooSearchParameters, FooSorting, FooFacets, AppAuthContext> {
9
9
  constructor(registry: EntityManagerRegistry);
10
10
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
11
+ protected buildSortingClause(request: FooSearchParameters): FindOptionsOrder<FooEntity>;
11
12
  protected buildWhereClause(request: FooSearchParameters): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
12
13
  private buildAgeWhereClause;
13
14
  protected calculateFacets(request: FooSearchParameters, context?: IAuthenticationContext<AppAuthContext>): Promise<FooFacets>;
@@ -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>;