@punks/backend-entity-manager 0.0.1 → 0.0.4
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 +41881 -8256
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/__test__/entity/foo.d.ts +9 -9
- package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +9 -10
- package/dist/cjs/types/abstractions/actions.d.ts +12 -12
- package/dist/cjs/types/abstractions/adapters.d.ts +8 -0
- package/dist/cjs/types/abstractions/commands.d.ts +2 -2
- package/dist/cjs/types/abstractions/configuration.d.ts +7 -1
- package/dist/cjs/types/abstractions/converters.d.ts +7 -15
- package/dist/cjs/types/abstractions/index.d.ts +3 -1
- package/dist/cjs/types/abstractions/manager.d.ts +5 -5
- package/dist/cjs/types/abstractions/repository.d.ts +1 -0
- package/dist/cjs/types/abstractions/searchParameters.d.ts +1 -1
- package/dist/cjs/types/actions/create.d.ts +2 -2
- package/dist/cjs/types/actions/upsert.d.ts +2 -2
- package/dist/cjs/types/commands/create.d.ts +2 -2
- package/dist/cjs/types/commands/update.d.ts +2 -2
- package/dist/cjs/types/concrete/index.d.ts +13 -13
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/integrations/index.d.ts +1 -0
- package/dist/cjs/types/integrations/repository/index.d.ts +1 -0
- package/dist/cjs/types/integrations/repository/typeorm/index.d.ts +2 -1
- package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +22 -0
- package/dist/cjs/types/integrations/repository/typeorm/repository.d.ts +2 -1
- package/dist/cjs/types/ioc/index.d.ts +3 -0
- package/dist/cjs/types/models/search.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/actions.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/controller.d.ts +11 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/converter.d.ts +9 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/dto.d.ts +20 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/entity.d.ts +6 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/index.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/manager.d.ts +7 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/models.d.ts +19 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/query.d.ts +11 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/repository.d.ts +6 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/index.d.ts +6 -0
- package/dist/cjs/types/platforms/nest/__test__/server/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/__test__/tests/base/test_crud_actions.test.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/tests/base/test_crud_api.test.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/tests/base/test_crud_operations.test.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/base/entityActions.d.ts +9 -0
- package/dist/cjs/types/platforms/nest/base/entityManager.d.ts +9 -0
- package/dist/cjs/types/platforms/nest/base/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/decorators/actions.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/adapter.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/authorization.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/connector.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/converter.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/entity.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/index.d.ts +9 -0
- package/dist/cjs/types/platforms/nest/decorators/manager.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/queryBuilder.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/repository.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +11 -0
- package/dist/cjs/types/platforms/nest/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/integrations/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/integrations/typeorm/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/integrations/typeorm/queryBuilder.d.ts +7 -0
- package/dist/cjs/types/platforms/nest/integrations/typeorm/repository.d.ts +5 -0
- package/dist/cjs/types/platforms/nest/ioc/discovery/index.d.ts +102 -0
- package/dist/cjs/types/platforms/nest/ioc/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/ioc/providers.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/ioc/registry/index.d.ts +18 -0
- package/dist/cjs/types/platforms/nest/module.d.ts +1 -4
- package/dist/cjs/types/platforms/nest/processors/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +16 -0
- package/dist/cjs/types/platforms/nest/services/index.d.ts +1 -0
- package/dist/cjs/types/providers/services.d.ts +20 -31
- package/dist/cjs/types/symbols/ioc.d.ts +2 -6
- package/dist/cjs/types/templates/index.d.ts +1 -0
- package/dist/cjs/types/templates/queryBuilder.d.ts +11 -0
- package/dist/cjs/types/testing/mocks/repository.d.ts +1 -0
- package/dist/esm/index.js +41864 -8250
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/__test__/entity/foo.d.ts +9 -9
- package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +9 -10
- package/dist/esm/types/abstractions/actions.d.ts +12 -12
- package/dist/esm/types/abstractions/adapters.d.ts +8 -0
- package/dist/esm/types/abstractions/commands.d.ts +2 -2
- package/dist/esm/types/abstractions/configuration.d.ts +7 -1
- package/dist/esm/types/abstractions/converters.d.ts +7 -15
- package/dist/esm/types/abstractions/index.d.ts +3 -1
- package/dist/esm/types/abstractions/manager.d.ts +5 -5
- package/dist/esm/types/abstractions/repository.d.ts +1 -0
- package/dist/esm/types/abstractions/searchParameters.d.ts +1 -1
- package/dist/esm/types/actions/create.d.ts +2 -2
- package/dist/esm/types/actions/upsert.d.ts +2 -2
- package/dist/esm/types/commands/create.d.ts +2 -2
- package/dist/esm/types/commands/update.d.ts +2 -2
- package/dist/esm/types/concrete/index.d.ts +13 -13
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/integrations/index.d.ts +1 -0
- package/dist/esm/types/integrations/repository/index.d.ts +1 -0
- package/dist/esm/types/integrations/repository/typeorm/index.d.ts +2 -1
- package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +22 -0
- package/dist/esm/types/integrations/repository/typeorm/repository.d.ts +2 -1
- package/dist/esm/types/ioc/index.d.ts +3 -0
- package/dist/esm/types/models/search.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/actions.d.ts +8 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/controller.d.ts +11 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/converter.d.ts +9 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/dto.d.ts +20 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/entity.d.ts +6 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/index.d.ts +8 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/manager.d.ts +7 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/models.d.ts +19 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/query.d.ts +11 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foo/repository.d.ts +6 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/index.d.ts +6 -0
- package/dist/esm/types/platforms/nest/__test__/server/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/__test__/tests/base/test_crud_actions.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/tests/base/test_crud_api.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/tests/base/test_crud_operations.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/base/entityActions.d.ts +9 -0
- package/dist/esm/types/platforms/nest/base/entityManager.d.ts +9 -0
- package/dist/esm/types/platforms/nest/base/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/decorators/actions.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/adapter.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/authorization.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/connector.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/converter.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/entity.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/index.d.ts +9 -0
- package/dist/esm/types/platforms/nest/decorators/manager.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/queryBuilder.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/repository.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +11 -0
- package/dist/esm/types/platforms/nest/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/integrations/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/integrations/typeorm/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/integrations/typeorm/queryBuilder.d.ts +7 -0
- package/dist/esm/types/platforms/nest/integrations/typeorm/repository.d.ts +5 -0
- package/dist/esm/types/platforms/nest/ioc/discovery/index.d.ts +102 -0
- package/dist/esm/types/platforms/nest/ioc/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/ioc/providers.d.ts +2 -0
- package/dist/esm/types/platforms/nest/ioc/registry/index.d.ts +18 -0
- package/dist/esm/types/platforms/nest/module.d.ts +1 -4
- package/dist/esm/types/platforms/nest/processors/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +16 -0
- package/dist/esm/types/platforms/nest/services/index.d.ts +1 -0
- package/dist/esm/types/providers/services.d.ts +20 -31
- package/dist/esm/types/symbols/ioc.d.ts +2 -6
- package/dist/esm/types/templates/index.d.ts +1 -0
- package/dist/esm/types/templates/queryBuilder.d.ts +11 -0
- package/dist/esm/types/testing/mocks/repository.d.ts +1 -0
- package/dist/index.d.ts +237 -94
- package/package.json +14 -5
- package/readme.md +10 -1
- package/dist/cjs/types/platforms/nest/ioc/container/index.d.ts +0 -3
- package/dist/cjs/types/platforms/nest/services/manager/index.d.ts +0 -2
- package/dist/esm/types/platforms/nest/ioc/container/index.d.ts +0 -3
- package/dist/esm/types/platforms/nest/services/manager/index.d.ts +0 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Type as Type$1, INestApplicationContext } from '@nestjs/common';
|
|
2
|
+
import { ObjectLiteral, FindOneOptions, FindManyOptions, Repository, ObjectId, FindOptionsWhere, FindOptionsRelations } from 'typeorm';
|
|
2
3
|
|
|
3
4
|
type EnumType = string | number | symbol;
|
|
4
5
|
type SortingType = EnumType;
|
|
@@ -24,7 +25,7 @@ interface ISearchOptions {
|
|
|
24
25
|
includeFacets?: boolean;
|
|
25
26
|
}
|
|
26
27
|
interface ISearchRequestPaging<TCursor> {
|
|
27
|
-
cursor
|
|
28
|
+
cursor?: TCursor;
|
|
28
29
|
pageSize: number;
|
|
29
30
|
}
|
|
30
31
|
interface ISearchSortingField<TSorting> {
|
|
@@ -42,6 +43,7 @@ declare enum SortDirection {
|
|
|
42
43
|
type EntitiesSearchResultsPaging<TCursor> = {
|
|
43
44
|
pageIndex: number;
|
|
44
45
|
pageSize: number;
|
|
46
|
+
totPageItems: number;
|
|
45
47
|
totPages: number;
|
|
46
48
|
totItems: number;
|
|
47
49
|
nextPageCursor?: TCursor;
|
|
@@ -55,8 +57,8 @@ type EntitiesSearchResults<TSearchParameters extends IEntitySearchParameters<TSo
|
|
|
55
57
|
paging?: EntitiesSearchResultsPaging<TCursor>;
|
|
56
58
|
};
|
|
57
59
|
|
|
58
|
-
interface IEntityCreateAction<TEntity,
|
|
59
|
-
execute(input:
|
|
60
|
+
interface IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto> {
|
|
61
|
+
execute(input: TEntityCreateDto): Promise<TEntityDto>;
|
|
60
62
|
}
|
|
61
63
|
interface IEntityDeleteAction<TEntity, TEntityId> {
|
|
62
64
|
execute(id: TEntityId): Promise<void>;
|
|
@@ -64,24 +66,33 @@ interface IEntityDeleteAction<TEntity, TEntityId> {
|
|
|
64
66
|
interface IEntityGetAction<TEntity, TEntityId, TEntityDto> {
|
|
65
67
|
execute(id: TEntityId): Promise<TEntityDto | undefined>;
|
|
66
68
|
}
|
|
67
|
-
interface IEntityUpdateAction<TEntity, TEntityId,
|
|
68
|
-
execute(id: TEntityId, data:
|
|
69
|
+
interface IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto> {
|
|
70
|
+
execute(id: TEntityId, data: TEntityUpdateDto): Promise<TEntityDto>;
|
|
69
71
|
}
|
|
70
|
-
interface IEntityUpsertAction<TEntity, TEntityId,
|
|
71
|
-
execute(id: TEntityId, input:
|
|
72
|
+
interface IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto> {
|
|
73
|
+
execute(id: TEntityId, input: TEntityUpdateDto): Promise<TEntityDto>;
|
|
72
74
|
}
|
|
73
75
|
interface IEntitiesSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets> {
|
|
74
76
|
execute(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>>;
|
|
75
77
|
}
|
|
76
|
-
interface IEntityActions<TEntity, TEntityId> {
|
|
77
|
-
get
|
|
78
|
-
search
|
|
79
|
-
create
|
|
80
|
-
update
|
|
81
|
-
upsert
|
|
78
|
+
interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> {
|
|
79
|
+
get(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
|
|
80
|
+
search(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
|
|
81
|
+
create(): IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto>;
|
|
82
|
+
update(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto>;
|
|
83
|
+
upsert(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto>;
|
|
82
84
|
delete(): IEntityDeleteAction<TEntity, TEntityId>;
|
|
83
85
|
}
|
|
84
86
|
|
|
87
|
+
interface IEntityCreateCommandAdapter<TEntity, TEntityCreateData> {
|
|
88
|
+
createDataToEntity(data: TEntityCreateData): Partial<TEntity>;
|
|
89
|
+
}
|
|
90
|
+
interface IEntityUpdateCommandAdapter<TEntity, TEntityUpdateData> {
|
|
91
|
+
updateDataToEntity(input: TEntityUpdateData): Partial<TEntity>;
|
|
92
|
+
}
|
|
93
|
+
interface IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> extends IEntityCreateCommandAdapter<TEntity, TEntityCreateData>, IEntityUpdateCommandAdapter<TEntity, TEntityUpdateData> {
|
|
94
|
+
}
|
|
95
|
+
|
|
85
96
|
interface IAuthorizationResult {
|
|
86
97
|
isAuthorized: boolean;
|
|
87
98
|
}
|
|
@@ -92,8 +103,8 @@ interface IEntityAuthorizationMiddleware<TEntity> {
|
|
|
92
103
|
canDelete(entity: Partial<TEntity>): Promise<IAuthorizationResult>;
|
|
93
104
|
}
|
|
94
105
|
|
|
95
|
-
interface IEntityCreateCommand<TEntity,
|
|
96
|
-
execute(input:
|
|
106
|
+
interface IEntityCreateCommand<TEntity, TEntityCreateData> {
|
|
107
|
+
execute(input: TEntityCreateData): Promise<TEntity>;
|
|
97
108
|
}
|
|
98
109
|
interface IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData> {
|
|
99
110
|
execute(id: TEntityId, data: TEntityUpdateData): Promise<TEntity>;
|
|
@@ -105,6 +116,33 @@ interface IEntityDeleteCommand<TEntity, TEntityId> {
|
|
|
105
116
|
execute(id: TEntityId): Promise<void>;
|
|
106
117
|
}
|
|
107
118
|
|
|
119
|
+
interface IResolveServiceOptions {
|
|
120
|
+
optional?: boolean;
|
|
121
|
+
}
|
|
122
|
+
interface IServiceLocator {
|
|
123
|
+
register<T extends ClassType>(name: string, service: Type<T>): void;
|
|
124
|
+
registerEntityService<T>(serviceName: string, entityName: string, service: T): void;
|
|
125
|
+
registerEntityServiceType<T>(serviceType: Type<T>, entityName: string, service: T): void;
|
|
126
|
+
resolve<T extends ClassType>(name: string, options?: IResolveServiceOptions): T;
|
|
127
|
+
resolveEntityService<T>(serviceName: string, entityName: string, options?: IResolveServiceOptions): T;
|
|
128
|
+
resolveEntityServiceType<T>(serviceType: Type<T>, entityName: string, options?: IResolveServiceOptions): T;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
declare class ServiceLocator implements IServiceLocator {
|
|
132
|
+
private services;
|
|
133
|
+
all(): {
|
|
134
|
+
[key: string]: any;
|
|
135
|
+
};
|
|
136
|
+
register<T>(name: string, service: T): void;
|
|
137
|
+
registerEntityService<T>(serviceName: string, entityName: string, service: T): void;
|
|
138
|
+
registerEntityServiceType<T>(serviceType: Type<T>, entityName: string, service: T): void;
|
|
139
|
+
resolve<T>(name: string, options?: IResolveServiceOptions): T;
|
|
140
|
+
resolveEntityService<T>(serviceName: string, entityName: string, options?: IResolveServiceOptions): T;
|
|
141
|
+
resolveEntityServiceType<T>(serviceType: Type<T>, entityName: string, options?: IResolveServiceOptions): T;
|
|
142
|
+
private buildServiceTypeName;
|
|
143
|
+
private buildServiceName;
|
|
144
|
+
}
|
|
145
|
+
|
|
108
146
|
interface IEntityMapper<TEntity, TMappedEntity> {
|
|
109
147
|
mapEntity(entity: TEntity): Promise<TMappedEntity>;
|
|
110
148
|
}
|
|
@@ -139,29 +177,21 @@ interface IEntityConnectorDeleteManager<TEntity, TEntityId> {
|
|
|
139
177
|
deleteEntity(entityId: TEntityId): Promise<void>;
|
|
140
178
|
}
|
|
141
179
|
|
|
142
|
-
interface
|
|
180
|
+
interface IEntitiesSearchActionConverter<TEntity, TListItemDto> {
|
|
143
181
|
toListItemDto(entity: TEntity): TListItemDto;
|
|
144
182
|
}
|
|
145
|
-
interface
|
|
146
|
-
createDtoToEntity(input: TEntityCreateInput): Partial<TEntity>;
|
|
147
|
-
}
|
|
148
|
-
interface IEntityCreateActionConverter<TEntity, TEntityDto> {
|
|
183
|
+
interface IEntityGetActionConverter<TEntity, TEntityDto> {
|
|
149
184
|
toEntityDto(entity: TEntity): TEntityDto;
|
|
150
185
|
}
|
|
151
|
-
interface
|
|
152
|
-
|
|
153
|
-
interface IEntityGetConverter<TEntity, TEntityDto> {
|
|
186
|
+
interface IEntityCreateActionConverter<TEntity, TEntityDto, TEntityCreateDto> {
|
|
187
|
+
createDtoToEntity(data: TEntityCreateDto): Partial<TEntity>;
|
|
154
188
|
toEntityDto(entity: TEntity): TEntityDto;
|
|
155
189
|
}
|
|
156
|
-
interface
|
|
157
|
-
updateDtoToEntity(input: TEntityUpdateInput): Partial<TEntity>;
|
|
158
|
-
}
|
|
159
|
-
interface IEntityUpdateActionConverter<TEntity, TEntityDto> {
|
|
190
|
+
interface IEntityUpdateActionConverter<TEntity, TEntityDto, TEntityUpdateDto> {
|
|
160
191
|
toEntityDto(entity: TEntity): TEntityDto;
|
|
192
|
+
updateDtoToEntity(data: TEntityUpdateDto): Partial<TEntity>;
|
|
161
193
|
}
|
|
162
|
-
interface
|
|
163
|
-
}
|
|
164
|
-
interface IEntityConverter<TEntity, TEntityDto = TEntity, TListItemDto = TEntity, TEntityCreateInput = TEntity, TEntityUpdateInput = TEntity> extends IEntitiesSearchConverter<TEntity, TListItemDto>, IEntityCreateCommandConverter<TEntity, TEntityCreateInput>, IEntityCreateActionConverter<TEntity, TEntityDto>, IEntityCreateConverter<TEntity, TEntityCreateInput, TEntityDto>, IEntityGetConverter<TEntity, TEntityDto>, IEntityUpdateCommandConverter<TEntity, TEntityUpdateInput>, IEntityUpdateActionConverter<TEntity, TEntityDto> {
|
|
194
|
+
interface IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> extends IEntitiesSearchActionConverter<TEntity, TListItemDto>, IEntityGetActionConverter<TEntity, TEntityDto>, IEntityCreateActionConverter<TEntity, TEntityDto, TEntityCreateDto>, IEntityUpdateActionConverter<TEntity, TEntityDto, TEntityUpdateDto> {
|
|
165
195
|
}
|
|
166
196
|
|
|
167
197
|
interface IEntityEventsManager<TEntity, TEntityId> {
|
|
@@ -180,12 +210,12 @@ interface IEntitiesQueryBuilder<TEntity, TEntitySearchParameters extends IEntity
|
|
|
180
210
|
search(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
|
|
181
211
|
}
|
|
182
212
|
|
|
183
|
-
interface IEntityManager<TEntity, TEntityId> {
|
|
213
|
+
interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> {
|
|
184
214
|
get(): IEntityGetQuery<TEntity, TEntityId>;
|
|
185
|
-
search
|
|
186
|
-
create
|
|
187
|
-
update
|
|
188
|
-
upsert
|
|
215
|
+
search(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
216
|
+
create(): IEntityCreateCommand<TEntity, TEntityCreateData>;
|
|
217
|
+
update(): IEntityUpdateCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
218
|
+
upsert(): IEntityUpsertCommand<TEntity, TEntityId, TEntityUpdateData>;
|
|
189
219
|
delete(): IEntityDeleteCommand<TEntity, TEntityId>;
|
|
190
220
|
}
|
|
191
221
|
|
|
@@ -197,6 +227,7 @@ interface IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition,
|
|
|
197
227
|
all(): Promise<TEntity[]>;
|
|
198
228
|
find(condition: TFindCondition): Promise<TEntity[]>;
|
|
199
229
|
findById(id: TEntityId[]): Promise<TEntity[]>;
|
|
230
|
+
count(condition: TFindCondition): Promise<number>;
|
|
200
231
|
delete(id: TEntityId): Promise<void>;
|
|
201
232
|
deleteBy(condition: TDeleteCondition): Promise<void>;
|
|
202
233
|
create(entity: Partial<TEntity>): Promise<TEntity>;
|
|
@@ -230,50 +261,22 @@ interface IEntityReplicaSyncManager<TEntity> {
|
|
|
230
261
|
syncReplicas(entity: TEntity): Promise<void>;
|
|
231
262
|
}
|
|
232
263
|
|
|
233
|
-
interface IResolveServiceOptions {
|
|
234
|
-
optional?: boolean;
|
|
235
|
-
}
|
|
236
|
-
interface IServiceLocator {
|
|
237
|
-
register<T extends ClassType>(name: string, service: Type<T>): void;
|
|
238
|
-
registerEntityService<T>(serviceName: string, entityName: string, service: T): void;
|
|
239
|
-
registerEntityServiceType<T>(serviceType: Type<T>, entityName: string, service: T): void;
|
|
240
|
-
resolve<T extends ClassType>(name: string, options?: IResolveServiceOptions): T;
|
|
241
|
-
resolveEntityService<T>(serviceName: string, entityName: string, options?: IResolveServiceOptions): T;
|
|
242
|
-
resolveEntityServiceType<T>(serviceType: Type<T>, entityName: string, options?: IResolveServiceOptions): T;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
declare class ServiceLocator implements IServiceLocator {
|
|
246
|
-
private services;
|
|
247
|
-
register<T>(name: string, service: T): void;
|
|
248
|
-
registerEntityService<T>(serviceName: string, entityName: string, service: T): void;
|
|
249
|
-
registerEntityServiceType<T>(serviceType: Type<T>, entityName: string, service: T): void;
|
|
250
|
-
resolve<T>(name: string, options?: IResolveServiceOptions): T;
|
|
251
|
-
resolveEntityService<T>(serviceName: string, entityName: string, options?: IResolveServiceOptions): T;
|
|
252
|
-
resolveEntityServiceType<T>(serviceType: Type<T>, entityName: string, options?: IResolveServiceOptions): T;
|
|
253
|
-
private buildServiceTypeName;
|
|
254
|
-
private buildServiceName;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
264
|
declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
258
265
|
private readonly services;
|
|
259
266
|
private readonly entityName;
|
|
260
267
|
constructor(services: EntitiesServiceLocator, entityName: string);
|
|
261
|
-
resolveEntityManager(): IEntityManager<TEntity,
|
|
262
|
-
resolveEntityActions(): IEntityActions<TEntity, TEntityId>;
|
|
268
|
+
resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
269
|
+
resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
263
270
|
resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
|
|
264
271
|
resolveEventsManager(): IEntityEventsManager<TEntity, TEntityId>;
|
|
265
|
-
resolveReplicaSyncManager
|
|
266
|
-
resolveReplicaConfiguration
|
|
267
|
-
resolveReplicaDeleteManager<
|
|
268
|
-
resolveConnectorSyncManager
|
|
269
|
-
resolveConnectorDeleteManager<
|
|
270
|
-
resolveConnectorsConfiguration
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
resolveSearchConverter<TListItemDto>(): IEntitiesSearchConverter<TEntity, TListItemDto> | undefined;
|
|
274
|
-
resolveGetConverter<TEntityDto>(): IEntityGetConverter<TEntity, TEntityDto> | undefined;
|
|
275
|
-
resolveCreateConverter<TEntityCreateData, TEntityDto>(): IEntityCreateConverter<TEntity, TEntityCreateData, TEntityDto> | undefined;
|
|
276
|
-
resolveUpdateActionConverter<TEntityDto>(): IEntityUpdateActionConverter<TEntity, TEntityDto> | undefined;
|
|
272
|
+
resolveReplicaSyncManager(): IEntityReplicaSyncManager<TEntity>;
|
|
273
|
+
resolveReplicaConfiguration(): IReplicasConfiguration<TEntity, TEntityId>;
|
|
274
|
+
resolveReplicaDeleteManager<TEntityId>(): IEntityReplicaDeleteManager<TEntity, TEntityId>;
|
|
275
|
+
resolveConnectorSyncManager(): IEntityConnectorSyncManager<TEntity>;
|
|
276
|
+
resolveConnectorDeleteManager<TEntityId>(): IEntityConnectorDeleteManager<TEntity, TEntityId>;
|
|
277
|
+
resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
|
|
278
|
+
resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
|
|
279
|
+
resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
277
280
|
resolveAuthorizationMiddleware(): IEntityAuthorizationMiddleware<TEntity> | undefined;
|
|
278
281
|
resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
|
|
279
282
|
resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
@@ -294,10 +297,10 @@ declare class EntitiesServiceLocator {
|
|
|
294
297
|
private readonly provider;
|
|
295
298
|
constructor(provider: ServiceLocator);
|
|
296
299
|
getProvider(): ServiceLocator;
|
|
297
|
-
resolveEntityManager<TEntity
|
|
298
|
-
registerEntityManager<TEntity
|
|
299
|
-
resolveEntityActions<TEntity
|
|
300
|
-
registerEntityActions<TEntity
|
|
300
|
+
resolveEntityManager<TEntity>(entityName: string): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
301
|
+
registerEntityManager<TEntity>(entityName: string, instance: IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>): void;
|
|
302
|
+
resolveEntityActions<TEntity>(entityName: string): IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
|
|
303
|
+
registerEntityActions<TEntity>(entityName: string, instance: IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, unknown, unknown>): void;
|
|
301
304
|
resolveRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(entityName: string): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
|
|
302
305
|
registerRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(entityName: string, instance: IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>): void;
|
|
303
306
|
resolveEventsManager<TEntity, TEntityId>(entityName: string): IEntityEventsManager<TEntity, TEntityId>;
|
|
@@ -314,18 +317,10 @@ declare class EntitiesServiceLocator {
|
|
|
314
317
|
registerConnectorDeleteManager<TEntity, TEntityId>(entityName: string, instance: IEntityConnectorDeleteManager<TEntity, TEntityId>): void;
|
|
315
318
|
resolveConnectorsConfiguration<TEntity>(entityName: string): IConnectorsConfiguration<TEntity>;
|
|
316
319
|
registerConnectorsConfiguration<TEntity>(entityName: string, instance: IConnectorsConfiguration<TEntity>): void;
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
resolveSearchConverter<TEntity, TListItemDto>(entityName: string): IEntitiesSearchConverter<TEntity, TListItemDto> | undefined;
|
|
322
|
-
registerSearchConverter<TEntity, TListItemDto>(entityName: string, instance: IEntitiesSearchConverter<TEntity, TListItemDto>): void;
|
|
323
|
-
resolveGetConverter<TEntity, TEntityDto>(entityName: string): IEntityGetConverter<TEntity, TEntityDto> | undefined;
|
|
324
|
-
registerGetConverter<TEntity, TEntityDto>(entityName: string, instance: IEntityGetConverter<TEntity, TEntityDto>): void;
|
|
325
|
-
resolveCreateConverter<TEntity, TEntityCreateData, TEntityDto>(entityName: string): IEntityCreateConverter<TEntity, TEntityCreateData, TEntityDto> | undefined;
|
|
326
|
-
registerCreateActionConverter<TEntity, TEntityCreateData, TEntityDto>(entityName: string, instance: IEntityCreateConverter<TEntity, TEntityCreateData, TEntityDto>): void;
|
|
327
|
-
resolveUpdateActionConverter<TEntity, TEntityDto>(entityName: string): IEntityUpdateActionConverter<TEntity, TEntityDto> | undefined;
|
|
328
|
-
registerUpdateActionConverter<TEntity, TEntityDto>(entityName: string, instance: IEntityUpdateActionConverter<TEntity, TEntityDto>): void;
|
|
320
|
+
registerAdapter<TEntity, TEntityCreateData, TEntityUpdateData>(entityName: string, instance: IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData>): void;
|
|
321
|
+
resolveAdapter<TEntity, TEntityCreateData, TEntityUpdateData>(entityName: string): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
322
|
+
registerConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string, instance: IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>): void;
|
|
323
|
+
resolveConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
|
|
329
324
|
resolveAuthorizationMiddleware<TEntity>(entityName: string): IEntityAuthorizationMiddleware<TEntity> | undefined;
|
|
330
325
|
registerAuthorizationMiddleware<TEntity>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity>): void;
|
|
331
326
|
resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
|
|
@@ -357,6 +352,9 @@ declare class EntitiesServiceLocator {
|
|
|
357
352
|
}
|
|
358
353
|
|
|
359
354
|
interface IEntityManagerServiceRoot {
|
|
355
|
+
locator: ServiceLocator;
|
|
356
|
+
getEntitiesServicesLocator(): EntitiesServiceLocator;
|
|
357
|
+
getEntityServicesLocator<TEntity, TEntityId>(entityName: string): EntityServiceLocator<TEntity, TEntityId>;
|
|
360
358
|
registerEntity<TEntity, TEntityId, TRepository extends IEntityRepository<TEntity, TEntityId, unknown, unknown, unknown, unknown>>(entityName: string, repository: TRepository): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
361
359
|
}
|
|
362
360
|
interface IEntityManagerServiceCollection<TEntity, TEntityId> {
|
|
@@ -365,6 +363,7 @@ interface IEntityManagerServiceCollection<TEntity, TEntityId> {
|
|
|
365
363
|
queryBuilder: TEntitiesQueryBuilder;
|
|
366
364
|
}): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
367
365
|
addConverter<TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput, TEntityConverter extends IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput>>(converter: TEntityConverter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
366
|
+
addAdapter<TEntityCreateData, TEntityUpdateData, TEntityAdapter extends IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData>>(adapter: TEntityAdapter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
368
367
|
addAuthorization<TEntityAuthorizationMiddleware extends IEntityAuthorizationMiddleware<TEntity>>({ middleware, }: {
|
|
369
368
|
middleware: TEntityAuthorizationMiddleware;
|
|
370
369
|
}): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
@@ -423,9 +422,153 @@ interface ISearchResultsPaging<TCursor> {
|
|
|
423
422
|
prevPageCursor?: TCursor;
|
|
424
423
|
}
|
|
425
424
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
425
|
+
interface EntityAuthMiddlewareProps {
|
|
426
|
+
entityName: string;
|
|
427
|
+
}
|
|
428
|
+
declare const WpEntityAuthMiddleware: (entityName: string, props?: Omit<EntityAuthMiddlewareProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
429
|
+
|
|
430
|
+
interface EntityActionsProps {
|
|
431
|
+
entityName: string;
|
|
432
|
+
}
|
|
433
|
+
declare const WpEntityActions: (entityName: string, props?: Omit<EntityActionsProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
434
|
+
|
|
435
|
+
interface EntityConnectorProps {
|
|
436
|
+
entityName: string;
|
|
437
|
+
}
|
|
438
|
+
declare const WpEntityConnector: (entityName: string, props?: Omit<EntityConnectorProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
439
|
+
|
|
440
|
+
interface EntityConverterProps {
|
|
441
|
+
entityName: string;
|
|
442
|
+
}
|
|
443
|
+
declare const WpEntityConverter: (entityName: string, props?: Omit<EntityConverterProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
444
|
+
|
|
445
|
+
interface EntityProps {
|
|
446
|
+
name: string;
|
|
447
|
+
}
|
|
448
|
+
declare const WpEntity: (name: string, props?: Omit<EntityProps, "name">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
449
|
+
|
|
450
|
+
interface EntityRepositoryProps {
|
|
451
|
+
entityName: string;
|
|
452
|
+
}
|
|
453
|
+
declare const WpEntityRepository: (entityName: string, props?: Omit<EntityRepositoryProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
454
|
+
|
|
455
|
+
interface EntityManagerProps {
|
|
456
|
+
entityName: string;
|
|
457
|
+
}
|
|
458
|
+
declare const WpEntityManager: (entityName: string, props?: Omit<EntityManagerProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
459
|
+
|
|
460
|
+
interface EntityQueryBuilderProps {
|
|
461
|
+
entityName: string;
|
|
462
|
+
}
|
|
463
|
+
declare const WpEntityQueryBuilder: (entityName: string, props?: Omit<EntityQueryBuilderProps, "entityName">) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
464
|
+
|
|
465
|
+
declare const EntityManagerSymbols: {
|
|
466
|
+
Entity: symbol;
|
|
467
|
+
EntityActions: symbol;
|
|
468
|
+
EntityAdapter: symbol;
|
|
469
|
+
EntityAuthMiddleware: symbol;
|
|
470
|
+
EntityRepository: symbol;
|
|
471
|
+
EntityConnector: symbol;
|
|
472
|
+
EntityConverter: symbol;
|
|
473
|
+
EntityManager: symbol;
|
|
474
|
+
EntityQueryBuilder: symbol;
|
|
475
|
+
};
|
|
476
|
+
|
|
477
|
+
interface DiscoveredModule<T = object> {
|
|
478
|
+
name: string;
|
|
479
|
+
instance: T;
|
|
480
|
+
injectType?: Function | Type$1<any>;
|
|
481
|
+
dependencyType: Type$1<T>;
|
|
482
|
+
}
|
|
483
|
+
interface DiscoveredClass extends DiscoveredModule {
|
|
484
|
+
parentModule: DiscoveredModule;
|
|
485
|
+
}
|
|
486
|
+
interface DiscoveredClassWithMeta<T> {
|
|
487
|
+
discoveredClass: DiscoveredClass;
|
|
488
|
+
meta: T;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
interface EntityAdapterProps {
|
|
492
|
+
entityName: string;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
declare class EntityManagerRegistry {
|
|
496
|
+
private readonly container;
|
|
497
|
+
getContainer(): IEntityManagerServiceRoot;
|
|
498
|
+
registerDiscoveredEntity(app: INestApplicationContext, { adapter, entityName, converter, queryBuilder, repository, authMiddleware, }: {
|
|
499
|
+
entityName: string;
|
|
500
|
+
repository: DiscoveredClassWithMeta<EntityRepositoryProps>;
|
|
501
|
+
converter: DiscoveredClassWithMeta<EntityConverterProps>;
|
|
502
|
+
adapter: DiscoveredClassWithMeta<EntityAdapterProps>;
|
|
503
|
+
queryBuilder: DiscoveredClassWithMeta<EntityQueryBuilderProps>;
|
|
504
|
+
authMiddleware?: DiscoveredClassWithMeta<EntityAuthMiddlewareProps>;
|
|
505
|
+
}): Promise<void>;
|
|
506
|
+
resolveEntityServicesCollection<TEntity>(entityName: string): EntityServiceLocator<TEntity, unknown>;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
declare abstract class NestEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> {
|
|
510
|
+
protected readonly services: EntityServiceLocator<TEntity, TEntityId>;
|
|
511
|
+
private managerInstance;
|
|
512
|
+
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
513
|
+
get provider(): IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
declare abstract class QueryBuilderBase<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> implements IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets> {
|
|
517
|
+
abstract search(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
|
|
518
|
+
protected getIndexBasedPagingResult({ paging, totResults, currentPageResults, }: {
|
|
519
|
+
paging?: ISearchRequestPaging<number>;
|
|
520
|
+
totResults: number;
|
|
521
|
+
currentPageResults: number;
|
|
522
|
+
}): EntitiesSearchResultsPaging<number> | undefined;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
type UpdateCriteria<TEntity extends ObjectLiteral> = string | string[] | number | number[] | Date | Date[] | ObjectId | ObjectId[] | FindOptionsWhere<TEntity>;
|
|
526
|
+
type DeleteCriteria<TEntity extends ObjectLiteral> = string | string[] | number | number[] | Date | Date[] | ObjectId | ObjectId[] | FindOptionsWhere<TEntity>;
|
|
527
|
+
declare class TypeOrmRepository<TEntity extends ObjectLiteral, TEntityId> implements IEntityRepository<TEntity, TEntityId, FindOneOptions<TEntity>, FindManyOptions<TEntity>, UpdateCriteria<TEntity>, DeleteCriteria<TEntity>> {
|
|
528
|
+
protected readonly innerRepository: Repository<TEntity>;
|
|
529
|
+
constructor(innerRepository: Repository<TEntity>);
|
|
530
|
+
exists(id: TEntityId): Promise<boolean>;
|
|
531
|
+
existsBy(condition: FindOneOptions<TEntity>): Promise<boolean>;
|
|
532
|
+
get(id: TEntityId): Promise<TEntity | undefined>;
|
|
533
|
+
getBy(condition: FindOneOptions<TEntity>): Promise<TEntity | undefined>;
|
|
534
|
+
all(): Promise<TEntity[]>;
|
|
535
|
+
count(condition: FindManyOptions<TEntity>): Promise<number>;
|
|
536
|
+
find(condition: FindManyOptions<TEntity>): Promise<TEntity[]>;
|
|
537
|
+
findById(id: TEntityId[]): Promise<TEntity[]>;
|
|
538
|
+
delete(id: TEntityId): Promise<void>;
|
|
539
|
+
deleteBy(condition: DeleteCriteria<TEntity>): Promise<void>;
|
|
540
|
+
create(entity: Partial<TEntity>): Promise<TEntity>;
|
|
541
|
+
update(id: TEntityId, entity: Partial<TEntity>): Promise<TEntity>;
|
|
542
|
+
updateBy(entity: Partial<TEntity>, condition: UpdateCriteria<TEntity>): Promise<TEntity[]>;
|
|
543
|
+
upsert(id: TEntityId, entity: Partial<TEntity>): Promise<TEntity>;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntitySearchParameters extends IEntitySearchParameters<TSorting, number>, TSorting extends SortingType, TFacets> extends QueryBuilderBase<TEntity, TEntitySearchParameters, TSorting, number, TFacets> {
|
|
547
|
+
private readonly services;
|
|
548
|
+
private repository;
|
|
549
|
+
constructor(services: EntityServiceLocator<TEntity, unknown>);
|
|
550
|
+
search(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, number, TFacets>>;
|
|
551
|
+
protected findPagedQueryResults(request: TEntitySearchParameters): Promise<TEntity[]>;
|
|
552
|
+
protected getRelationsToLoad(request: TEntitySearchParameters): FindOptionsRelations<TEntity> | undefined;
|
|
553
|
+
protected buildPagingParameters(request: TEntitySearchParameters): {
|
|
554
|
+
skip: number | undefined;
|
|
555
|
+
take: number | undefined;
|
|
556
|
+
};
|
|
557
|
+
protected countQueryResults(request: TEntitySearchParameters): Promise<number>;
|
|
558
|
+
protected abstract buildWhereClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
|
|
559
|
+
protected abstract calculateFacets(request: TEntitySearchParameters): Promise<TFacets | undefined>;
|
|
560
|
+
protected getRepository(): TypeOrmRepository<TEntity, unknown>;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
declare abstract class NestTypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntitySearchParameters extends IEntitySearchParameters<TSorting, number>, TSorting extends SortingType, TFacets> extends TypeOrmQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TFacets> {
|
|
564
|
+
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
declare class NestTypeOrmRepository<TEntity extends ObjectLiteral, TEntityId> extends TypeOrmRepository<TEntity, TEntityId> {
|
|
568
|
+
constructor(repository: Repository<TEntity>);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
declare class EntityManagerModule {
|
|
429
572
|
}
|
|
430
573
|
|
|
431
|
-
export { EntityManagerException, EntityManagerModule, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, FilterExpression, IAuthorizationResult, IEntitiesQueryBuilder, IEntitiesSearchAction,
|
|
574
|
+
export { EntityActionsProps, EntityAuthMiddlewareProps, EntityConnectorProps, EntityConverterProps, EntityManagerException, EntityManagerModule, EntityManagerProps, EntityManagerRegistry, EntityManagerSymbols, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntityProps, EntityQueryBuilderProps, EntityRepositoryProps, FilterExpression, IAuthorizationResult, IEntitiesQueryBuilder, IEntitiesSearchAction, IEntitiesSearchQuery, IEntityActions, IEntityAdapter, IEntityAuthorizationMiddleware, IEntityConverter, IEntityCreateAction, IEntityCreateCommand, IEntityDeleteAction, IEntityDeleteCommand, IEntityEventsManager, IEntityGetAction, IEntityGetQuery, IEntityManager, IEntityManagerServiceCollection, IEntityManagerServiceRoot, IEntityMapper, IEntityReplicaDeleteManager, IEntityReplicaSyncManager, IEntityRepository, IEntitySearchParameters, IEntitySearchResults, IEntityUpdateAction, IEntityUpdateCommand, IEntityUpsertAction, IEntityUpsertCommand, IReplicasConfiguration, ISearchFilters, ISearchOptions, ISearchRequestPaging, ISearchResultsPaging, ISearchSorting, ISearchSortingField, MultipleEntitiesFoundException, NestEntityManager, NestTypeOrmQueryBuilder, NestTypeOrmRepository, QueryBuilderBase, ReplicaConfiguration, ReplicaOptions, ReplicationMode, SortDirection, SortingType, WpEntity, WpEntityActions, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository };
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@punks/backend-entity-manager",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"punks": "dist/run.js"
|
|
9
|
+
},
|
|
7
10
|
"files": [
|
|
8
11
|
"dist"
|
|
9
12
|
],
|
|
@@ -25,12 +28,18 @@
|
|
|
25
28
|
"@babel/core": "^7.21.0",
|
|
26
29
|
"@nestjs/common": "^10.0.5",
|
|
27
30
|
"@nestjs/core": "^10.0.5",
|
|
28
|
-
"@
|
|
31
|
+
"@nestjs/swagger": "^7.1.1",
|
|
32
|
+
"@nestjs/testing": "^10.0.5",
|
|
33
|
+
"@nestjs/typeorm": "^10.0.0",
|
|
29
34
|
"@rollup/plugin-commonjs": "^21.0.1",
|
|
30
35
|
"@rollup/plugin-node-resolve": "^13.0.6",
|
|
31
36
|
"@rollup/plugin-typescript": "^11.0.0",
|
|
32
37
|
"@types/jest": "^29.5.2",
|
|
38
|
+
"@types/lodash": "^4.14.195",
|
|
39
|
+
"class-transformer": "^0.5.1",
|
|
40
|
+
"class-validator": "^0.14.0",
|
|
33
41
|
"jest": "^29.4.3",
|
|
42
|
+
"lodash": "^4.17.21",
|
|
34
43
|
"pg": "^8.11.1",
|
|
35
44
|
"pg-mem": "^2.6.13",
|
|
36
45
|
"reflect-metadata": "^0.1.13",
|
|
@@ -44,10 +53,10 @@
|
|
|
44
53
|
"typeorm": "^0.3.17",
|
|
45
54
|
"typescript": "^5.1.6"
|
|
46
55
|
},
|
|
47
|
-
"peerDependencies": {
|
|
48
|
-
|
|
56
|
+
"peerDependencies": {},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@punks/backend-core": "0.0.8"
|
|
49
59
|
},
|
|
50
|
-
"dependencies": {},
|
|
51
60
|
"jest": {
|
|
52
61
|
"transform": {
|
|
53
62
|
".(ts|tsx)": "ts-jest"
|
package/readme.md
CHANGED
|
@@ -5,7 +5,7 @@ This library contains the entity manager of the Punks backend.
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install @punks/backend-entity-manager @punks/backend-core
|
|
8
|
+
npm install @punks/backend-entity-manager @punks/backend-core class-transformer class-validator
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Supported ORMs:
|
|
@@ -15,3 +15,12 @@ npm install @punks/backend-entity-manager @punks/backend-core
|
|
|
15
15
|
```bash
|
|
16
16
|
npm install typeorm
|
|
17
17
|
```
|
|
18
|
+
|
|
19
|
+
## Supported platforms:
|
|
20
|
+
|
|
21
|
+
- [NestJS](https://nestjs.com/)
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# NestJS with TypeORM
|
|
25
|
+
npm install @nestjs/core @nestjs/common @nestjs/typeorm @nestjs/swagger
|
|
26
|
+
```
|