@punks/backend-entity-manager 0.0.132 → 0.0.133
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/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/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 +15 -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>;
|
|
@@ -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>;
|
|
@@ -748,6 +758,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
748
758
|
resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
|
|
749
759
|
resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
|
|
750
760
|
resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
761
|
+
resolveFindQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
751
762
|
resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
752
763
|
resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
753
764
|
resolveUpsertCommand<TEntityUpdateData>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
@@ -834,6 +845,8 @@ declare class EntitiesServiceLocator {
|
|
|
834
845
|
registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
|
|
835
846
|
resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
836
847
|
registerSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
|
|
848
|
+
resolveFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
|
|
849
|
+
registerFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string, instance: IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>): void;
|
|
837
850
|
resolveExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntityExistsQuery<TEntity, TEntityFilters>;
|
|
838
851
|
registerExistsQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsQuery<TEntity, TEntityFilters>): void;
|
|
839
852
|
resolveCountQuery<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountQuery<TEntity, TEntityFilters>;
|
|
@@ -962,7 +975,8 @@ declare enum EntityOperationType {
|
|
|
962
975
|
Update = 1,
|
|
963
976
|
Delete = 2,
|
|
964
977
|
Read = 3,
|
|
965
|
-
Search = 4
|
|
978
|
+
Search = 4,
|
|
979
|
+
Find = 5
|
|
966
980
|
}
|
|
967
981
|
declare abstract class EntityManagerUnauthorizedException extends EntityManagerException {
|
|
968
982
|
constructor(message: string);
|