@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.
Files changed (135) hide show
  1. package/dist/cjs/index.js +15184 -0
  2. package/dist/cjs/index.js.map +1 -0
  3. package/dist/cjs/types/__test__/base/test-actions-plain.test.d.ts +1 -0
  4. package/dist/cjs/types/__test__/base/test-actions-with-converters.test.d.ts +1 -0
  5. package/dist/cjs/types/__test__/base/test-default-entity-manager.test.d.ts +1 -0
  6. package/dist/cjs/types/__test__/entity/foo.d.ts +72 -0
  7. package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +73 -0
  8. package/dist/cjs/types/__test__/providers/typeorm/mock/index.d.ts +7 -0
  9. package/dist/cjs/types/__test__/providers/typeorm/test-typeorm-actions.test.d.ts +1 -0
  10. package/dist/cjs/types/abstractions/actions.d.ts +29 -0
  11. package/dist/cjs/types/abstractions/authorization.d.ts +9 -0
  12. package/dist/cjs/types/abstractions/commands.d.ts +12 -0
  13. package/dist/cjs/types/abstractions/common.d.ts +11 -0
  14. package/dist/cjs/types/abstractions/configuration.d.ts +34 -0
  15. package/dist/cjs/types/abstractions/connectors.d.ts +30 -0
  16. package/dist/cjs/types/abstractions/converters.d.ts +24 -0
  17. package/dist/cjs/types/abstractions/errors.d.ts +24 -0
  18. package/dist/cjs/types/abstractions/events.d.ts +5 -0
  19. package/dist/cjs/types/abstractions/filters.d.ts +1 -0
  20. package/dist/cjs/types/abstractions/index.d.ts +15 -0
  21. package/dist/cjs/types/abstractions/ioc.d.ts +12 -0
  22. package/dist/cjs/types/abstractions/manager.d.ts +12 -0
  23. package/dist/cjs/types/abstractions/mappers.d.ts +3 -0
  24. package/dist/cjs/types/abstractions/queries.d.ts +12 -0
  25. package/dist/cjs/types/abstractions/replication.d.ts +25 -0
  26. package/dist/cjs/types/abstractions/repository.d.ts +15 -0
  27. package/dist/cjs/types/abstractions/searchParameters.d.ts +26 -0
  28. package/dist/cjs/types/abstractions/searchResults.d.ts +16 -0
  29. package/dist/cjs/types/actions/create.d.ts +8 -0
  30. package/dist/cjs/types/actions/delete.d.ts +7 -0
  31. package/dist/cjs/types/actions/get.d.ts +7 -0
  32. package/dist/cjs/types/actions/search.d.ts +10 -0
  33. package/dist/cjs/types/actions/update.d.ts +7 -0
  34. package/dist/cjs/types/actions/upsert.d.ts +7 -0
  35. package/dist/cjs/types/authorization/allowAll.d.ts +13 -0
  36. package/dist/cjs/types/commands/create.d.ts +9 -0
  37. package/dist/cjs/types/commands/delete.d.ts +8 -0
  38. package/dist/cjs/types/commands/update.d.ts +9 -0
  39. package/dist/cjs/types/commands/upsert.d.ts +10 -0
  40. package/dist/cjs/types/concrete/index.d.ts +27 -0
  41. package/dist/cjs/types/configuration/connectors.d.ts +8 -0
  42. package/dist/cjs/types/configuration/index.d.ts +1 -0
  43. package/dist/cjs/types/configuration/replicas.d.ts +8 -0
  44. package/dist/cjs/types/configuration/root.d.ts +2 -0
  45. package/dist/cjs/types/decorators/decorators.test.d.ts +2 -0
  46. package/dist/cjs/types/decorators/index.d.ts +3 -0
  47. package/dist/cjs/types/index.d.ts +2 -0
  48. package/dist/cjs/types/integrations/repository/typeorm/index.d.ts +1 -0
  49. package/dist/cjs/types/integrations/repository/typeorm/repository.d.ts +22 -0
  50. package/dist/cjs/types/ioc/index.d.ts +13 -0
  51. package/dist/cjs/types/models/index.d.ts +1 -0
  52. package/dist/cjs/types/models/search.d.ts +17 -0
  53. package/dist/cjs/types/platforms/index.d.ts +1 -0
  54. package/dist/cjs/types/platforms/nest/index.d.ts +1 -0
  55. package/dist/cjs/types/platforms/nest/ioc/container/index.d.ts +3 -0
  56. package/dist/cjs/types/platforms/nest/module.d.ts +5 -0
  57. package/dist/cjs/types/platforms/nest/services/manager/index.d.ts +2 -0
  58. package/dist/cjs/types/providers/services.d.ts +114 -0
  59. package/dist/cjs/types/queries/get.d.ts +8 -0
  60. package/dist/cjs/types/queries/search.d.ts +10 -0
  61. package/dist/cjs/types/reflection/index.d.ts +1 -0
  62. package/dist/cjs/types/services/connectors.d.ts +13 -0
  63. package/dist/cjs/types/services/events.d.ts +9 -0
  64. package/dist/cjs/types/services/replication.d.ts +12 -0
  65. package/dist/cjs/types/symbols/ioc.d.ts +54 -0
  66. package/dist/cjs/types/testing/mocks/repository.d.ts +20 -0
  67. package/dist/esm/index.js +15170 -0
  68. package/dist/esm/index.js.map +1 -0
  69. package/dist/esm/types/__test__/base/test-actions-plain.test.d.ts +1 -0
  70. package/dist/esm/types/__test__/base/test-actions-with-converters.test.d.ts +1 -0
  71. package/dist/esm/types/__test__/base/test-default-entity-manager.test.d.ts +1 -0
  72. package/dist/esm/types/__test__/entity/foo.d.ts +72 -0
  73. package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +73 -0
  74. package/dist/esm/types/__test__/providers/typeorm/mock/index.d.ts +7 -0
  75. package/dist/esm/types/__test__/providers/typeorm/test-typeorm-actions.test.d.ts +1 -0
  76. package/dist/esm/types/abstractions/actions.d.ts +29 -0
  77. package/dist/esm/types/abstractions/authorization.d.ts +9 -0
  78. package/dist/esm/types/abstractions/commands.d.ts +12 -0
  79. package/dist/esm/types/abstractions/common.d.ts +11 -0
  80. package/dist/esm/types/abstractions/configuration.d.ts +34 -0
  81. package/dist/esm/types/abstractions/connectors.d.ts +30 -0
  82. package/dist/esm/types/abstractions/converters.d.ts +24 -0
  83. package/dist/esm/types/abstractions/errors.d.ts +24 -0
  84. package/dist/esm/types/abstractions/events.d.ts +5 -0
  85. package/dist/esm/types/abstractions/filters.d.ts +1 -0
  86. package/dist/esm/types/abstractions/index.d.ts +15 -0
  87. package/dist/esm/types/abstractions/ioc.d.ts +12 -0
  88. package/dist/esm/types/abstractions/manager.d.ts +12 -0
  89. package/dist/esm/types/abstractions/mappers.d.ts +3 -0
  90. package/dist/esm/types/abstractions/queries.d.ts +12 -0
  91. package/dist/esm/types/abstractions/replication.d.ts +25 -0
  92. package/dist/esm/types/abstractions/repository.d.ts +15 -0
  93. package/dist/esm/types/abstractions/searchParameters.d.ts +26 -0
  94. package/dist/esm/types/abstractions/searchResults.d.ts +16 -0
  95. package/dist/esm/types/actions/create.d.ts +8 -0
  96. package/dist/esm/types/actions/delete.d.ts +7 -0
  97. package/dist/esm/types/actions/get.d.ts +7 -0
  98. package/dist/esm/types/actions/search.d.ts +10 -0
  99. package/dist/esm/types/actions/update.d.ts +7 -0
  100. package/dist/esm/types/actions/upsert.d.ts +7 -0
  101. package/dist/esm/types/authorization/allowAll.d.ts +13 -0
  102. package/dist/esm/types/commands/create.d.ts +9 -0
  103. package/dist/esm/types/commands/delete.d.ts +8 -0
  104. package/dist/esm/types/commands/update.d.ts +9 -0
  105. package/dist/esm/types/commands/upsert.d.ts +10 -0
  106. package/dist/esm/types/concrete/index.d.ts +27 -0
  107. package/dist/esm/types/configuration/connectors.d.ts +8 -0
  108. package/dist/esm/types/configuration/index.d.ts +1 -0
  109. package/dist/esm/types/configuration/replicas.d.ts +8 -0
  110. package/dist/esm/types/configuration/root.d.ts +2 -0
  111. package/dist/esm/types/decorators/decorators.test.d.ts +2 -0
  112. package/dist/esm/types/decorators/index.d.ts +3 -0
  113. package/dist/esm/types/index.d.ts +2 -0
  114. package/dist/esm/types/integrations/repository/typeorm/index.d.ts +1 -0
  115. package/dist/esm/types/integrations/repository/typeorm/repository.d.ts +22 -0
  116. package/dist/esm/types/ioc/index.d.ts +13 -0
  117. package/dist/esm/types/models/index.d.ts +1 -0
  118. package/dist/esm/types/models/search.d.ts +17 -0
  119. package/dist/esm/types/platforms/index.d.ts +1 -0
  120. package/dist/esm/types/platforms/nest/index.d.ts +1 -0
  121. package/dist/esm/types/platforms/nest/ioc/container/index.d.ts +3 -0
  122. package/dist/esm/types/platforms/nest/module.d.ts +5 -0
  123. package/dist/esm/types/platforms/nest/services/manager/index.d.ts +2 -0
  124. package/dist/esm/types/providers/services.d.ts +114 -0
  125. package/dist/esm/types/queries/get.d.ts +8 -0
  126. package/dist/esm/types/queries/search.d.ts +10 -0
  127. package/dist/esm/types/reflection/index.d.ts +1 -0
  128. package/dist/esm/types/services/connectors.d.ts +13 -0
  129. package/dist/esm/types/services/events.d.ts +9 -0
  130. package/dist/esm/types/services/replication.d.ts +12 -0
  131. package/dist/esm/types/symbols/ioc.d.ts +54 -0
  132. package/dist/esm/types/testing/mocks/repository.d.ts +20 -0
  133. package/dist/index.d.ts +431 -0
  134. package/package.json +62 -0
  135. 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,2 @@
1
+ import { IEntityManagerServiceRoot } from "../abstractions/configuration";
2
+ export declare const createContainer: () => IEntityManagerServiceRoot;
@@ -0,0 +1,2 @@
1
+ export declare class TestClass {
2
+ }
@@ -0,0 +1,3 @@
1
+ import "reflect-metadata";
2
+ export declare function Entity(metadata: string): (target: any) => void;
3
+ export declare const getEntityName: (target: Object) => any;
@@ -0,0 +1,2 @@
1
+ export * from "./abstractions";
2
+ export * from "./platforms";
@@ -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,3 @@
1
+ export declare class EntityManagerContainerProvider {
2
+ private readonly container;
3
+ }
@@ -0,0 +1,5 @@
1
+ import { OnModuleInit } from "@nestjs/common";
2
+ export declare class EntityManagerModule implements OnModuleInit {
3
+ private readonly logger;
4
+ onModuleInit(): void;
5
+ }
@@ -0,0 +1,2 @@
1
+ export declare class EntityManagerService {
2
+ }
@@ -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
+ }