@punks/backend-entity-manager 0.0.1
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 +15184 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/__test__/base/test-actions-plain.test.d.ts +1 -0
- package/dist/cjs/types/__test__/base/test-actions-with-converters.test.d.ts +1 -0
- package/dist/cjs/types/__test__/base/test-default-entity-manager.test.d.ts +1 -0
- package/dist/cjs/types/__test__/entity/foo.d.ts +72 -0
- package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +73 -0
- package/dist/cjs/types/__test__/providers/typeorm/mock/index.d.ts +7 -0
- package/dist/cjs/types/__test__/providers/typeorm/test-typeorm-actions.test.d.ts +1 -0
- package/dist/cjs/types/abstractions/actions.d.ts +29 -0
- package/dist/cjs/types/abstractions/authorization.d.ts +9 -0
- package/dist/cjs/types/abstractions/commands.d.ts +12 -0
- package/dist/cjs/types/abstractions/common.d.ts +11 -0
- package/dist/cjs/types/abstractions/configuration.d.ts +34 -0
- package/dist/cjs/types/abstractions/connectors.d.ts +30 -0
- package/dist/cjs/types/abstractions/converters.d.ts +24 -0
- package/dist/cjs/types/abstractions/errors.d.ts +24 -0
- package/dist/cjs/types/abstractions/events.d.ts +5 -0
- package/dist/cjs/types/abstractions/filters.d.ts +1 -0
- package/dist/cjs/types/abstractions/index.d.ts +15 -0
- package/dist/cjs/types/abstractions/ioc.d.ts +12 -0
- package/dist/cjs/types/abstractions/manager.d.ts +12 -0
- package/dist/cjs/types/abstractions/mappers.d.ts +3 -0
- package/dist/cjs/types/abstractions/queries.d.ts +12 -0
- package/dist/cjs/types/abstractions/replication.d.ts +25 -0
- package/dist/cjs/types/abstractions/repository.d.ts +15 -0
- package/dist/cjs/types/abstractions/searchParameters.d.ts +26 -0
- package/dist/cjs/types/abstractions/searchResults.d.ts +16 -0
- package/dist/cjs/types/actions/create.d.ts +8 -0
- package/dist/cjs/types/actions/delete.d.ts +7 -0
- package/dist/cjs/types/actions/get.d.ts +7 -0
- package/dist/cjs/types/actions/search.d.ts +10 -0
- package/dist/cjs/types/actions/update.d.ts +7 -0
- package/dist/cjs/types/actions/upsert.d.ts +7 -0
- package/dist/cjs/types/authorization/allowAll.d.ts +13 -0
- package/dist/cjs/types/commands/create.d.ts +9 -0
- package/dist/cjs/types/commands/delete.d.ts +8 -0
- package/dist/cjs/types/commands/update.d.ts +9 -0
- package/dist/cjs/types/commands/upsert.d.ts +10 -0
- package/dist/cjs/types/concrete/index.d.ts +27 -0
- package/dist/cjs/types/configuration/connectors.d.ts +8 -0
- package/dist/cjs/types/configuration/index.d.ts +1 -0
- package/dist/cjs/types/configuration/replicas.d.ts +8 -0
- package/dist/cjs/types/configuration/root.d.ts +2 -0
- package/dist/cjs/types/decorators/decorators.test.d.ts +2 -0
- package/dist/cjs/types/decorators/index.d.ts +3 -0
- package/dist/cjs/types/index.d.ts +2 -0
- package/dist/cjs/types/integrations/repository/typeorm/index.d.ts +1 -0
- package/dist/cjs/types/integrations/repository/typeorm/repository.d.ts +22 -0
- package/dist/cjs/types/ioc/index.d.ts +13 -0
- package/dist/cjs/types/models/index.d.ts +1 -0
- package/dist/cjs/types/models/search.d.ts +17 -0
- package/dist/cjs/types/platforms/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/ioc/container/index.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/module.d.ts +5 -0
- package/dist/cjs/types/platforms/nest/services/manager/index.d.ts +2 -0
- package/dist/cjs/types/providers/services.d.ts +114 -0
- package/dist/cjs/types/queries/get.d.ts +8 -0
- package/dist/cjs/types/queries/search.d.ts +10 -0
- package/dist/cjs/types/reflection/index.d.ts +1 -0
- package/dist/cjs/types/services/connectors.d.ts +13 -0
- package/dist/cjs/types/services/events.d.ts +9 -0
- package/dist/cjs/types/services/replication.d.ts +12 -0
- package/dist/cjs/types/symbols/ioc.d.ts +54 -0
- package/dist/cjs/types/testing/mocks/repository.d.ts +20 -0
- package/dist/esm/index.js +15170 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/__test__/base/test-actions-plain.test.d.ts +1 -0
- package/dist/esm/types/__test__/base/test-actions-with-converters.test.d.ts +1 -0
- package/dist/esm/types/__test__/base/test-default-entity-manager.test.d.ts +1 -0
- package/dist/esm/types/__test__/entity/foo.d.ts +72 -0
- package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +73 -0
- package/dist/esm/types/__test__/providers/typeorm/mock/index.d.ts +7 -0
- package/dist/esm/types/__test__/providers/typeorm/test-typeorm-actions.test.d.ts +1 -0
- package/dist/esm/types/abstractions/actions.d.ts +29 -0
- package/dist/esm/types/abstractions/authorization.d.ts +9 -0
- package/dist/esm/types/abstractions/commands.d.ts +12 -0
- package/dist/esm/types/abstractions/common.d.ts +11 -0
- package/dist/esm/types/abstractions/configuration.d.ts +34 -0
- package/dist/esm/types/abstractions/connectors.d.ts +30 -0
- package/dist/esm/types/abstractions/converters.d.ts +24 -0
- package/dist/esm/types/abstractions/errors.d.ts +24 -0
- package/dist/esm/types/abstractions/events.d.ts +5 -0
- package/dist/esm/types/abstractions/filters.d.ts +1 -0
- package/dist/esm/types/abstractions/index.d.ts +15 -0
- package/dist/esm/types/abstractions/ioc.d.ts +12 -0
- package/dist/esm/types/abstractions/manager.d.ts +12 -0
- package/dist/esm/types/abstractions/mappers.d.ts +3 -0
- package/dist/esm/types/abstractions/queries.d.ts +12 -0
- package/dist/esm/types/abstractions/replication.d.ts +25 -0
- package/dist/esm/types/abstractions/repository.d.ts +15 -0
- package/dist/esm/types/abstractions/searchParameters.d.ts +26 -0
- package/dist/esm/types/abstractions/searchResults.d.ts +16 -0
- package/dist/esm/types/actions/create.d.ts +8 -0
- package/dist/esm/types/actions/delete.d.ts +7 -0
- package/dist/esm/types/actions/get.d.ts +7 -0
- package/dist/esm/types/actions/search.d.ts +10 -0
- package/dist/esm/types/actions/update.d.ts +7 -0
- package/dist/esm/types/actions/upsert.d.ts +7 -0
- package/dist/esm/types/authorization/allowAll.d.ts +13 -0
- package/dist/esm/types/commands/create.d.ts +9 -0
- package/dist/esm/types/commands/delete.d.ts +8 -0
- package/dist/esm/types/commands/update.d.ts +9 -0
- package/dist/esm/types/commands/upsert.d.ts +10 -0
- package/dist/esm/types/concrete/index.d.ts +27 -0
- package/dist/esm/types/configuration/connectors.d.ts +8 -0
- package/dist/esm/types/configuration/index.d.ts +1 -0
- package/dist/esm/types/configuration/replicas.d.ts +8 -0
- package/dist/esm/types/configuration/root.d.ts +2 -0
- package/dist/esm/types/decorators/decorators.test.d.ts +2 -0
- package/dist/esm/types/decorators/index.d.ts +3 -0
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/types/integrations/repository/typeorm/index.d.ts +1 -0
- package/dist/esm/types/integrations/repository/typeorm/repository.d.ts +22 -0
- package/dist/esm/types/ioc/index.d.ts +13 -0
- package/dist/esm/types/models/index.d.ts +1 -0
- package/dist/esm/types/models/search.d.ts +17 -0
- package/dist/esm/types/platforms/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/ioc/container/index.d.ts +3 -0
- package/dist/esm/types/platforms/nest/module.d.ts +5 -0
- package/dist/esm/types/platforms/nest/services/manager/index.d.ts +2 -0
- package/dist/esm/types/providers/services.d.ts +114 -0
- package/dist/esm/types/queries/get.d.ts +8 -0
- package/dist/esm/types/queries/search.d.ts +10 -0
- package/dist/esm/types/reflection/index.d.ts +1 -0
- package/dist/esm/types/services/connectors.d.ts +13 -0
- package/dist/esm/types/services/events.d.ts +9 -0
- package/dist/esm/types/services/replication.d.ts +12 -0
- package/dist/esm/types/symbols/ioc.d.ts +54 -0
- package/dist/esm/types/testing/mocks/repository.d.ts +20 -0
- package/dist/index.d.ts +431 -0
- package/package.json +62 -0
- package/readme.md +17 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction } from "../abstractions/actions";
|
|
2
|
+
import { IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEntityUpsertCommand } from "../abstractions/commands";
|
|
3
|
+
import { SortingType } from "../abstractions/common";
|
|
4
|
+
import { IEntityManager } from "../abstractions/manager";
|
|
5
|
+
import { IEntitiesSearchQuery, IEntityGetQuery } from "../abstractions/queries";
|
|
6
|
+
import { IEntitySearchParameters } from "../abstractions/searchParameters";
|
|
7
|
+
import { EntityServiceLocator } from "../providers/services";
|
|
8
|
+
export declare class EntityManager<TEntity, TEntityId> implements IEntityManager<TEntity, TEntityId> {
|
|
9
|
+
private readonly services;
|
|
10
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
11
|
+
get<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
|
|
12
|
+
search<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
13
|
+
create<TEntityCreateInput>(): IEntityCreateCommand<TEntity, TEntityCreateInput>;
|
|
14
|
+
update<TEntityUpdateInput>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateInput>;
|
|
15
|
+
upsert<TEntityUpdateInput>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateInput>;
|
|
16
|
+
delete<TEntityId>(): IEntityDeleteCommand<TEntity, TEntityId>;
|
|
17
|
+
}
|
|
18
|
+
export declare class EntityActions<TEntity, TEntityId> implements IEntityActions<TEntity, TEntityId> {
|
|
19
|
+
private readonly services;
|
|
20
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
21
|
+
get<TEntityId, TEntityDto>(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
|
|
22
|
+
search<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
|
|
23
|
+
create<TEntityCreateInput, TEntityDto>(): IEntityCreateAction<TEntity, TEntityCreateInput, TEntityDto>;
|
|
24
|
+
update<TEntityUpdateInput, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateInput, TEntityDto>;
|
|
25
|
+
upsert<TEntityUpdateInput, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateInput, TEntityDto>;
|
|
26
|
+
delete(): IEntityDeleteAction<TEntity, TEntityId>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ConnectorConfiguration, ConnectorOptions, IConnectorsConfiguration, IEntityConnector } from "../abstractions/connectors";
|
|
2
|
+
import { IEntityMapper } from "../abstractions/mappers";
|
|
3
|
+
export declare class ConnectorsConfiguration<TEntity> implements IConnectorsConfiguration<TEntity> {
|
|
4
|
+
private readonly connectors;
|
|
5
|
+
configureConnector<TEntityConnector extends IEntityConnector<TEntity, TMappedType>, TMappedType, TMapper extends IEntityMapper<TEntity, TMappedType>>(name: string, options: ConnectorOptions, connector: TEntityConnector, mapper: TMapper): void;
|
|
6
|
+
getConnector(name: string): ConnectorConfiguration<TEntity>;
|
|
7
|
+
getConnectors(): ConnectorConfiguration<TEntity>[];
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createContainer } from "./root";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IReplicasConfiguration, ReplicaConfiguration, ReplicaOptions } from "../abstractions/replication";
|
|
2
|
+
import { IEntityRepository } from "../abstractions/repository";
|
|
3
|
+
export declare class ReplicasConfiguration<TEntity, TEntityId> implements IReplicasConfiguration<TEntity, TEntityId> {
|
|
4
|
+
private readonly replicas;
|
|
5
|
+
configureReplica<TRepository extends IEntityRepository<TEntity, TEntityId, unknown, unknown, unknown, unknown>>(name: string, options: ReplicaOptions, repository: TRepository): void;
|
|
6
|
+
getReplica(name: string): ReplicaConfiguration<TEntity, TEntityId>;
|
|
7
|
+
getReplicas(): ReplicaConfiguration<TEntity, TEntityId>[];
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./repository";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FindManyOptions, FindOneOptions, FindOptionsWhere, ObjectId, ObjectLiteral, Repository } from "typeorm";
|
|
2
|
+
import { IEntityRepository } from "../../../abstractions";
|
|
3
|
+
type UpdateCriteria<TEntity extends ObjectLiteral> = string | string[] | number | number[] | Date | Date[] | ObjectId | ObjectId[] | FindOptionsWhere<TEntity>;
|
|
4
|
+
type DeleteCriteria<TEntity extends ObjectLiteral> = string | string[] | number | number[] | Date | Date[] | ObjectId | ObjectId[] | FindOptionsWhere<TEntity>;
|
|
5
|
+
export declare class TypeOrmRepository<TEntity extends ObjectLiteral, TEntityId> implements IEntityRepository<TEntity, TEntityId, FindOneOptions<TEntity>, FindManyOptions<TEntity>, UpdateCriteria<TEntity>, DeleteCriteria<TEntity>> {
|
|
6
|
+
private readonly innerRepository;
|
|
7
|
+
constructor(innerRepository: Repository<TEntity>);
|
|
8
|
+
exists(id: TEntityId): Promise<boolean>;
|
|
9
|
+
existsBy(condition: FindOneOptions<TEntity>): Promise<boolean>;
|
|
10
|
+
get(id: TEntityId): Promise<TEntity | undefined>;
|
|
11
|
+
getBy(condition: FindOneOptions<TEntity>): Promise<TEntity | undefined>;
|
|
12
|
+
all(): Promise<TEntity[]>;
|
|
13
|
+
find(condition: FindManyOptions<TEntity>): Promise<TEntity[]>;
|
|
14
|
+
findById(id: TEntityId[]): Promise<TEntity[]>;
|
|
15
|
+
delete(id: TEntityId): Promise<void>;
|
|
16
|
+
deleteBy(condition: DeleteCriteria<TEntity>): Promise<void>;
|
|
17
|
+
create(entity: Partial<TEntity>): Promise<TEntity>;
|
|
18
|
+
update(id: TEntityId, entity: Partial<TEntity>): Promise<TEntity>;
|
|
19
|
+
updateBy(entity: Partial<TEntity>, condition: UpdateCriteria<TEntity>): Promise<TEntity[]>;
|
|
20
|
+
upsert(id: TEntityId, entity: Partial<TEntity>): Promise<TEntity>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Type } from "../abstractions/common";
|
|
2
|
+
import { IResolveServiceOptions, IServiceLocator } from "../abstractions/ioc";
|
|
3
|
+
export declare class ServiceLocator implements IServiceLocator {
|
|
4
|
+
private services;
|
|
5
|
+
register<T>(name: string, service: T): void;
|
|
6
|
+
registerEntityService<T>(serviceName: string, entityName: string, service: T): void;
|
|
7
|
+
registerEntityServiceType<T>(serviceType: Type<T>, entityName: string, service: T): void;
|
|
8
|
+
resolve<T>(name: string, options?: IResolveServiceOptions): T;
|
|
9
|
+
resolveEntityService<T>(serviceName: string, entityName: string, options?: IResolveServiceOptions): T;
|
|
10
|
+
resolveEntityServiceType<T>(serviceType: Type<T>, entityName: string, options?: IResolveServiceOptions): T;
|
|
11
|
+
private buildServiceTypeName;
|
|
12
|
+
private buildServiceName;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EntitiesSearchResultsPaging, EntitiesSearchResults } from "./search";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SortingType } from "../abstractions/common";
|
|
2
|
+
import { IEntitySearchParameters } from "../abstractions/searchParameters";
|
|
3
|
+
export type EntitiesSearchResultsPaging<TCursor> = {
|
|
4
|
+
pageIndex: number;
|
|
5
|
+
pageSize: number;
|
|
6
|
+
totPages: number;
|
|
7
|
+
totItems: number;
|
|
8
|
+
nextPageCursor?: TCursor;
|
|
9
|
+
currentPageCursor?: TCursor;
|
|
10
|
+
prevPageCursor?: TCursor;
|
|
11
|
+
};
|
|
12
|
+
export type EntitiesSearchResults<TSearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TResult, TSorting extends SortingType, TCursor, TFacets> = {
|
|
13
|
+
request: TSearchParameters;
|
|
14
|
+
items: TResult[];
|
|
15
|
+
facets?: TFacets;
|
|
16
|
+
paging?: EntitiesSearchResultsPaging<TCursor>;
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./nest";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EntityManagerModule } from "./module";
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction } from "../abstractions/actions";
|
|
2
|
+
import { IEntityAuthorizationMiddleware } from "../abstractions/authorization";
|
|
3
|
+
import { IEntityCreateCommand, IEntityDeleteCommand, IEntityUpdateCommand, IEntityUpsertCommand } from "../abstractions/commands";
|
|
4
|
+
import { SortingType } from "../abstractions/common";
|
|
5
|
+
import { IConnectorsConfiguration, IEntityConnectorDeleteManager, IEntityConnectorSyncManager } from "../abstractions/connectors";
|
|
6
|
+
import { IEntitiesSearchConverter, IEntityCreateCommandConverter, IEntityCreateConverter, IEntityGetConverter, IEntityUpdateActionConverter, IEntityUpdateCommandConverter } from "../abstractions/converters";
|
|
7
|
+
import { IEntityEventsManager } from "../abstractions/events";
|
|
8
|
+
import { IEntityManager } from "../abstractions/manager";
|
|
9
|
+
import { IEntitiesQueryBuilder, IEntitiesSearchQuery, IEntityGetQuery } from "../abstractions/queries";
|
|
10
|
+
import { IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IReplicasConfiguration } from "../abstractions/replication";
|
|
11
|
+
import { IEntityRepository } from "../abstractions/repository";
|
|
12
|
+
import { IEntitySearchParameters } from "../abstractions/searchParameters";
|
|
13
|
+
import { ServiceLocator } from "../ioc";
|
|
14
|
+
export declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
15
|
+
private readonly services;
|
|
16
|
+
private readonly entityName;
|
|
17
|
+
constructor(services: EntitiesServiceLocator, entityName: string);
|
|
18
|
+
resolveEntityManager(): IEntityManager<TEntity, TEntityId>;
|
|
19
|
+
resolveEntityActions(): IEntityActions<TEntity, TEntityId>;
|
|
20
|
+
resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
|
|
21
|
+
resolveEventsManager(): IEntityEventsManager<TEntity, TEntityId>;
|
|
22
|
+
resolveReplicaSyncManager<TEntity>(): IEntityReplicaSyncManager<TEntity>;
|
|
23
|
+
resolveReplicaConfiguration<TEntity>(): IReplicasConfiguration<TEntity, TEntityId>;
|
|
24
|
+
resolveReplicaDeleteManager<TEntity, TEntityId>(): IEntityReplicaDeleteManager<TEntity, TEntityId>;
|
|
25
|
+
resolveConnectorSyncManager<TEntity>(): IEntityConnectorSyncManager<TEntity>;
|
|
26
|
+
resolveConnectorDeleteManager<TEntity, TEntityId>(): IEntityConnectorDeleteManager<TEntity, TEntityId>;
|
|
27
|
+
resolveConnectorsConfiguration<TEntity>(): IConnectorsConfiguration<TEntity>;
|
|
28
|
+
resolveCreateCommandConverter<TEntityCreateData>(): IEntityCreateCommandConverter<TEntity, TEntityCreateData> | undefined;
|
|
29
|
+
resolveUpdateCommandConverter<TEntityUpdateData>(): IEntityUpdateCommandConverter<TEntity, TEntityUpdateData>;
|
|
30
|
+
resolveSearchConverter<TListItemDto>(): IEntitiesSearchConverter<TEntity, TListItemDto> | undefined;
|
|
31
|
+
resolveGetConverter<TEntityDto>(): IEntityGetConverter<TEntity, TEntityDto> | undefined;
|
|
32
|
+
resolveCreateConverter<TEntityCreateData, TEntityDto>(): IEntityCreateConverter<TEntity, TEntityCreateData, TEntityDto> | undefined;
|
|
33
|
+
resolveUpdateActionConverter<TEntityDto>(): IEntityUpdateActionConverter<TEntity, TEntityDto> | undefined;
|
|
34
|
+
resolveAuthorizationMiddleware(): IEntityAuthorizationMiddleware<TEntity> | undefined;
|
|
35
|
+
resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
|
|
36
|
+
resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
37
|
+
resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
38
|
+
resolveUpdateCommand<TEntityUpdateData>(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
39
|
+
resolveUpsertCommand<TEntityUpdateData>(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
40
|
+
resolveDeleteCommand<TEntityId>(): IEntityDeleteCommand<TEntity, TEntityId>;
|
|
41
|
+
resolveGetAction<TEntityId, TEntityDto>(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
|
|
42
|
+
resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
|
|
43
|
+
resolveCreateAction<TEntityCreateData, TEntityDto>(): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
|
|
44
|
+
resolveUpdateAction<TEntityUpdateData, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
|
|
45
|
+
resolveUpsertAction<TEntityUpdateData, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
|
|
46
|
+
resolveDeleteAction(): IEntityDeleteAction<TEntity, TEntityId>;
|
|
47
|
+
resolveQueryBuilder<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
48
|
+
getEntityName(): string;
|
|
49
|
+
}
|
|
50
|
+
export declare class EntitiesServiceLocator {
|
|
51
|
+
private readonly provider;
|
|
52
|
+
constructor(provider: ServiceLocator);
|
|
53
|
+
getProvider(): ServiceLocator;
|
|
54
|
+
resolveEntityManager<TEntity, TEntityId>(entityName: string): IEntityManager<TEntity, TEntityId>;
|
|
55
|
+
registerEntityManager<TEntity, TEntityId>(entityName: string, instance: IEntityManager<TEntity, TEntityId>): void;
|
|
56
|
+
resolveEntityActions<TEntity, TEntityId>(entityName: string): IEntityActions<TEntity, TEntityId>;
|
|
57
|
+
registerEntityActions<TEntity, TEntityId>(entityName: string, instance: IEntityActions<TEntity, TEntityId>): void;
|
|
58
|
+
resolveRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(entityName: string): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
|
|
59
|
+
registerRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(entityName: string, instance: IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>): void;
|
|
60
|
+
resolveEventsManager<TEntity, TEntityId>(entityName: string): IEntityEventsManager<TEntity, TEntityId>;
|
|
61
|
+
registerEventsManager<TEntity, TEntityId>(entityName: string, instance: IEntityEventsManager<TEntity, TEntityId>): void;
|
|
62
|
+
resolveReplicaSyncManager<TEntity>(entityName: string): IEntityReplicaSyncManager<TEntity>;
|
|
63
|
+
registerReplicaSyncManager<TEntity>(entityName: string, instance: IEntityReplicaSyncManager<TEntity>): void;
|
|
64
|
+
resolveReplicaConfiguration<TEntity, TEntityId>(entityName: string): IReplicasConfiguration<TEntity, TEntityId>;
|
|
65
|
+
registerReplicaConfiguration<TEntity, TEntityId>(entityName: string, instance: IReplicasConfiguration<TEntity, TEntityId>): void;
|
|
66
|
+
resolveReplicaDeleteManager<TEntity, TEntityId>(entityName: string): IEntityReplicaDeleteManager<TEntity, TEntityId>;
|
|
67
|
+
registerReplicaDeleteManager<TEntity, TEntityId>(entityName: string, instance: IEntityReplicaDeleteManager<TEntity, TEntityId>): void;
|
|
68
|
+
resolveConnectorSyncManager<TEntity>(entityName: string): IEntityConnectorSyncManager<TEntity>;
|
|
69
|
+
registerConnectorSyncManager<TEntity>(entityName: string, instance: IEntityConnectorSyncManager<TEntity>): void;
|
|
70
|
+
resolveConnectorDeleteManager<TEntity, TEntityId>(entityName: string): IEntityConnectorDeleteManager<TEntity, TEntityId>;
|
|
71
|
+
registerConnectorDeleteManager<TEntity, TEntityId>(entityName: string, instance: IEntityConnectorDeleteManager<TEntity, TEntityId>): void;
|
|
72
|
+
resolveConnectorsConfiguration<TEntity>(entityName: string): IConnectorsConfiguration<TEntity>;
|
|
73
|
+
registerConnectorsConfiguration<TEntity>(entityName: string, instance: IConnectorsConfiguration<TEntity>): void;
|
|
74
|
+
resolveCreateCommandConverter<TEntity, TEntityCreateData>(entityName: string): IEntityCreateCommandConverter<TEntity, TEntityCreateData> | undefined;
|
|
75
|
+
registerCreateCommandConverter<TEntity, TEntityCreateData>(entityName: string, instance: IEntityCreateCommandConverter<TEntity, TEntityCreateData>): void;
|
|
76
|
+
resolveUpdateCommandConverter<TEntity, TEntityUpdateData>(entityName: string): IEntityUpdateCommandConverter<TEntity, TEntityUpdateData>;
|
|
77
|
+
registerUpdateCommandConverter<TEntity, TEntityUpdateData>(entityName: string, instance: IEntityUpdateCommandConverter<TEntity, TEntityUpdateData>): void;
|
|
78
|
+
resolveSearchConverter<TEntity, TListItemDto>(entityName: string): IEntitiesSearchConverter<TEntity, TListItemDto> | undefined;
|
|
79
|
+
registerSearchConverter<TEntity, TListItemDto>(entityName: string, instance: IEntitiesSearchConverter<TEntity, TListItemDto>): void;
|
|
80
|
+
resolveGetConverter<TEntity, TEntityDto>(entityName: string): IEntityGetConverter<TEntity, TEntityDto> | undefined;
|
|
81
|
+
registerGetConverter<TEntity, TEntityDto>(entityName: string, instance: IEntityGetConverter<TEntity, TEntityDto>): void;
|
|
82
|
+
resolveCreateConverter<TEntity, TEntityCreateData, TEntityDto>(entityName: string): IEntityCreateConverter<TEntity, TEntityCreateData, TEntityDto> | undefined;
|
|
83
|
+
registerCreateActionConverter<TEntity, TEntityCreateData, TEntityDto>(entityName: string, instance: IEntityCreateConverter<TEntity, TEntityCreateData, TEntityDto>): void;
|
|
84
|
+
resolveUpdateActionConverter<TEntity, TEntityDto>(entityName: string): IEntityUpdateActionConverter<TEntity, TEntityDto> | undefined;
|
|
85
|
+
registerUpdateActionConverter<TEntity, TEntityDto>(entityName: string, instance: IEntityUpdateActionConverter<TEntity, TEntityDto>): void;
|
|
86
|
+
resolveAuthorizationMiddleware<TEntity>(entityName: string): IEntityAuthorizationMiddleware<TEntity> | undefined;
|
|
87
|
+
registerAuthorizationMiddleware<TEntity>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity>): void;
|
|
88
|
+
resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
|
|
89
|
+
registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
|
|
90
|
+
resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
91
|
+
registerSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(entityName: string, instance: IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
|
|
92
|
+
resolveCreateCommand<TEntity, TEntityCreateData>(entityName: string): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
93
|
+
registerCreateCommand<TEntity, TEntityCreateData>(entityName: string, instance: IEntityCreateCommand<TEntity, TEntityCreateData>): void;
|
|
94
|
+
resolveUpdateCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
95
|
+
registerUpdateCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string, instance: IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>): void;
|
|
96
|
+
resolveUpsertCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
97
|
+
registerUpsertCommand<TEntity, TEntityId, TEntityUpdateData>(entityName: string, instance: IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>): void;
|
|
98
|
+
resolveDeleteCommand<TEntity, TEntityId>(entityName: string): IEntityDeleteCommand<TEntity, TEntityId>;
|
|
99
|
+
registerDeleteCommand<TEntity, TEntityId>(entityName: string, instance: IEntityDeleteCommand<TEntity, TEntityId>): void;
|
|
100
|
+
resolveGetAction<TEntity, TEntityId, TEntityDto>(entityName: string): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
|
|
101
|
+
registerGetAction<TEntity, TEntityId, TEntityDto>(entityName: string, instance: IEntityGetAction<TEntity, TEntityId, TEntityDto>): void;
|
|
102
|
+
resolveSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets>(entityName: string): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
|
|
103
|
+
registerSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets>(entityName: string, instance: IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>): void;
|
|
104
|
+
resolveCreateAction<TEntity, TEntityCreateData, TEntityDto>(entityName: string): IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>;
|
|
105
|
+
registerCreateAction<TEntity, TEntityCreateData, TEntityDto>(entityName: string, instance: IEntityCreateAction<TEntity, TEntityCreateData, TEntityDto>): void;
|
|
106
|
+
resolveUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
|
|
107
|
+
registerUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string, instance: IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>): void;
|
|
108
|
+
resolveUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
|
|
109
|
+
registerUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string, instance: IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>): void;
|
|
110
|
+
resolveDeleteAction<TEntity, TEntityId>(entityName: string): IEntityDeleteAction<TEntity, TEntityId>;
|
|
111
|
+
registerDeleteAction<TEntity, TEntityId>(entityName: string, instance: IEntityDeleteAction<TEntity, TEntityId>): void;
|
|
112
|
+
resolveQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(entityName: string): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
113
|
+
registerQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(entityName: string, instance: IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
|
|
114
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IEntityGetQuery } from "../abstractions/queries";
|
|
2
|
+
import { EntityServiceLocator } from "../providers/services";
|
|
3
|
+
export declare class EntityGetQuery<TEntity, TEntityId> implements IEntityGetQuery<TEntity, TEntityId> {
|
|
4
|
+
private readonly services;
|
|
5
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
6
|
+
execute(id: TEntityId): Promise<TEntity | undefined>;
|
|
7
|
+
private authorize;
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SortingType } from "../abstractions/common";
|
|
2
|
+
import { IEntitiesSearchQuery } from "../abstractions/queries";
|
|
3
|
+
import { IEntitySearchParameters } from "../abstractions/searchParameters";
|
|
4
|
+
import { EntitiesSearchResults } from "../models";
|
|
5
|
+
import { EntityServiceLocator } from "../providers/services";
|
|
6
|
+
export declare class EntitiesSearchQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> implements IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets> {
|
|
7
|
+
private readonly services;
|
|
8
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
9
|
+
execute(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getTypeName: (type: any) => string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IEntityConnectorDeleteManager, IEntityConnectorSyncManager } from "../abstractions/connectors";
|
|
2
|
+
import { EntityServiceLocator } from "../providers/services";
|
|
3
|
+
export declare class EntityConnectorsManager<TEntity, TEntityId> implements IEntityConnectorSyncManager<TEntity>, IEntityConnectorDeleteManager<TEntity, TEntityId> {
|
|
4
|
+
private readonly services;
|
|
5
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
6
|
+
syncEntity(entity: TEntity): Promise<void>;
|
|
7
|
+
private processSync;
|
|
8
|
+
deleteEntity(entityId: TEntityId): Promise<void>;
|
|
9
|
+
private processDelete;
|
|
10
|
+
private resolveConnector;
|
|
11
|
+
private resolveMapper;
|
|
12
|
+
private getEnabledConnectors;
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IEntityEventsManager } from "../abstractions/events";
|
|
2
|
+
import { EntityServiceLocator } from "../providers/services";
|
|
3
|
+
export declare class EntityEventsManager<TEntity, TEntityId> implements IEntityEventsManager<TEntity, TEntityId> {
|
|
4
|
+
private readonly services;
|
|
5
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
6
|
+
processEntityCreatedEvent(entity: TEntity): Promise<void>;
|
|
7
|
+
processEntityUpdatedEvent(entity: TEntity): Promise<void>;
|
|
8
|
+
processEntityDeletedEvent(id: TEntityId): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IEntityReplicaDeleteManager, IEntityReplicaSyncManager } from "../abstractions/replication";
|
|
2
|
+
import { EntityServiceLocator } from "../providers/services";
|
|
3
|
+
export declare class EntityReplicaManager<TEntity, TEntityId> implements IEntityReplicaSyncManager<TEntity>, IEntityReplicaDeleteManager<TEntity, TEntityId> {
|
|
4
|
+
private readonly services;
|
|
5
|
+
constructor(services: EntityServiceLocator<TEntity, TEntityId>);
|
|
6
|
+
syncReplicas(entity: TEntity): Promise<void>;
|
|
7
|
+
private syncReplica;
|
|
8
|
+
deleteReplicas(entityId: TEntityId): Promise<void>;
|
|
9
|
+
private deleteReplica;
|
|
10
|
+
private getEnabledReplicas;
|
|
11
|
+
private resolveRepository;
|
|
12
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export declare const Services: {
|
|
2
|
+
Actions: {
|
|
3
|
+
IEntityGetAction: string;
|
|
4
|
+
IEntitiesSearchAction: string;
|
|
5
|
+
IEntityCreateAction: string;
|
|
6
|
+
IEntityUpdateAction: string;
|
|
7
|
+
IEntityUpsertAction: string;
|
|
8
|
+
IEntityDeleteAction: string;
|
|
9
|
+
IEntityMergeAction: string;
|
|
10
|
+
};
|
|
11
|
+
Authorization: {
|
|
12
|
+
IEntityAuthorizationMiddleware: string;
|
|
13
|
+
};
|
|
14
|
+
Commands: {
|
|
15
|
+
IEntityCreateCommand: string;
|
|
16
|
+
IEntityUpdateCommand: string;
|
|
17
|
+
IEntityUpsertCommand: string;
|
|
18
|
+
IEntityMergeCommand: string;
|
|
19
|
+
IEntityDeleteCommand: string;
|
|
20
|
+
};
|
|
21
|
+
Converters: {
|
|
22
|
+
IEntityCreateCommandConverter: string;
|
|
23
|
+
IEntityUpdateCommandConverter: string;
|
|
24
|
+
IEntitiesSearchConverter: string;
|
|
25
|
+
IEntityGetConverter: string;
|
|
26
|
+
IEntityCreateActionConverter: string;
|
|
27
|
+
IEntityUpdateActionConverter: string;
|
|
28
|
+
};
|
|
29
|
+
Connectors: {
|
|
30
|
+
IConnectorsConfiguration: string;
|
|
31
|
+
IEntityConnectorDeleteManager: string;
|
|
32
|
+
IEntityConnectorSyncManager: string;
|
|
33
|
+
};
|
|
34
|
+
Events: {
|
|
35
|
+
IEntityEventsManager: string;
|
|
36
|
+
};
|
|
37
|
+
Queries: {
|
|
38
|
+
IEntityGetQuery: string;
|
|
39
|
+
IEntitiesSearchQuery: string;
|
|
40
|
+
IEntitiesQueryBuilder: string;
|
|
41
|
+
};
|
|
42
|
+
Replication: {
|
|
43
|
+
IReplicasConfiguration: string;
|
|
44
|
+
IEntityReplicaDeleteManager: string;
|
|
45
|
+
IEntityReplicaSyncManager: string;
|
|
46
|
+
};
|
|
47
|
+
Services: {
|
|
48
|
+
IEntityActions: string;
|
|
49
|
+
IEntityManager: string;
|
|
50
|
+
};
|
|
51
|
+
Storage: {
|
|
52
|
+
IEntityRepository: string;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FilterExpression } from "../../abstractions/filters";
|
|
2
|
+
import { IEntityRepository } from "../../abstractions/repository";
|
|
3
|
+
export declare class InMemoryRepository<TEntity> implements IEntityRepository<TEntity, string, FilterExpression<TEntity>, FilterExpression<TEntity>, FilterExpression<TEntity>, FilterExpression<TEntity>> {
|
|
4
|
+
private entities;
|
|
5
|
+
exists(id: string): Promise<boolean>;
|
|
6
|
+
existsBy(condition: FilterExpression<TEntity>): Promise<boolean>;
|
|
7
|
+
get(id: string): Promise<TEntity | undefined>;
|
|
8
|
+
getBy(condition: FilterExpression<TEntity>): Promise<TEntity | undefined>;
|
|
9
|
+
all(): Promise<TEntity[]>;
|
|
10
|
+
find(condition: FilterExpression<TEntity>): Promise<TEntity[]>;
|
|
11
|
+
findById(id: string[]): Promise<TEntity[]>;
|
|
12
|
+
delete(id: string): Promise<void>;
|
|
13
|
+
deleteBy(condition: FilterExpression<TEntity>): Promise<void>;
|
|
14
|
+
create(entity: TEntity): Promise<TEntity>;
|
|
15
|
+
update(id: string, entity: Partial<TEntity>): Promise<TEntity>;
|
|
16
|
+
updateBy(entity: Partial<TEntity>, condition: FilterExpression<TEntity>): Promise<TEntity[]>;
|
|
17
|
+
upsert(id: string, entity: TEntity): Promise<TEntity>;
|
|
18
|
+
private getId;
|
|
19
|
+
private filterEntities;
|
|
20
|
+
}
|