mongodb-dynamic-api 4.3.0 → 4.4.0
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/CHANGELOG.md +17 -0
- package/package.json +1 -1
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +4 -4
- package/src/interfaces/dynamic-api-service-before-save-callback.interface.d.ts +47 -5
- package/src/interfaces/dynamic-api-service-callback.interface.d.ts +5 -3
- package/src/modules/auth/auth.helper.d.ts +2 -2
- package/src/modules/auth/auth.helper.js.map +1 -1
- package/src/modules/auth/interfaces/auth-options.interface.d.ts +9 -9
- package/src/modules/auth/services/base-auth.service.d.ts +7 -7
- package/src/routes/aggregate/aggregate.helper.d.ts +2 -2
- package/src/routes/aggregate/aggregate.helper.js.map +1 -1
- package/src/routes/aggregate/base-aggregate.service.d.ts +2 -2
- package/src/routes/create-many/base-create-many.service.d.ts +3 -2
- package/src/routes/create-many/base-create-many.service.js +5 -1
- package/src/routes/create-many/base-create-many.service.js.map +1 -1
- package/src/routes/create-many/create-many.helper.d.ts +2 -2
- package/src/routes/create-many/create-many.helper.js +2 -1
- package/src/routes/create-many/create-many.helper.js.map +1 -1
- package/src/routes/create-many/create-many.module.js +1 -1
- package/src/routes/create-many/create-many.module.js.map +1 -1
- package/src/routes/create-one/base-create-one.service.d.ts +3 -3
- package/src/routes/create-one/create-one.helper.d.ts +2 -2
- package/src/routes/create-one/create-one.helper.js.map +1 -1
- package/src/routes/create-one/create-one.module.js.map +1 -1
- package/src/routes/delete-many/base-delete-many.service.d.ts +3 -0
- package/src/routes/delete-many/base-delete-many.service.js +13 -0
- package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
- package/src/routes/delete-many/delete-many.helper.d.ts +2 -2
- package/src/routes/delete-many/delete-many.helper.js +3 -1
- package/src/routes/delete-many/delete-many.helper.js.map +1 -1
- package/src/routes/delete-many/delete-many.module.js +1 -1
- package/src/routes/delete-many/delete-many.module.js.map +1 -1
- package/src/routes/delete-one/base-delete-one.service.d.ts +3 -0
- package/src/routes/delete-one/base-delete-one.service.js +13 -0
- package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
- package/src/routes/delete-one/delete-one.helper.d.ts +2 -2
- package/src/routes/delete-one/delete-one.helper.js +3 -1
- package/src/routes/delete-one/delete-one.helper.js.map +1 -1
- package/src/routes/delete-one/delete-one.module.js +1 -1
- package/src/routes/delete-one/delete-one.module.js.map +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +3 -2
- package/src/routes/duplicate-many/base-duplicate-many.service.js +7 -2
- package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.helper.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many.helper.js +2 -1
- package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.module.js +1 -1
- package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.d.ts +3 -2
- package/src/routes/duplicate-one/base-duplicate-one.service.js +7 -2
- package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.helper.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one.helper.js +2 -1
- package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.module.js +1 -1
- package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
- package/src/routes/get-many/base-get-many.service.d.ts +2 -2
- package/src/routes/get-many/get-many.helper.d.ts +2 -2
- package/src/routes/get-many/get-many.helper.js.map +1 -1
- package/src/routes/get-one/base-get-one.service.d.ts +2 -2
- package/src/routes/get-one/get-one.helper.d.ts +2 -2
- package/src/routes/get-one/get-one.helper.js.map +1 -1
- package/src/routes/replace-one/base-replace-one.service.d.ts +3 -2
- package/src/routes/replace-one/base-replace-one.service.js +14 -3
- package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
- package/src/routes/replace-one/replace-one.helper.d.ts +2 -2
- package/src/routes/replace-one/replace-one.helper.js +2 -1
- package/src/routes/replace-one/replace-one.helper.js.map +1 -1
- package/src/routes/replace-one/replace-one.module.js +1 -1
- package/src/routes/replace-one/replace-one.module.js.map +1 -1
- package/src/routes/update-many/base-update-many.service.d.ts +3 -2
- package/src/routes/update-many/base-update-many.service.js +17 -7
- package/src/routes/update-many/base-update-many.service.js.map +1 -1
- package/src/routes/update-many/update-many.helper.d.ts +2 -2
- package/src/routes/update-many/update-many.helper.js +2 -1
- package/src/routes/update-many/update-many.helper.js.map +1 -1
- package/src/routes/update-many/update-many.module.js +1 -1
- package/src/routes/update-many/update-many.module.js.map +1 -1
- package/src/routes/update-one/base-update-one.service.d.ts +3 -3
- package/src/routes/update-one/update-one.helper.d.ts +2 -2
- package/src/routes/update-one/update-one.helper.js.map +1 -1
- package/src/routes/update-one/update-one.module.js.map +1 -1
- package/src/version.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
|
|
3
|
+
## [4.4.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.3.0...v4.4.0) (2026-03-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
* pass existing entities to BeforeSaveListCallback in DuplicateMany and UpdateMany ([77b6872](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/77b6872e6852eb3199bae0f313f6ef20f101d815))
|
|
7
|
+
* update BeforeSaveListCallback to receive entities list and add AnyBeforeSaveCallback union type ([8b422b2](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/8b422b2821a660d6ce1dde01bfe470d6e3ce5275))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### interfaces
|
|
11
|
+
|
|
12
|
+
* **interfaces:** add BeforeSaveDeleteManyCallback type for delete-many route ([ce1d707](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/ce1d7076b23c63de74e4b6e7ae44044e63d917a8))
|
|
13
|
+
* **interfaces:** add short aliases for callback types and deprecate verbose names ([aa6467f](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/aa6467f839a753770e40ebeaf0c742b11b67e3da))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### routes
|
|
17
|
+
|
|
18
|
+
* **routes:** pass beforeSaveCallback from routeConfig to service providers ([3d4ee6d](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/3d4ee6dd0103c9f9b797dc616da516f949e61eae))
|
|
19
|
+
|
|
3
20
|
## [4.3.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.2.1...v4.3.0) (2026-03-17)
|
|
4
21
|
|
|
5
22
|
|
package/package.json
CHANGED
|
@@ -4,8 +4,8 @@ import { AbilityPredicate } from './dynamic-api-ability.interface';
|
|
|
4
4
|
import { DynamicApiBroadcastConfig } from './dynamic-api-broadcast-config.interface';
|
|
5
5
|
import { DTOsBundle } from './dynamic-api-route-dtos-bundle.type';
|
|
6
6
|
import { RouteType } from './dynamic-api-route-type.type';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { AnyBeforeSaveCallback } from './dynamic-api-service-before-save-callback.interface';
|
|
8
|
+
import { AfterSaveCallback } from './dynamic-api-service-callback.interface';
|
|
9
9
|
import { DynamicApiWebSocketOptions } from './dynamic-api-web-socket.interface';
|
|
10
10
|
interface DynamicApiRouteConfig<Entity extends BaseEntity> {
|
|
11
11
|
type: RouteType;
|
|
@@ -17,8 +17,8 @@ interface DynamicApiRouteConfig<Entity extends BaseEntity> {
|
|
|
17
17
|
dTOs?: DTOsBundle;
|
|
18
18
|
validationPipeOptions?: ValidationPipeOptions;
|
|
19
19
|
abilityPredicate?: AbilityPredicate<Entity>;
|
|
20
|
-
beforeSaveCallback?:
|
|
21
|
-
callback?:
|
|
20
|
+
beforeSaveCallback?: AnyBeforeSaveCallback<Entity>;
|
|
21
|
+
callback?: AfterSaveCallback<Entity>;
|
|
22
22
|
webSocket?: DynamicApiWebSocketOptions;
|
|
23
23
|
eventName?: string;
|
|
24
24
|
broadcast?: DynamicApiBroadcastConfig<Entity>;
|
|
@@ -1,11 +1,53 @@
|
|
|
1
1
|
import { BaseEntity } from '../models';
|
|
2
|
-
import {
|
|
3
|
-
type
|
|
2
|
+
import { CallbackMethods } from './dynamic-api-service-callback.interface';
|
|
3
|
+
type BeforeSaveCreateContext<Entity extends BaseEntity> = {
|
|
4
4
|
toCreate: Partial<Entity>;
|
|
5
5
|
};
|
|
6
|
-
type
|
|
6
|
+
type BeforeSaveCreateManyContext<Entity extends BaseEntity> = {
|
|
7
|
+
toCreate: Partial<Entity>[];
|
|
8
|
+
};
|
|
9
|
+
type BeforeSaveUpdateContext<Entity extends BaseEntity> = {
|
|
7
10
|
id: string;
|
|
8
11
|
update: Partial<Entity>;
|
|
9
12
|
};
|
|
10
|
-
type
|
|
11
|
-
|
|
13
|
+
type BeforeSaveUpdateManyContext<Entity extends BaseEntity> = {
|
|
14
|
+
ids: string[];
|
|
15
|
+
update: Partial<Entity>;
|
|
16
|
+
};
|
|
17
|
+
type BeforeSaveReplaceContext<Entity extends BaseEntity> = {
|
|
18
|
+
id: string;
|
|
19
|
+
replacement: Partial<Entity>;
|
|
20
|
+
};
|
|
21
|
+
type BeforeSaveDeleteContext = {
|
|
22
|
+
id: string;
|
|
23
|
+
};
|
|
24
|
+
type BeforeSaveDeleteManyContext = {
|
|
25
|
+
ids: string[];
|
|
26
|
+
};
|
|
27
|
+
type BeforeSaveDuplicateContext<Entity extends BaseEntity> = {
|
|
28
|
+
id: string;
|
|
29
|
+
override?: Partial<Entity>;
|
|
30
|
+
};
|
|
31
|
+
type BeforeSaveDuplicateManyContext<Entity extends BaseEntity> = {
|
|
32
|
+
ids: string[];
|
|
33
|
+
override?: Partial<Entity>;
|
|
34
|
+
};
|
|
35
|
+
type BeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entity: Entity | undefined, context: Context, methods: CallbackMethods) => Promise<Partial<Entity>>;
|
|
36
|
+
type BeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entities: Entity[] | undefined, context: Context, methods: CallbackMethods) => Promise<Partial<Entity>[]>;
|
|
37
|
+
type BeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entity: Entity | undefined, context: Context, methods: CallbackMethods) => Promise<void>;
|
|
38
|
+
type BeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entities: Entity[], context: Context, methods: CallbackMethods) => Promise<void>;
|
|
39
|
+
type AnyBeforeSaveCallback<Entity extends BaseEntity> = BeforeSaveCallback<Entity> | BeforeSaveListCallback<Entity> | BeforeSaveDeleteCallback<Entity> | BeforeSaveDeleteManyCallback<Entity>;
|
|
40
|
+
type DynamicApiServiceBeforeSaveCreateContext<Entity extends BaseEntity> = BeforeSaveCreateContext<Entity>;
|
|
41
|
+
type DynamicApiServiceBeforeSaveCreateManyContext<Entity extends BaseEntity> = BeforeSaveCreateManyContext<Entity>;
|
|
42
|
+
type DynamicApiServiceBeforeSaveUpdateContext<Entity extends BaseEntity> = BeforeSaveUpdateContext<Entity>;
|
|
43
|
+
type DynamicApiServiceBeforeSaveUpdateManyContext<Entity extends BaseEntity> = BeforeSaveUpdateManyContext<Entity>;
|
|
44
|
+
type DynamicApiServiceBeforeSaveReplaceContext<Entity extends BaseEntity> = BeforeSaveReplaceContext<Entity>;
|
|
45
|
+
type DynamicApiServiceBeforeSaveDeleteContext = BeforeSaveDeleteContext;
|
|
46
|
+
type DynamicApiServiceBeforeSaveDeleteManyContext = BeforeSaveDeleteManyContext;
|
|
47
|
+
type DynamicApiServiceBeforeSaveDuplicateContext<Entity extends BaseEntity> = BeforeSaveDuplicateContext<Entity>;
|
|
48
|
+
type DynamicApiServiceBeforeSaveDuplicateManyContext<Entity extends BaseEntity> = BeforeSaveDuplicateManyContext<Entity>;
|
|
49
|
+
type DynamicApiServiceBeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveCallback<Entity, Context>;
|
|
50
|
+
type DynamicApiServiceBeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveListCallback<Entity, Context>;
|
|
51
|
+
type DynamicApiServiceBeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveDeleteCallback<Entity, Context>;
|
|
52
|
+
type DynamicApiServiceBeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveDeleteManyCallback<Entity, Context>;
|
|
53
|
+
export type { AnyBeforeSaveCallback, BeforeSaveCallback, BeforeSaveListCallback, BeforeSaveDeleteCallback, BeforeSaveDeleteManyCallback, BeforeSaveCreateContext, BeforeSaveCreateManyContext, BeforeSaveUpdateContext, BeforeSaveUpdateManyContext, BeforeSaveReplaceContext, BeforeSaveDeleteContext, BeforeSaveDeleteManyContext, BeforeSaveDuplicateContext, BeforeSaveDuplicateManyContext, DynamicApiServiceBeforeSaveCallback, DynamicApiServiceBeforeSaveListCallback, DynamicApiServiceBeforeSaveDeleteCallback, DynamicApiServiceBeforeSaveDeleteManyCallback, DynamicApiServiceBeforeSaveCreateContext, DynamicApiServiceBeforeSaveCreateManyContext, DynamicApiServiceBeforeSaveUpdateContext, DynamicApiServiceBeforeSaveUpdateManyContext, DynamicApiServiceBeforeSaveReplaceContext, DynamicApiServiceBeforeSaveDeleteContext, DynamicApiServiceBeforeSaveDeleteManyContext, DynamicApiServiceBeforeSaveDuplicateContext, DynamicApiServiceBeforeSaveDuplicateManyContext, };
|
|
@@ -3,7 +3,7 @@ import { PipelineStage } from 'mongodb-pipeline-builder';
|
|
|
3
3
|
import { FilterQuery, UpdateQuery, UpdateWithAggregationPipeline } from 'mongoose';
|
|
4
4
|
import { BaseEntity } from '../models';
|
|
5
5
|
import { DeleteResult, UpdateResult } from './dynamic-api-route-response.type';
|
|
6
|
-
type
|
|
6
|
+
type CallbackMethods = {
|
|
7
7
|
findManyDocuments<T>(entity: Type<T>, query: FilterQuery<T>): Promise<T[]>;
|
|
8
8
|
findOneDocument<T>(entity: Type<T>, query: FilterQuery<T>): Promise<T | undefined>;
|
|
9
9
|
createManyDocuments<T>(entity: Type<T>, data: Partial<T>[]): Promise<T[]>;
|
|
@@ -14,7 +14,9 @@ type DynamicApiCallbackMethods = {
|
|
|
14
14
|
deleteOneDocument<T>(entity: Type<T>, id: string): Promise<DeleteResult>;
|
|
15
15
|
aggregateDocuments<T>(entity: Type<T>, pipeline: PipelineStage[]): Promise<T[]>;
|
|
16
16
|
};
|
|
17
|
-
type
|
|
17
|
+
type DynamicApiCallbackMethods = CallbackMethods;
|
|
18
|
+
type AfterSaveCallback<Entity extends BaseEntity> = (entity: Entity, methods: CallbackMethods) => Promise<void>;
|
|
19
|
+
type DynamicApiServiceCallback<Entity extends BaseEntity> = AfterSaveCallback<Entity>;
|
|
18
20
|
type DynamicApiResetPasswordCallbackMethods<Entity extends BaseEntity, UpdateBy = 'userId'> = {
|
|
19
21
|
findUserByEmail: () => Promise<Entity>;
|
|
20
22
|
updateUserByEmail: (update: UpdateQuery<Entity> | UpdateWithAggregationPipeline) => Promise<Entity>;
|
|
@@ -23,4 +25,4 @@ type DynamicApiResetPasswordCallback<Entity extends BaseEntity> = (_: {
|
|
|
23
25
|
resetPasswordToken: string;
|
|
24
26
|
email: string;
|
|
25
27
|
}, methods: DynamicApiResetPasswordCallbackMethods<Entity>) => Promise<void>;
|
|
26
|
-
export type { DynamicApiServiceCallback, DynamicApiResetPasswordCallback, DynamicApiCallbackMethods, DynamicApiResetPasswordCallbackMethods, };
|
|
28
|
+
export type { AfterSaveCallback, DynamicApiServiceCallback, DynamicApiResetPasswordCallback, DynamicApiCallbackMethods, DynamicApiResetPasswordCallbackMethods, CallbackMethods, };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { AuthAbilityPredicate,
|
|
2
|
+
import { AuthAbilityPredicate, AfterSaveCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { AuthControllerConstructor, AuthGatewayConstructor, DynamicApiGetAccountOptions, DynamicApiLoginOptions, DynamicApiRefreshTokenOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions } from './interfaces';
|
|
5
5
|
declare const authServiceProviderName = "DynamicApiAuthService";
|
|
6
6
|
declare const authGatewayProviderName = "DynamicApiAuthGateway";
|
|
7
7
|
declare const localStrategyProviderName = "DynamicApiLocalStrategy";
|
|
8
8
|
declare function createLocalStrategyProvider<Entity extends BaseEntity>(loginField: keyof Entity, passwordField: keyof Entity, abilityPredicate: AuthAbilityPredicate | undefined, customValidate?: (req: any) => Promise<Entity | null>, useStrategy?: Type<any>): DynamicAPIServiceProvider;
|
|
9
|
-
declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields, callback: loginCallback }: DynamicApiLoginOptions<Entity>, getAccountCallback:
|
|
9
|
+
declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields, callback: loginCallback }: DynamicApiLoginOptions<Entity>, getAccountCallback: AfterSaveCallback<Entity> | undefined, register: DynamicApiRegisterOptions<Entity> | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccount: DynamicApiUpdateAccountOptions<Entity> | undefined, refreshToken?: DynamicApiRefreshTokenOptions<Entity>): DynamicAPIServiceProvider;
|
|
10
10
|
type CreateAuthControllerOptions<Entity extends BaseEntity> = {
|
|
11
11
|
getAccountOptions?: DynamicApiGetAccountOptions<Entity>;
|
|
12
12
|
registerOptions?: DynamicApiRegisterOptions<Entity>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkPE,oDAAoB;AACpB,8DAAyB;AACzB,8CAAiB;AACjB,kEAA2B;AArP7B,2CAA8J;AAC9J,qCAAyC;AACzC,+CAA+C;AAC/C,+CAAoD;AACpD,6CAA0C;AAC1C,mDAAsD;AACtD,uCAAiC;AACjC,mDAA0C;AAC1C,iDAAiD;AACjD,iEAA4D;AAC5D,2CAA4D;AAG5D,6CAA2E;AAE3E,qCAAiE;AACjE,yCAA6C;AAE7C,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AA8NtD,0DAAuB;AA7NzB,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AA8NtD,0DAAuB;AA7NzB,MAAM,yBAAyB,GAAG,yBAAyB,CAAC;AAkO1D,8DAAyB;AAhO3B,SAAS,2BAA2B,CAClC,UAAwB,EACxB,aAA2B,EAC3B,gBAAkD,EAClD,cAAqD,EACrD,WAAuB;IAEvB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,yBAAyB;YAClC,QAAQ,EAAE,WAAW;SACtB,CAAC;IACJ,CAAC;IAED,IACM,aAAa,GADnB,MACM,aAAc,SAAQ,IAAA,2BAAgB,EAAC,yBAAQ,CAAC;QAIpD,YAEE,WAAmD;YAEnD,KAAK,CAAC;gBACJ,aAAa,EAAE,UAAoB;gBACnC,aAAa,EAAE,aAAuB;gBACtC,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;YANgB,gBAAW,GAAX,WAAW,CAAqB;YAL3C,qBAAgB,GAAG,gBAAgB,CAAC;YACpC,mBAAc,GAAG,cAAc,CAAC;QAW1C,CAAC;QASD,YAAY,CAAC,GAAQ,EAAE,OAAa;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAoB,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;gBACjE,GAAG,CAAC,IAAI,CAAC,UAAoB,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAoB,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,aAAuB,CAAC,IAAI,EAAE,CAAC;YAEvD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;iBAC5B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAClC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,KAAa,EAAE,IAAY;YAClD,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEvE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,2BAAkB,CAAC,eAAe,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAA;IAxDK,aAAa;QADlB,IAAA,mBAAU,GAAE;QAMR,WAAA,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;;OAL9B,aAAa,CAwDlB;IAED,OAAO;QACL,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,aAAa;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAwB,EACxB,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,GAAG,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAkC,EAC7G,kBAAyD,EACzD,QAAuD,EACvD,oBAAwE,EACxE,aAAiE,EACjE,YAAoD;IAEpD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,0BAAuB;QAgB/C,YAKE,KAAuC,EACpB,UAAsB,EACtB,aAA4B;YAE/C,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAJrB,UAAK,GAAL,KAAK,CAAe;YACpB,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;YAtBvC,WAAM,GAAG,UAAU,CAAC;YACpB,4BAAuB,GAAG,gBAAgB,CAAC;YAC3C,eAAU,GAAG,UAAU,CAAC;YACxB,kBAAa,GAAG,aAAa,CAAC;YAC9B,sBAAiB,GAAG,YAAY,EAAE,iBAAiB,CAAC;YAEpD,2BAAsB,GAAG,QAAQ,EAAE,kBAAkB,CAAC;YACtD,qBAAgB,GAAG,QAAQ,EAAE,QAAQ,CAAC;YAEtC,gCAA2B,GAAG,aAAa,EAAE,kBAAkB,CAAC;YAChE,0BAAqB,GAAG,aAAa,EAAE,QAAQ,CAAC;YAChD,kBAAa,GAAG,aAAa,CAAC;YAC9B,uBAAkB,GAAG,kBAAkB,CAAC;YACxC,yBAAoB,GAAG,oBAAoB,CAAC;QAYtD,CAAC;KACF,CAAA;IA3BK,WAAW;QAiBZ,WAAA,IAAA,sBAAW,EACV,UAAU,CAAC,IAAI,EACf,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAA;yCACyB,gBAAK;YACA,gBAAU;YACP,wBAAa;OAvB7C,WAAW,CA2BhB;IAED,OAAO;QACL,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAoBD,SAAS,oBAAoB,CAC3B,UAAwB,EACxB,YAA4C,EAC5C,EACE,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,MACoB,EAAE;IAE3C,IAGM,cAAc,GAHpB,MAGM,cAAe,SAAQ,IAAA,4BAAmB,EAC9C,UAAU,EACV,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,CACpB;QACC,YAEqB,OAA4B,EAE5B,gBAA4C,EAE5C,UAAsB;YAEzC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAN1B,YAAO,GAAP,OAAO,CAAqB;YAE5B,qBAAgB,GAAhB,gBAAgB,CAA4B;YAE5C,eAAU,GAAV,UAAU,CAAY;QAG3C,CAAC;KACF,CAAA;IAnBK,cAAc;QAHnB,IAAA,mBAAU,EAAC,MAAM,CAAC;QAClB,IAAA,iBAAO,EAAC,MAAM,CAAC;QACf,IAAA,0BAAa,EAAC,qBAAqB,CAAC;QAWhC,WAAA,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;QAE/B,WAAA,IAAA,iBAAQ,GAAE,CAAA;QAAE,WAAA,IAAA,eAAM,EAAC,qCAA0B,CAAC,CAAA;QAE9C,WAAA,IAAA,eAAM,EAAC,gBAAU,CAAC,CAAA;iDADkB,qCAA0B;YAEhC,gBAAU;OAfvC,cAAc,CAmBnB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAwB,EACxB,YAA4C,EAC5C,EACE,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,GAAG,cAAc,EACgB;IAEnC,IAGM,WAAW,GAHjB,MAGM,WAAY,SAAQ,IAAA,yBAAgB,EACxC,UAAU,EACV,YAAY,EACZ,eAAe,IAAI,EAAE,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,CACpB;QACC,YAEqB,OAA4B,EAC5B,UAAsB;YAEzC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAHR,YAAO,GAAP,OAAO,CAAqB;YAC5B,eAAU,GAAV,UAAU,CAAY;QAG3C,CAAC;KACF,CAAA;IAhBK,WAAW;QAHhB,IAAA,6BAAgB,EAAC,cAAc,CAAC;QAChC,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,0BAAa,EAAC,qBAAqB,CAAC;QAWhC,WAAA,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;iDAED,gBAAU;OAZvC,WAAW,CAgBhB;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModuleMetadata, NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
2
|
import type { Request } from 'express';
|
|
3
|
-
import { AuthAbilityPredicate, BroadcastAbilityPredicate, BroadcastRooms, DynamicApiResetPasswordCallback,
|
|
3
|
+
import { AuthAbilityPredicate, BroadcastAbilityPredicate, BroadcastRooms, DynamicApiResetPasswordCallback, BeforeSaveCallback, AfterSaveCallback, DynamicApiWebSocketOptions } from '../../../interfaces';
|
|
4
4
|
import { BaseEntity } from '../../../models';
|
|
5
5
|
type DynamicApiJWTOptions = {
|
|
6
6
|
secret: string;
|
|
@@ -17,7 +17,7 @@ type DynamicApiAuthBroadcastConfig<Entity extends BaseEntity = any> = {
|
|
|
17
17
|
type DynamicApiLoginOptions<Entity extends BaseEntity = any> = {
|
|
18
18
|
loginField?: keyof Entity;
|
|
19
19
|
passwordField?: keyof Entity;
|
|
20
|
-
callback?:
|
|
20
|
+
callback?: AfterSaveCallback<Entity>;
|
|
21
21
|
abilityPredicate?: AuthAbilityPredicate;
|
|
22
22
|
additionalFields?: (keyof Entity)[];
|
|
23
23
|
useInterceptors?: Type<NestInterceptor>[];
|
|
@@ -26,13 +26,13 @@ type DynamicApiLoginOptions<Entity extends BaseEntity = any> = {
|
|
|
26
26
|
useStrategy?: Type<any>;
|
|
27
27
|
};
|
|
28
28
|
type DynamicApiGetAccountOptions<Entity extends BaseEntity = any> = {
|
|
29
|
-
callback?:
|
|
29
|
+
callback?: AfterSaveCallback<Entity>;
|
|
30
30
|
useInterceptors?: Type<NestInterceptor>[];
|
|
31
31
|
broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
|
|
32
32
|
};
|
|
33
33
|
type DynamicApiRegisterOptions<Entity extends BaseEntity = any> = {
|
|
34
|
-
beforeSaveCallback?:
|
|
35
|
-
callback?:
|
|
34
|
+
beforeSaveCallback?: BeforeSaveCallback<Entity>;
|
|
35
|
+
callback?: AfterSaveCallback<Entity>;
|
|
36
36
|
protected?: boolean;
|
|
37
37
|
abilityPredicate?: AuthAbilityPredicate;
|
|
38
38
|
additionalFields?: (keyof Entity | {
|
|
@@ -43,8 +43,8 @@ type DynamicApiRegisterOptions<Entity extends BaseEntity = any> = {
|
|
|
43
43
|
broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
|
|
44
44
|
};
|
|
45
45
|
type DynamicApiUpdateAccountOptions<Entity extends BaseEntity = any> = {
|
|
46
|
-
beforeSaveCallback?:
|
|
47
|
-
callback?:
|
|
46
|
+
beforeSaveCallback?: BeforeSaveCallback<Entity>;
|
|
47
|
+
callback?: AfterSaveCallback<Entity>;
|
|
48
48
|
abilityPredicate?: AuthAbilityPredicate;
|
|
49
49
|
additionalFieldsToExclude?: (keyof Entity)[];
|
|
50
50
|
useInterceptors?: Type<NestInterceptor>[];
|
|
@@ -53,10 +53,10 @@ type DynamicApiUpdateAccountOptions<Entity extends BaseEntity = any> = {
|
|
|
53
53
|
type DynamicApiResetPasswordOptions<Entity extends BaseEntity = any> = {
|
|
54
54
|
emailField?: keyof Entity | string;
|
|
55
55
|
expirationInMinutes?: number;
|
|
56
|
-
beforeChangePasswordCallback?:
|
|
56
|
+
beforeChangePasswordCallback?: BeforeSaveCallback<Entity>;
|
|
57
57
|
resetPasswordCallback?: DynamicApiResetPasswordCallback<Entity>;
|
|
58
58
|
resetPasswordUseInterceptors?: Type<NestInterceptor>[];
|
|
59
|
-
changePasswordCallback?:
|
|
59
|
+
changePasswordCallback?: AfterSaveCallback<Entity>;
|
|
60
60
|
changePasswordAbilityPredicate?: AuthAbilityPredicate;
|
|
61
61
|
changePasswordUseInterceptors?: Type<NestInterceptor>[];
|
|
62
62
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
2
|
import { JwtService } from '@nestjs/jwt';
|
|
3
3
|
import { Model } from 'mongoose';
|
|
4
|
-
import {
|
|
4
|
+
import { BeforeSaveCallback, AfterSaveCallback } from '../../../interfaces';
|
|
5
5
|
import { BaseEntity } from '../../../models';
|
|
6
6
|
import { BaseService, BcryptService } from '../../../services';
|
|
7
7
|
import { DynamicApiResetPasswordOptions } from '../interfaces';
|
|
@@ -13,12 +13,12 @@ export declare abstract class BaseAuthService<Entity extends BaseEntity> extends
|
|
|
13
13
|
protected loginField: keyof Entity;
|
|
14
14
|
protected passwordField: keyof Entity;
|
|
15
15
|
protected additionalRequestFields: (keyof Entity)[];
|
|
16
|
-
protected beforeRegisterCallback:
|
|
17
|
-
protected registerCallback:
|
|
18
|
-
protected beforeUpdateAccountCallback:
|
|
19
|
-
protected updateAccountCallback:
|
|
20
|
-
protected loginCallback:
|
|
21
|
-
protected getAccountCallback:
|
|
16
|
+
protected beforeRegisterCallback: BeforeSaveCallback<Entity>;
|
|
17
|
+
protected registerCallback: AfterSaveCallback<Entity> | undefined;
|
|
18
|
+
protected beforeUpdateAccountCallback: BeforeSaveCallback<Entity>;
|
|
19
|
+
protected updateAccountCallback: AfterSaveCallback<Entity> | undefined;
|
|
20
|
+
protected loginCallback: AfterSaveCallback<Entity> | undefined;
|
|
21
|
+
protected getAccountCallback: AfterSaveCallback<Entity> | undefined;
|
|
22
22
|
protected resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined;
|
|
23
23
|
protected refreshTokenField: keyof Entity | undefined;
|
|
24
24
|
private resetPasswordCallbackMethods;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DynamicApiControllerOptions, DynamicAPIRouteConfig,
|
|
2
|
+
import { DynamicApiControllerOptions, DynamicAPIRouteConfig, AfterSaveCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { AggregateControllerConstructor } from './aggregate-controller.interface';
|
|
5
5
|
import { AggregateGatewayConstructor } from './aggregate-gateway.interface';
|
|
6
|
-
declare function createAggregateServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback:
|
|
6
|
+
declare function createAggregateServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback: AfterSaveCallback<Entity> | undefined): DynamicAPIServiceProvider;
|
|
7
7
|
declare function createAggregateController<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): AggregateControllerConstructor<Entity>;
|
|
8
8
|
declare function createAggregateGateway<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, gatewayOptions?: GatewayOptions): AggregateGatewayConstructor<Entity>;
|
|
9
9
|
export { createAggregateController, createAggregateGateway, createAggregateServiceProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/aggregate/aggregate.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAqIS,8DAAyB;AAAE,wDAAsB;AAAE,wEAA8B;AArI1F,2CAOwB;AACxB,qCAAyC;AACzC,+CAA+C;AAC/C,6CAA0C;AAC1C,mDAAsD;AACtD,uCAAiC;AACjC,iDAAiD;AACjD,iEAA4D;AAC5D,2CAA4C;AAQ5C,qEAAgE;AAEhE,6EAAwE;AAExE,uEAAkE;AAGlE,SAAS,8BAA8B,CACrC,MAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"aggregate.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/aggregate/aggregate.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
2
|
import { PipelineStage } from 'mongodb-pipeline-builder';
|
|
3
3
|
import { Model } from 'mongoose';
|
|
4
|
-
import {
|
|
4
|
+
import { AfterSaveCallback } from '../../interfaces';
|
|
5
5
|
import { BaseEntity } from '../../models';
|
|
6
6
|
import { BaseService } from '../../services';
|
|
7
7
|
import { AggregateService } from './aggregate-service.interface';
|
|
8
8
|
export declare abstract class BaseAggregateService<Entity extends BaseEntity> extends BaseService<Entity> implements AggregateService<Entity> {
|
|
9
9
|
protected readonly model: Model<Entity>;
|
|
10
10
|
protected readonly entity: Type<Entity>;
|
|
11
|
-
protected readonly callback:
|
|
11
|
+
protected readonly callback: AfterSaveCallback<Entity> | undefined;
|
|
12
12
|
protected constructor(model: Model<Entity>);
|
|
13
13
|
aggregate(pipeline: PipelineStage[]): Promise<{
|
|
14
14
|
list: Entity[];
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
2
|
import { Model } from 'mongoose';
|
|
3
|
-
import {
|
|
3
|
+
import { BeforeSaveCreateManyContext, BeforeSaveListCallback, AfterSaveCallback } from '../../interfaces';
|
|
4
4
|
import { BaseEntity } from '../../models';
|
|
5
5
|
import { BaseService } from '../../services';
|
|
6
6
|
import { CreateManyService } from './create-many-service.interface';
|
|
7
7
|
export declare abstract class BaseCreateManyService<Entity extends BaseEntity> extends BaseService<Entity> implements CreateManyService<Entity> {
|
|
8
8
|
protected readonly model: Model<Entity>;
|
|
9
9
|
protected readonly entity: Type<Entity>;
|
|
10
|
-
protected readonly
|
|
10
|
+
protected readonly beforeSaveCallback: BeforeSaveListCallback<Entity, BeforeSaveCreateManyContext<Entity>> | undefined;
|
|
11
|
+
protected readonly callback: AfterSaveCallback<Entity> | undefined;
|
|
11
12
|
protected constructor(model: Model<Entity>);
|
|
12
13
|
createMany(partials: Partial<Entity>[]): Promise<Entity[]>;
|
|
13
14
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseCreateManyService = void 0;
|
|
4
4
|
const class_transformer_1 = require("class-transformer");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
5
6
|
const services_1 = require("../../services");
|
|
6
7
|
class BaseCreateManyService extends services_1.BaseService {
|
|
7
8
|
constructor(model) {
|
|
@@ -10,7 +11,10 @@ class BaseCreateManyService extends services_1.BaseService {
|
|
|
10
11
|
}
|
|
11
12
|
async createMany(partials) {
|
|
12
13
|
try {
|
|
13
|
-
const
|
|
14
|
+
const toCreate = this.beforeSaveCallback
|
|
15
|
+
? await this.beforeSaveCallback(undefined, { toCreate: (0, lodash_1.cloneDeep)(partials) }, this.callbackMethods)
|
|
16
|
+
: partials;
|
|
17
|
+
const created = await this.model.create(toCreate.map((p) => (0, class_transformer_1.plainToInstance)(this.entity, p)));
|
|
14
18
|
const documents = await this.model
|
|
15
19
|
.find({ _id: { $in: created.map(({ _id }) => _id.toString()) } })
|
|
16
20
|
.lean()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-create-many.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/base-create-many.service.ts"],"names":[],"mappings":";;;AACA,yDAAoD;
|
|
1
|
+
{"version":3,"file":"base-create-many.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/base-create-many.service.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AACpD,mCAAmC;AAQnC,6CAA6C;AAG7C,MAAsB,qBACpB,SAAQ,sBAAmB;IAU3B,YAAyC,KAAoB;QAC3D,KAAK,CAAC,KAAK,CAAC,CAAC;QAD0B,UAAK,GAAL,KAAK,CAAe;IAE7D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA2B;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB;gBACtC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAC7B,SAAS,EACT,EAAE,QAAQ,EAAE,IAAA,kBAAS,EAAC,QAAQ,CAAC,EAAE,EACjC,IAAI,CAAC,eAAe,CACrB;gBACD,CAAC,CAAC,QAAQ,CAAC;YAEb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAe,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CACrD,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK;iBACjC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;iBAChE,IAAI,EAAE;iBACN,IAAI,EAAE,CAAC;YAER,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CACX,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAC1F,CACF,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAW,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF;AA/CD,sDA+CC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DynamicApiControllerOptions, DynamicAPIRouteConfig,
|
|
2
|
+
import { DynamicApiControllerOptions, DynamicAPIRouteConfig, BeforeSaveListCallback, AfterSaveCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { CreateManyControllerConstructor } from './create-many-controller.interface';
|
|
5
5
|
import { CreateManyGatewayConstructor } from './create-many-gateway.interface';
|
|
6
|
-
declare function createCreateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback:
|
|
6
|
+
declare function createCreateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback: AfterSaveCallback<Entity> | undefined, beforeSaveCallback: BeforeSaveListCallback<Entity> | undefined): DynamicAPIServiceProvider;
|
|
7
7
|
declare function createCreateManyController<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): CreateManyControllerConstructor<Entity>;
|
|
8
8
|
declare function createCreateManyGateway<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, gatewayOptions?: GatewayOptions): CreateManyGatewayConstructor<Entity>;
|
|
9
9
|
export { createCreateManyController, createCreateManyGateway, createCreateManyServiceProvider };
|
|
@@ -28,12 +28,13 @@ const services_1 = require("../../services");
|
|
|
28
28
|
const base_create_many_service_1 = require("./base-create-many.service");
|
|
29
29
|
const create_many_controller_mixin_1 = require("./create-many-controller.mixin");
|
|
30
30
|
const create_many_gateway_mixin_1 = require("./create-many-gateway.mixin");
|
|
31
|
-
function createCreateManyServiceProvider(entity, displayedName, version, callback) {
|
|
31
|
+
function createCreateManyServiceProvider(entity, displayedName, version, callback, beforeSaveCallback) {
|
|
32
32
|
let CreateManyService = class CreateManyService extends base_create_many_service_1.BaseCreateManyService {
|
|
33
33
|
constructor(model) {
|
|
34
34
|
super(model);
|
|
35
35
|
this.model = model;
|
|
36
36
|
this.entity = entity;
|
|
37
|
+
this.beforeSaveCallback = beforeSaveCallback;
|
|
37
38
|
this.callback = callback;
|
|
38
39
|
}
|
|
39
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-many.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-many.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ let CreateManyModule = CreateManyModule_1 = class CreateManyModule {
|
|
|
17
17
|
static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, webSocket, extraImports, extraProviders, extraControllers) {
|
|
18
18
|
const displayedName = (0, helpers_1.getDisplayedName)(controllerOptions.apiTag, entity.name, routeConfig.subPath);
|
|
19
19
|
const controller = (0, create_many_helper_1.createCreateManyController)(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
20
|
-
const ServiceProvider = (0, create_many_helper_1.createCreateManyServiceProvider)(entity, displayedName, version, routeConfig.callback);
|
|
20
|
+
const ServiceProvider = (0, create_many_helper_1.createCreateManyServiceProvider)(entity, displayedName, version, routeConfig.callback, routeConfig.beforeSaveCallback);
|
|
21
21
|
const hasBroadcast = !!routeConfig.broadcast;
|
|
22
22
|
const gatewayOptions = webSocket
|
|
23
23
|
? (0, helpers_1.initializeConfigFromOptions)(webSocket)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-many.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoG;AAEpG,iEAA4D;AAC5D,2CAA8E;AAG9E,6CAA4D;AAC5D,6DAI8B;AAIvB,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC,EACtC,YAAwC,EACxC,cAA4C,EAC5C,gBAAgD;QAEhD,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,IAAA,+CAA0B,EAC3C,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,oDAA+B,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-many.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoG;AAEpG,iEAA4D;AAC5D,2CAA8E;AAG9E,6CAA4D;AAC5D,6DAI8B;AAIvB,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC,EACtC,YAAwC,EACxC,cAA4C,EAC5C,gBAAgD;QAEhD,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,IAAA,+CAA0B,EAC3C,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,oDAA+B,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,kBAAoD,CAAC,CAAC;QAEhL,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,IAAA,qCAA2B,EAAC,SAAS,CAAC;YACxC,CAAC,CAAC,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAkB,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAG1E,OAAO;YACL,MAAM,EAAE,kBAAgB;YACxB,OAAO,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAClD,WAAW,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE;gBACT,eAAe;gBACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,qCAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CACD,cAAc,CAAC,CAAC,CAAC;oBACf,IAAA,4CAAuB,EACrB,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,cAAc,CACf;iBACF,CAAC,CAAC,CAAC,EAAE,CACP;gBACD,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;aAC1B;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAvDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gBAAgB,CAuD5B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Model } from 'mongoose';
|
|
2
|
-
import {
|
|
2
|
+
import { BeforeSaveCallback, BeforeSaveCreateContext, AfterSaveCallback } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { BaseService } from '../../services';
|
|
5
5
|
import { CreateOneService } from './create-one-service.interface';
|
|
6
6
|
export declare abstract class BaseCreateOneService<Entity extends BaseEntity> extends BaseService<Entity> implements CreateOneService<Entity> {
|
|
7
7
|
protected readonly model: Model<Entity>;
|
|
8
|
-
protected readonly beforeSaveCallback:
|
|
9
|
-
protected readonly callback:
|
|
8
|
+
protected readonly beforeSaveCallback: BeforeSaveCallback<Entity, BeforeSaveCreateContext<Entity>> | undefined;
|
|
9
|
+
protected readonly callback: AfterSaveCallback<Entity> | undefined;
|
|
10
10
|
protected constructor(model: Model<Entity>);
|
|
11
11
|
createOne(partial: Partial<Entity>): Promise<Entity>;
|
|
12
12
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DynamicApiControllerOptions, DynamicAPIRouteConfig,
|
|
2
|
+
import { DynamicApiControllerOptions, DynamicAPIRouteConfig, BeforeSaveCallback, AfterSaveCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { CreateOneControllerConstructor } from './create-one-controller.interface';
|
|
5
5
|
import { CreateOneGatewayConstructor } from './create-one-gateway.interface';
|
|
6
|
-
declare function createCreateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback:
|
|
6
|
+
declare function createCreateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback: AfterSaveCallback<Entity> | undefined, beforeSaveCallback: BeforeSaveCallback<Entity> | undefined): DynamicAPIServiceProvider;
|
|
7
7
|
declare function createCreateOneController<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): CreateOneControllerConstructor<Entity>;
|
|
8
8
|
declare function createCreateOneGateway<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, gatewayOptions?: GatewayOptions): CreateOneGatewayConstructor<Entity>;
|
|
9
9
|
export { createCreateOneController, createCreateOneGateway, createCreateOneServiceProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-one.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AA2IS,8DAAyB;AAAE,wDAAsB;AAAE,wEAA8B;AA3I1F,2CAQwB;AACxB,qCAAyC;AACzC,+CAA+C;AAC/C,6CAA0C;AAC1C,mDAAsD;AACtD,uCAAiC;AACjC,iDAAiD;AACjD,iEAA4D;AAC5D,2CAA4C;AAQ5C,6CAA4D;AAC5D,uEAAiE;AAEjE,+EAAyE;AAEzE,yEAAmE;AAGnE,SAAS,8BAA8B,CACrC,MAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"create-one.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-one.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoG;AAEpG,iEAA4D;AAC5D,2CAA8E;AAG9E,6CAA4D;AAC5D,2DAAwH;AAIjH,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC,EACtC,YAAwC,EACxC,cAA4C,EAC5C,gBAAgD;QAEhD,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,IAAA,6CAAyB,EAC1C,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,kDAA8B,EACpD,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"create-one.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoG;AAEpG,iEAA4D;AAC5D,2CAA8E;AAG9E,6CAA4D;AAC5D,2DAAwH;AAIjH,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC,EACtC,YAAwC,EACxC,cAA4C,EAC5C,gBAAgD;QAEhD,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,IAAA,6CAAyB,EAC1C,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,kDAA8B,EACpD,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,kBAAgD,CACnH,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,IAAA,qCAA2B,EAAC,SAAS,CAAC;YACxC,CAAC,CAAC,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAkB,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAG1E,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,OAAO,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAClD,WAAW,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE;gBACT,eAAe;gBACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,qCAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CACD,cAAc,CAAC,CAAC,CAAC;oBACf,IAAA,0CAAsB,EACpB,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,cAAc,CACf;iBACF,CAAC,CAAC,CAAC,EAAE,CACP;gBACD,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;aAC1B;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAzDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,eAAe,CAyD3B"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Model } from 'mongoose';
|
|
2
2
|
import { DeletePresenter } from '../../dtos';
|
|
3
|
+
import { BeforeSaveDeleteManyCallback, BeforeSaveDeleteManyContext, AfterSaveCallback } from '../../interfaces';
|
|
3
4
|
import { BaseEntity } from '../../models';
|
|
4
5
|
import { BaseService } from '../../services';
|
|
5
6
|
import { DeleteManyService } from './delete-many-service.interface';
|
|
6
7
|
export declare abstract class BaseDeleteManyService<Entity extends BaseEntity> extends BaseService<Entity> implements DeleteManyService<Entity> {
|
|
7
8
|
protected readonly model: Model<Entity>;
|
|
9
|
+
protected readonly beforeSaveCallback: BeforeSaveDeleteManyCallback<Entity, BeforeSaveDeleteManyContext> | undefined;
|
|
10
|
+
protected readonly callback: AfterSaveCallback<Entity> | undefined;
|
|
8
11
|
protected constructor(model: Model<Entity>);
|
|
9
12
|
deleteMany(ids: string[]): Promise<DeletePresenter>;
|
|
10
13
|
}
|
|
@@ -11,6 +11,16 @@ class BaseDeleteManyService extends services_1.BaseService {
|
|
|
11
11
|
}
|
|
12
12
|
async deleteMany(ids) {
|
|
13
13
|
try {
|
|
14
|
+
const documents = await this.model
|
|
15
|
+
.find({
|
|
16
|
+
_id: { $in: ids },
|
|
17
|
+
...(this.isSoftDeletable ? { isDeleted: false } : undefined),
|
|
18
|
+
})
|
|
19
|
+
.lean()
|
|
20
|
+
.exec();
|
|
21
|
+
if (this.beforeSaveCallback) {
|
|
22
|
+
await this.beforeSaveCallback(documents, { ids }, this.callbackMethods);
|
|
23
|
+
}
|
|
14
24
|
let op;
|
|
15
25
|
if (this.isSoftDeletable) {
|
|
16
26
|
const deleted = await this.model
|
|
@@ -24,6 +34,9 @@ class BaseDeleteManyService extends services_1.BaseService {
|
|
|
24
34
|
else {
|
|
25
35
|
op = await this.model.deleteMany({ _id: { $in: ids } }).exec();
|
|
26
36
|
}
|
|
37
|
+
if (this.callback && documents?.length) {
|
|
38
|
+
await Promise.all(documents.map((document) => this.callback(this.addDocumentId(document), this.callbackMethods)));
|
|
39
|
+
}
|
|
27
40
|
return (0, class_transformer_1.plainToInstance)(dtos_1.DeletePresenter, { deletedCount: op.deletedCount });
|
|
28
41
|
}
|
|
29
42
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-delete-many.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-many/base-delete-many.service.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,qCAA6C;
|
|
1
|
+
{"version":3,"file":"base-delete-many.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-many/base-delete-many.service.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,qCAA6C;AAQ7C,6CAA6C;AAG7C,MAAsB,qBACpB,SAAQ,sBAAmB;IAS3B,YAAyC,KAAoB;QAC3D,KAAK,CAAC,KAAK,CAAC,CAAC;QAD0B,UAAK,GAAL,KAAK,CAAe;IAE7D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAa;QAC5B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK;iBAC/B,IAAI,CAAC;gBACJ,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;gBACjB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;aAC7D,CAAC;iBACD,IAAI,EAAY;iBAChB,IAAI,EAAE,CAAC;YAEV,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,kBAAkB,CAC3B,SAAS,EACT,EAAE,GAAG,EAAE,EACP,IAAI,CAAC,eAAe,CACrB,CAAC;YACJ,CAAC;YAED,IAAI,EAAgB,CAAC;YAErB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK;qBAC/B,UAAU,CACT;oBACE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;oBACjB,SAAS,EAAE,KAAK;iBACjB,EACD,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CACrD;qBACA,IAAI,EAAE,CAAC;gBAER,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjE,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;gBACvC,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CACX,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAChF,CACF,CAAC;YACJ,CAAC;YAED,OAAO,IAAA,mCAAe,EAAC,sBAAe,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,IAAA,mCAAe,EAAC,sBAAe,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AA/DD,sDA+DC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { DynamicApiControllerOptions, DynamicAPIRouteConfig, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
|
|
2
|
+
import { DynamicApiControllerOptions, DynamicAPIRouteConfig, BeforeSaveDeleteManyCallback, AfterSaveCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { DeleteManyGatewayConstructor } from '../delete-many';
|
|
5
5
|
import { DeleteManyControllerConstructor } from './delete-many-controller.interface';
|
|
6
|
-
declare function createDeleteManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
+
declare function createDeleteManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback: AfterSaveCallback<Entity> | undefined, beforeSaveCallback: BeforeSaveDeleteManyCallback<Entity> | undefined): DynamicAPIServiceProvider;
|
|
7
7
|
declare function createDeleteManyController<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DeleteManyControllerConstructor<Entity>;
|
|
8
8
|
declare function createDeleteManyGateway<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, { useInterceptors, ...controllerOptions }: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, gatewayOptions?: GatewayOptions): DeleteManyGatewayConstructor<Entity>;
|
|
9
9
|
export { createDeleteManyController, createDeleteManyGateway, createDeleteManyServiceProvider };
|
|
@@ -28,12 +28,14 @@ const services_1 = require("../../services");
|
|
|
28
28
|
const delete_many_1 = require("../delete-many");
|
|
29
29
|
const base_delete_many_service_1 = require("./base-delete-many.service");
|
|
30
30
|
const delete_many_controller_mixin_1 = require("./delete-many-controller.mixin");
|
|
31
|
-
function createDeleteManyServiceProvider(entity, displayedName, version) {
|
|
31
|
+
function createDeleteManyServiceProvider(entity, displayedName, version, callback, beforeSaveCallback) {
|
|
32
32
|
let DeleteManyService = class DeleteManyService extends base_delete_many_service_1.BaseDeleteManyService {
|
|
33
33
|
constructor(model) {
|
|
34
34
|
super(model);
|
|
35
35
|
this.model = model;
|
|
36
36
|
this.entity = entity;
|
|
37
|
+
this.beforeSaveCallback = beforeSaveCallback;
|
|
38
|
+
this.callback = callback;
|
|
37
39
|
}
|
|
38
40
|
};
|
|
39
41
|
DeleteManyService = __decorate([
|