@punks/backend-entity-manager 0.0.132 → 0.0.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +62 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/__test__/entity/foo.d.ts +5 -1
- package/dist/cjs/types/abstractions/errors.d.ts +2 -1
- package/dist/cjs/types/abstractions/manager.d.ts +2 -1
- package/dist/cjs/types/abstractions/queries.d.ts +10 -0
- package/dist/cjs/types/concrete/index.d.ts +2 -1
- package/dist/cjs/types/providers/services.d.ts +4 -1
- package/dist/cjs/types/queries/find.d.ts +12 -0
- package/dist/cjs/types/symbols/ioc.d.ts +1 -0
- package/dist/esm/index.js +62 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/__test__/entity/foo.d.ts +5 -1
- package/dist/esm/types/abstractions/errors.d.ts +2 -1
- package/dist/esm/types/abstractions/manager.d.ts +2 -1
- package/dist/esm/types/abstractions/queries.d.ts +10 -0
- package/dist/esm/types/concrete/index.d.ts +2 -1
- package/dist/esm/types/providers/services.d.ts +4 -1
- package/dist/esm/types/queries/find.d.ts +12 -0
- package/dist/esm/types/symbols/ioc.d.ts +1 -0
- package/dist/index.d.ts +16 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IEntityManagerServiceRoot } from "../../abstractions/configuration";
|
|
2
2
|
import { IEntityConverter } from "../../abstractions/converters";
|
|
3
3
|
import { IEntitiesQueryBuilder } from "../../abstractions/queries";
|
|
4
|
-
import { IEntitySearchParameters } from "../../abstractions/searchParameters";
|
|
4
|
+
import { IEntitySearchParameters, ISearchSorting } from "../../abstractions/searchParameters";
|
|
5
5
|
import { IEntitiesSearchResults } from "../../models";
|
|
6
6
|
import { EntityServiceLocator } from "../../providers/services";
|
|
7
7
|
import { InMemoryRepository } from "../../testing/mocks/repository";
|
|
@@ -35,6 +35,10 @@ export interface FooFacets {
|
|
|
35
35
|
export declare class FooQueryBuilder implements IEntitiesQueryBuilder<FooEntity, string, FooSearchParameters, FooSorting, FooCursor, FooFacets, unknown> {
|
|
36
36
|
private readonly repository;
|
|
37
37
|
constructor(services: EntityServiceLocator<FooEntity, string>);
|
|
38
|
+
find(request?: {
|
|
39
|
+
filters?: FooSearchFilters | undefined;
|
|
40
|
+
sorting?: ISearchSorting<FooSorting> | undefined;
|
|
41
|
+
} | undefined, context?: IAuthenticationContext<unknown> | undefined): Promise<FooEntity>;
|
|
38
42
|
get(id: string): Promise<FooEntity | undefined>;
|
|
39
43
|
exists(filters: FooSearchFilters, context?: IAuthenticationContext<unknown> | undefined): Promise<boolean>;
|
|
40
44
|
count(filters: FooSearchFilters, context?: IAuthenticationContext<unknown> | undefined): Promise<number>;
|
|
@@ -1,11 +1,12 @@
|
|
|
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, IEntityVersionsSearchQuery } from "./queries";
|
|
3
|
+
import { IEntitiesCountQuery, IEntitiesFindQuery, 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> {
|
|
7
7
|
get get(): IEntityGetQuery<TEntity, TEntityId>;
|
|
8
8
|
get search(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
9
|
+
get find(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
9
10
|
get exists(): IEntityExistsQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
|
|
10
11
|
get count(): IEntitiesCountQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
|
|
11
12
|
get create(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
@@ -10,6 +10,12 @@ export interface IEntitiesSearchQuery<TEntity, TEntitySearchParameters extends I
|
|
|
10
10
|
export interface IEntityGetQuery<TEntity, TEntityId> {
|
|
11
11
|
execute(id: TEntityId): Promise<TEntity | undefined>;
|
|
12
12
|
}
|
|
13
|
+
export interface IEntitiesFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor> {
|
|
14
|
+
execute(request: {
|
|
15
|
+
filters?: TEntitySearchParameters["filters"];
|
|
16
|
+
sorting?: TEntitySearchParameters["sorting"];
|
|
17
|
+
}): Promise<TEntity>;
|
|
18
|
+
}
|
|
13
19
|
export interface IEntityExistsQuery<TEntity, TEntityFilters extends ISearchFilters> {
|
|
14
20
|
execute(filters: TEntityFilters): Promise<boolean>;
|
|
15
21
|
}
|
|
@@ -21,6 +27,10 @@ export interface IEntityVersionsSearchQuery<TEntity, TCursor> {
|
|
|
21
27
|
}
|
|
22
28
|
export interface IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> {
|
|
23
29
|
get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
|
|
30
|
+
find(request?: {
|
|
31
|
+
filters?: TEntitySearchParameters["filters"];
|
|
32
|
+
sorting?: TEntitySearchParameters["sorting"];
|
|
33
|
+
}, context?: IAuthenticationContext<TUserContext>): Promise<TEntity>;
|
|
24
34
|
search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
|
|
25
35
|
exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<boolean>;
|
|
26
36
|
count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<number>;
|
|
@@ -2,7 +2,7 @@ import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEn
|
|
|
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, IEntityVersionsSearchQuery } from "../abstractions/queries";
|
|
5
|
+
import { IEntitiesCountQuery, IEntitiesFindQuery, 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";
|
|
@@ -14,6 +14,7 @@ export declare class EntityManager<TEntity, TEntityId, TEntityCreateData, TEntit
|
|
|
14
14
|
get deleteItems(): IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>;
|
|
15
15
|
get get(): IEntityGetQuery<TEntity, TEntityId>;
|
|
16
16
|
get search(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
17
|
+
get find(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
17
18
|
get create(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
18
19
|
get update(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
19
20
|
get upsert(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
@@ -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, IEntityVersionsSearchQuery } from "../abstractions/queries";
|
|
12
|
+
import { IEntitiesCountQuery, IEntitiesFindQuery, 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";
|
|
@@ -42,6 +42,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
42
42
|
resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
|
|
43
43
|
resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
|
|
44
44
|
resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
45
|
+
resolveFindQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
45
46
|
resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
46
47
|
resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
47
48
|
resolveUpsertCommand<TEntityUpdateData>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
@@ -128,6 +129,8 @@ export declare class EntitiesServiceLocator {
|
|
|
128
129
|
registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
|
|
129
130
|
resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
130
131
|
registerSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
|
|
132
|
+
resolveFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
133
|
+
registerFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string, instance: IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>): void;
|
|
131
134
|
resolveExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntityExistsQuery<TEntity, TEntityFilters>;
|
|
132
135
|
registerExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsQuery<TEntity, TEntityFilters>): void;
|
|
133
136
|
resolveCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountQuery<TEntity, TEntityFilters>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SortingType } from "../abstractions/common";
|
|
2
|
+
import { IEntitiesFindQuery } from "../abstractions/queries";
|
|
3
|
+
import { IEntitySearchParameters } from "../abstractions/searchParameters";
|
|
4
|
+
import { EntityServiceLocator } from "../providers/services";
|
|
5
|
+
export declare class EntitiesFindQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TUserContext> implements IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor> {
|
|
6
|
+
private readonly services;
|
|
7
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
8
|
+
execute(request: TEntitySearchParameters): Promise<TEntity>;
|
|
9
|
+
private getContext;
|
|
10
|
+
private filterAllowedEntities;
|
|
11
|
+
private authorizeSearch;
|
|
12
|
+
}
|
|
@@ -46,6 +46,7 @@ export declare const EntityServices: {
|
|
|
46
46
|
IEntityCountQuery: string;
|
|
47
47
|
IEntityExistsQuery: string;
|
|
48
48
|
IEntityGetQuery: string;
|
|
49
|
+
IEntitiesFindQuery: string;
|
|
49
50
|
IEntitiesSearchQuery: string;
|
|
50
51
|
IEntitiesQueryBuilder: string;
|
|
51
52
|
IEntityVersionsSearchQuery: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -643,6 +643,12 @@ interface IEntitiesSearchQuery<TEntity, TEntitySearchParameters extends IEntityS
|
|
|
643
643
|
interface IEntityGetQuery<TEntity, TEntityId> {
|
|
644
644
|
execute(id: TEntityId): Promise<TEntity | undefined>;
|
|
645
645
|
}
|
|
646
|
+
interface IEntitiesFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor> {
|
|
647
|
+
execute(request: {
|
|
648
|
+
filters?: TEntitySearchParameters["filters"];
|
|
649
|
+
sorting?: TEntitySearchParameters["sorting"];
|
|
650
|
+
}): Promise<TEntity>;
|
|
651
|
+
}
|
|
646
652
|
interface IEntityExistsQuery<TEntity, TEntityFilters extends ISearchFilters> {
|
|
647
653
|
execute(filters: TEntityFilters): Promise<boolean>;
|
|
648
654
|
}
|
|
@@ -654,6 +660,10 @@ interface IEntityVersionsSearchQuery<TEntity, TCursor> {
|
|
|
654
660
|
}
|
|
655
661
|
interface IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> {
|
|
656
662
|
get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
|
|
663
|
+
find(request?: {
|
|
664
|
+
filters?: TEntitySearchParameters["filters"];
|
|
665
|
+
sorting?: TEntitySearchParameters["sorting"];
|
|
666
|
+
}, context?: IAuthenticationContext<TUserContext>): Promise<TEntity>;
|
|
657
667
|
search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
|
|
658
668
|
exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<boolean>;
|
|
659
669
|
count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<number>;
|
|
@@ -663,6 +673,7 @@ interface IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters exte
|
|
|
663
673
|
interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
|
|
664
674
|
get get(): IEntityGetQuery<TEntity, TEntityId>;
|
|
665
675
|
get search(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
676
|
+
get find(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
666
677
|
get exists(): IEntityExistsQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
|
|
667
678
|
get count(): IEntitiesCountQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
|
|
668
679
|
get create(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
@@ -748,6 +759,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
748
759
|
resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
|
|
749
760
|
resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
|
|
750
761
|
resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
762
|
+
resolveFindQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
751
763
|
resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
752
764
|
resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
753
765
|
resolveUpsertCommand<TEntityUpdateData>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
@@ -834,6 +846,8 @@ declare class EntitiesServiceLocator {
|
|
|
834
846
|
registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
|
|
835
847
|
resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
836
848
|
registerSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
|
|
849
|
+
resolveFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
850
|
+
registerFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string, instance: IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>): void;
|
|
837
851
|
resolveExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntityExistsQuery<TEntity, TEntityFilters>;
|
|
838
852
|
registerExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsQuery<TEntity, TEntityFilters>): void;
|
|
839
853
|
resolveCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountQuery<TEntity, TEntityFilters>;
|
|
@@ -962,7 +976,8 @@ declare enum EntityOperationType {
|
|
|
962
976
|
Update = 1,
|
|
963
977
|
Delete = 2,
|
|
964
978
|
Read = 3,
|
|
965
|
-
Search = 4
|
|
979
|
+
Search = 4,
|
|
980
|
+
Find = 5
|
|
966
981
|
}
|
|
967
982
|
declare abstract class EntityManagerUnauthorizedException extends EntityManagerException {
|
|
968
983
|
constructor(message: string);
|