mongodb-dynamic-api 1.3.3 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +476 -21
- package/package.json +11 -1
- package/src/builders/casl/casl-ability.builder.d.ts +5 -0
- package/src/builders/casl/casl-ability.builder.js +14 -0
- package/src/builders/index.d.ts +3 -1
- package/src/builders/index.js +3 -1
- package/src/builders/route-decorators/auth-decorators.builder.d.ts +7 -0
- package/src/builders/route-decorators/auth-decorators.builder.js +14 -0
- package/src/builders/route-decorators/route-decorators.builder.d.ts +23 -0
- package/src/builders/{route-decorators.builder.js → route-decorators/route-decorators.builder.js} +45 -23
- package/src/decorators/check-policies.decorator.d.ts +5 -0
- package/src/decorators/check-policies.decorator.js +8 -0
- package/src/decorators/index.d.ts +2 -0
- package/src/decorators/index.js +2 -0
- package/src/decorators/public.decorator.d.ts +3 -0
- package/src/decorators/public.decorator.js +8 -0
- package/src/dynamic-api.module.d.ts +5 -4
- package/src/dynamic-api.module.js +132 -87
- package/src/guards/base-policies.guard.d.ts +13 -0
- package/src/guards/base-policies.guard.js +32 -0
- package/src/guards/dynamic-api-jwt-auth.guard.d.ts +11 -0
- package/src/guards/dynamic-api-jwt-auth.guard.js +38 -0
- package/src/guards/index.d.ts +2 -0
- package/src/guards/index.js +18 -0
- package/src/helpers/controller-ability-predicates.helper.d.ts +4 -0
- package/src/helpers/controller-ability-predicates.helper.js +23 -0
- package/src/helpers/index.d.ts +1 -0
- package/src/helpers/index.js +1 -0
- package/src/helpers/route-decorators.helper.d.ts +2 -2
- package/src/helpers/schema.helper.d.ts +28 -0
- package/src/helpers/schema.helper.js +22 -0
- package/src/index.d.ts +3 -1
- package/src/index.js +3 -1
- package/src/interceptors/dynamic-api-cache.interceptor.d.ts +16 -0
- package/src/interceptors/dynamic-api-cache.interceptor.js +48 -0
- package/src/interceptors/index.d.ts +1 -0
- package/src/interceptors/index.js +17 -0
- package/src/interfaces/controller-options.interface.d.ts +5 -1
- package/src/interfaces/decorator-builder.interface.d.ts +5 -0
- package/src/interfaces/dynamic-api-cache-options.interface.d.ts +1 -0
- package/src/interfaces/dynamic-api-casl-ability.interface.d.ts +17 -0
- package/src/interfaces/dynamic-api-casl-ability.interface.js +11 -0
- package/src/interfaces/dynamic-api-global-state.interface.d.ts +16 -0
- package/src/interfaces/dynamic-api-options.interface.d.ts +5 -2
- package/src/interfaces/dynamic-api-options.interface.js +3 -0
- package/src/interfaces/dynamic-api-policy-handler.interface.d.ts +16 -0
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +7 -9
- package/src/interfaces/dynamic-api-route-dtos-bundle.type.d.ts +8 -0
- package/src/interfaces/dynamic-api-route-module.type.d.ts +3 -0
- package/src/interfaces/dynamic-api-route-type.type.d.ts +2 -0
- package/src/interfaces/index.d.ts +11 -2
- package/src/interfaces/index.js +11 -2
- package/src/mixins/create-policies-guard.mixin.d.ts +5 -0
- package/src/mixins/create-policies-guard.mixin.js +37 -0
- package/src/mixins/index.d.ts +1 -0
- package/src/mixins/index.js +1 -0
- package/src/modules/auth/auth.helper.d.ts +10 -0
- package/src/modules/auth/auth.helper.js +103 -0
- package/src/modules/auth/auth.module.d.ts +12 -0
- package/src/modules/auth/auth.module.js +55 -0
- package/src/modules/auth/guards/index.d.ts +2 -0
- package/src/modules/auth/guards/index.js +18 -0
- package/src/modules/auth/guards/jwt-auth.guard.d.ts +4 -0
- package/src/modules/auth/guards/jwt-auth.guard.js +17 -0
- package/src/modules/auth/guards/local-auth.guard.d.ts +4 -0
- package/src/modules/auth/guards/local-auth.guard.js +17 -0
- package/src/modules/auth/index.d.ts +7 -0
- package/src/modules/auth/index.js +23 -0
- package/src/modules/auth/interfaces/auth-controller.interface.d.ts +9 -0
- package/src/modules/auth/interfaces/auth-options.interface.d.ts +22 -0
- package/src/modules/auth/interfaces/auth-service.interface.d.ts +12 -0
- package/src/modules/auth/interfaces/index.d.ts +3 -0
- package/src/modules/auth/interfaces/index.js +19 -0
- package/src/modules/auth/mixins/auth-controller.mixin.d.ts +6 -0
- package/src/modules/auth/mixins/auth-controller.mixin.js +101 -0
- package/src/modules/auth/mixins/auth-register-policies-guard.mixin.d.ts +6 -0
- package/src/modules/auth/mixins/auth-register-policies-guard.mixin.js +59 -0
- package/src/modules/auth/mixins/index.d.ts +2 -0
- package/src/modules/auth/mixins/index.js +18 -0
- package/src/modules/auth/services/base-auth.service.d.ts +51 -0
- package/src/modules/auth/services/base-auth.service.js +64 -0
- package/src/modules/auth/services/index.d.ts +1 -0
- package/src/modules/auth/services/index.js +17 -0
- package/src/modules/auth/strategies/index.d.ts +1 -0
- package/src/modules/auth/strategies/index.js +17 -0
- package/src/modules/auth/strategies/jwt.strategy.d.ts +8 -0
- package/src/modules/auth/strategies/jwt.strategy.js +35 -0
- package/src/modules/dynamic-api-config/dynamic-api-config.module.d.ts +5 -0
- package/src/modules/dynamic-api-config/dynamic-api-config.module.js +31 -0
- package/src/modules/dynamic-api-config/index.d.ts +1 -0
- package/src/modules/dynamic-api-config/index.js +17 -0
- package/src/modules/index.d.ts +2 -11
- package/src/modules/index.js +2 -11
- package/src/routes/create-many/create-many-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/create-many/create-many-controller.mixin.js +26 -4
- package/src/{modules → routes}/create-many/create-many.helper.d.ts +2 -2
- package/src/{modules → routes}/create-many/create-many.helper.js +6 -4
- package/src/{modules → routes}/create-many/create-many.module.d.ts +1 -1
- package/src/{modules → routes}/create-many/create-many.module.js +2 -2
- package/src/routes/create-one/create-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/create-one/create-one-controller.mixin.js +25 -3
- package/src/{modules → routes}/create-one/create-one.helper.d.ts +2 -2
- package/src/{modules → routes}/create-one/create-one.helper.js +6 -4
- package/src/routes/create-one/create-one.module.d.ts +6 -0
- package/src/{modules → routes}/create-one/create-one.module.js +3 -3
- package/src/routes/delete-many/delete-many-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/delete-many/delete-many-controller.mixin.js +26 -3
- package/src/{modules → routes}/delete-many/delete-many.helper.d.ts +2 -2
- package/src/{modules → routes}/delete-many/delete-many.helper.js +6 -4
- package/src/routes/delete-many/delete-many.module.d.ts +6 -0
- package/src/{modules → routes}/delete-many/delete-many.module.js +3 -3
- package/src/routes/delete-one/delete-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/delete-one/delete-one-controller.mixin.js +26 -3
- package/src/{modules → routes}/delete-one/delete-one.helper.d.ts +2 -2
- package/src/{modules → routes}/delete-one/delete-one.helper.js +6 -4
- package/src/routes/delete-one/delete-one.module.d.ts +6 -0
- package/src/{modules → routes}/delete-one/delete-one.module.js +3 -3
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/duplicate-many/duplicate-many-controller.mixin.js +25 -3
- package/src/{modules → routes}/duplicate-many/duplicate-many.helper.d.ts +2 -2
- package/src/{modules → routes}/duplicate-many/duplicate-many.helper.js +6 -4
- package/src/routes/duplicate-many/duplicate-many.module.d.ts +6 -0
- package/src/{modules → routes}/duplicate-many/duplicate-many.module.js +3 -3
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/duplicate-one/duplicate-one-controller.mixin.js +25 -3
- package/src/{modules → routes}/duplicate-one/duplicate-one.helper.d.ts +2 -2
- package/src/{modules → routes}/duplicate-one/duplicate-one.helper.js +6 -4
- package/src/routes/duplicate-one/duplicate-one.module.d.ts +6 -0
- package/src/{modules → routes}/duplicate-one/duplicate-one.module.js +3 -3
- package/src/routes/get-many/get-many-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/get-many/get-many-controller.mixin.js +28 -6
- package/src/routes/get-many/get-many-service.interface.js +2 -0
- package/src/{modules → routes}/get-many/get-many.helper.d.ts +2 -2
- package/src/{modules → routes}/get-many/get-many.helper.js +6 -4
- package/src/routes/get-many/get-many.module.d.ts +6 -0
- package/src/{modules → routes}/get-many/get-many.module.js +3 -3
- package/src/routes/get-one/get-one-controller.interface.js +2 -0
- package/src/routes/get-one/get-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/get-one/get-one-controller.mixin.js +25 -3
- package/src/routes/get-one/get-one-service.interface.js +2 -0
- package/src/{modules → routes}/get-one/get-one.helper.d.ts +2 -2
- package/src/{modules → routes}/get-one/get-one.helper.js +6 -4
- package/src/routes/get-one/get-one.module.d.ts +6 -0
- package/src/{modules → routes}/get-one/get-one.module.js +3 -3
- package/src/routes/index.d.ts +11 -0
- package/src/routes/index.js +27 -0
- package/src/routes/replace-one/replace-one-controller.interface.js +2 -0
- package/src/routes/replace-one/replace-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/replace-one/replace-one-controller.mixin.js +25 -3
- package/src/routes/replace-one/replace-one-service.interface.js +2 -0
- package/src/{modules → routes}/replace-one/replace-one.helper.d.ts +2 -2
- package/src/{modules → routes}/replace-one/replace-one.helper.js +6 -4
- package/src/routes/replace-one/replace-one.module.d.ts +6 -0
- package/src/{modules → routes}/replace-one/replace-one.module.js +3 -3
- package/src/routes/update-many/update-many-controller.interface.js +2 -0
- package/src/routes/update-many/update-many-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/update-many/update-many-controller.mixin.js +25 -3
- package/src/routes/update-many/update-many-service.interface.js +2 -0
- package/src/{modules → routes}/update-many/update-many.helper.d.ts +2 -2
- package/src/{modules → routes}/update-many/update-many.helper.js +6 -4
- package/src/routes/update-many/update-many.module.d.ts +6 -0
- package/src/{modules → routes}/update-many/update-many.module.js +3 -3
- package/src/routes/update-one/update-one-controller.interface.js +2 -0
- package/src/routes/update-one/update-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/update-one/update-one-controller.mixin.js +25 -3
- package/src/routes/update-one/update-one-service.interface.js +2 -0
- package/src/{modules → routes}/update-one/update-one.helper.d.ts +2 -2
- package/src/{modules → routes}/update-one/update-one.helper.js +6 -4
- package/src/routes/update-one/update-one.module.d.ts +6 -0
- package/src/{modules → routes}/update-one/update-one.module.js +3 -3
- package/src/services/{base.service.d.ts → base/base.service.d.ts} +1 -1
- package/src/services/{base.service.js → base/base.service.js} +2 -2
- package/src/services/bcrypt/bcrypt.service.d.ts +5 -0
- package/src/services/bcrypt/bcrypt.service.js +26 -0
- package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.d.ts +11 -0
- package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js +36 -0
- package/src/services/index.d.ts +3 -1
- package/src/services/index.js +3 -1
- package/src/version.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/builders/route-decorators.builder.d.ts +0 -20
- package/src/modules/create-many/create-many-controller.mixin.d.ts +0 -6
- package/src/modules/create-one/create-one-controller.mixin.d.ts +0 -6
- package/src/modules/create-one/create-one.module.d.ts +0 -6
- package/src/modules/delete-many/delete-many-controller.mixin.d.ts +0 -6
- package/src/modules/delete-many/delete-many.module.d.ts +0 -6
- package/src/modules/delete-one/delete-one-controller.mixin.d.ts +0 -6
- package/src/modules/delete-one/delete-one.module.d.ts +0 -6
- package/src/modules/duplicate-many/duplicate-many-controller.mixin.d.ts +0 -6
- package/src/modules/duplicate-many/duplicate-many.module.d.ts +0 -6
- package/src/modules/duplicate-one/duplicate-one-controller.mixin.d.ts +0 -6
- package/src/modules/duplicate-one/duplicate-one.module.d.ts +0 -6
- package/src/modules/get-many/get-many-controller.mixin.d.ts +0 -6
- package/src/modules/get-many/get-many.module.d.ts +0 -6
- package/src/modules/get-one/get-one-controller.mixin.d.ts +0 -6
- package/src/modules/get-one/get-one.module.d.ts +0 -6
- package/src/modules/replace-one/replace-one-controller.mixin.d.ts +0 -6
- package/src/modules/replace-one/replace-one.module.d.ts +0 -6
- package/src/modules/update-many/update-many-controller.mixin.d.ts +0 -6
- package/src/modules/update-many/update-many.module.d.ts +0 -6
- package/src/modules/update-one/update-one-controller.mixin.d.ts +0 -6
- package/src/modules/update-one/update-one.module.d.ts +0 -6
- /package/src/{modules/create-many/create-many-controller.interface.js → interfaces/decorator-builder.interface.js} +0 -0
- /package/src/{modules/create-many/create-many-service.interface.js → interfaces/dynamic-api-global-state.interface.js} +0 -0
- /package/src/{modules/create-one/create-one-controller.interface.js → interfaces/dynamic-api-policy-handler.interface.js} +0 -0
- /package/src/{modules/create-one/create-one-service.interface.js → interfaces/dynamic-api-route-dtos-bundle.type.js} +0 -0
- /package/src/{modules/delete-many/delete-many-controller.interface.js → interfaces/dynamic-api-route-module.type.js} +0 -0
- /package/src/{modules/delete-many/delete-many-service.interface.js → interfaces/dynamic-api-route-type.type.js} +0 -0
- /package/src/modules/{delete-one/delete-one-controller.interface.js → auth/interfaces/auth-controller.interface.js} +0 -0
- /package/src/modules/{delete-one/delete-one-service.interface.js → auth/interfaces/auth-options.interface.js} +0 -0
- /package/src/modules/{duplicate-many/duplicate-many-controller.interface.js → auth/interfaces/auth-service.interface.js} +0 -0
- /package/src/{modules → routes}/create-many/base-create-many.service.d.ts +0 -0
- /package/src/{modules → routes}/create-many/base-create-many.service.js +0 -0
- /package/src/{modules → routes}/create-many/create-many-controller.interface.d.ts +0 -0
- /package/src/{modules/duplicate-many/duplicate-many-service.interface.js → routes/create-many/create-many-controller.interface.js} +0 -0
- /package/src/{modules → routes}/create-many/create-many-service.interface.d.ts +0 -0
- /package/src/{modules/duplicate-one/duplicate-one-controller.interface.js → routes/create-many/create-many-service.interface.js} +0 -0
- /package/src/{modules → routes}/create-many/index.d.ts +0 -0
- /package/src/{modules → routes}/create-many/index.js +0 -0
- /package/src/{modules → routes}/create-one/base-create-one.service.d.ts +0 -0
- /package/src/{modules → routes}/create-one/base-create-one.service.js +0 -0
- /package/src/{modules → routes}/create-one/create-one-controller.interface.d.ts +0 -0
- /package/src/{modules/duplicate-one/duplicate-one-service.interface.js → routes/create-one/create-one-controller.interface.js} +0 -0
- /package/src/{modules → routes}/create-one/create-one-service.interface.d.ts +0 -0
- /package/src/{modules/get-many/get-many-controller.interface.js → routes/create-one/create-one-service.interface.js} +0 -0
- /package/src/{modules → routes}/create-one/index.d.ts +0 -0
- /package/src/{modules → routes}/create-one/index.js +0 -0
- /package/src/{modules → routes}/delete-many/base-delete-many.service.d.ts +0 -0
- /package/src/{modules → routes}/delete-many/base-delete-many.service.js +0 -0
- /package/src/{modules → routes}/delete-many/delete-many-controller.interface.d.ts +0 -0
- /package/src/{modules/get-many/get-many-service.interface.js → routes/delete-many/delete-many-controller.interface.js} +0 -0
- /package/src/{modules → routes}/delete-many/delete-many-service.interface.d.ts +0 -0
- /package/src/{modules/get-one/get-one-controller.interface.js → routes/delete-many/delete-many-service.interface.js} +0 -0
- /package/src/{modules → routes}/delete-many/delete-many.presenter.d.ts +0 -0
- /package/src/{modules → routes}/delete-many/delete-many.presenter.js +0 -0
- /package/src/{modules → routes}/delete-many/index.d.ts +0 -0
- /package/src/{modules → routes}/delete-many/index.js +0 -0
- /package/src/{modules → routes}/delete-one/base-delete-one.service.d.ts +0 -0
- /package/src/{modules → routes}/delete-one/base-delete-one.service.js +0 -0
- /package/src/{modules → routes}/delete-one/delete-one-controller.interface.d.ts +0 -0
- /package/src/{modules/get-one/get-one-service.interface.js → routes/delete-one/delete-one-controller.interface.js} +0 -0
- /package/src/{modules → routes}/delete-one/delete-one-service.interface.d.ts +0 -0
- /package/src/{modules/replace-one/replace-one-controller.interface.js → routes/delete-one/delete-one-service.interface.js} +0 -0
- /package/src/{modules → routes}/delete-one/delete-one.presenter.d.ts +0 -0
- /package/src/{modules → routes}/delete-one/delete-one.presenter.js +0 -0
- /package/src/{modules → routes}/delete-one/index.d.ts +0 -0
- /package/src/{modules → routes}/delete-one/index.js +0 -0
- /package/src/{modules → routes}/duplicate-many/base-duplicate-many.service.d.ts +0 -0
- /package/src/{modules → routes}/duplicate-many/base-duplicate-many.service.js +0 -0
- /package/src/{modules → routes}/duplicate-many/duplicate-many-controller.interface.d.ts +0 -0
- /package/src/{modules/replace-one/replace-one-service.interface.js → routes/duplicate-many/duplicate-many-controller.interface.js} +0 -0
- /package/src/{modules → routes}/duplicate-many/duplicate-many-service.interface.d.ts +0 -0
- /package/src/{modules/update-many/update-many-controller.interface.js → routes/duplicate-many/duplicate-many-service.interface.js} +0 -0
- /package/src/{modules → routes}/duplicate-many/index.d.ts +0 -0
- /package/src/{modules → routes}/duplicate-many/index.js +0 -0
- /package/src/{modules → routes}/duplicate-one/base-duplicate-one.service.d.ts +0 -0
- /package/src/{modules → routes}/duplicate-one/base-duplicate-one.service.js +0 -0
- /package/src/{modules → routes}/duplicate-one/duplicate-one-controller.interface.d.ts +0 -0
- /package/src/{modules/update-many/update-many-service.interface.js → routes/duplicate-one/duplicate-one-controller.interface.js} +0 -0
- /package/src/{modules → routes}/duplicate-one/duplicate-one-service.interface.d.ts +0 -0
- /package/src/{modules/update-one/update-one-controller.interface.js → routes/duplicate-one/duplicate-one-service.interface.js} +0 -0
- /package/src/{modules → routes}/duplicate-one/index.d.ts +0 -0
- /package/src/{modules → routes}/duplicate-one/index.js +0 -0
- /package/src/{modules → routes}/get-many/base-get-many.service.d.ts +0 -0
- /package/src/{modules → routes}/get-many/base-get-many.service.js +0 -0
- /package/src/{modules → routes}/get-many/get-many-controller.interface.d.ts +0 -0
- /package/src/{modules/update-one/update-one-service.interface.js → routes/get-many/get-many-controller.interface.js} +0 -0
- /package/src/{modules → routes}/get-many/get-many-service.interface.d.ts +0 -0
- /package/src/{modules → routes}/get-many/index.d.ts +0 -0
- /package/src/{modules → routes}/get-many/index.js +0 -0
- /package/src/{modules → routes}/get-one/base-get-one.service.d.ts +0 -0
- /package/src/{modules → routes}/get-one/base-get-one.service.js +0 -0
- /package/src/{modules → routes}/get-one/get-one-controller.interface.d.ts +0 -0
- /package/src/{modules → routes}/get-one/get-one-service.interface.d.ts +0 -0
- /package/src/{modules → routes}/get-one/index.d.ts +0 -0
- /package/src/{modules → routes}/get-one/index.js +0 -0
- /package/src/{modules → routes}/replace-one/base-replace-one.service.d.ts +0 -0
- /package/src/{modules → routes}/replace-one/base-replace-one.service.js +0 -0
- /package/src/{modules → routes}/replace-one/index.d.ts +0 -0
- /package/src/{modules → routes}/replace-one/index.js +0 -0
- /package/src/{modules → routes}/replace-one/replace-one-controller.interface.d.ts +0 -0
- /package/src/{modules → routes}/replace-one/replace-one-service.interface.d.ts +0 -0
- /package/src/{modules → routes}/update-many/base-update-many.service.d.ts +0 -0
- /package/src/{modules → routes}/update-many/base-update-many.service.js +0 -0
- /package/src/{modules → routes}/update-many/index.d.ts +0 -0
- /package/src/{modules → routes}/update-many/index.js +0 -0
- /package/src/{modules → routes}/update-many/update-many-controller.interface.d.ts +0 -0
- /package/src/{modules → routes}/update-many/update-many-service.interface.d.ts +0 -0
- /package/src/{modules → routes}/update-one/base-update-one.service.d.ts +0 -0
- /package/src/{modules → routes}/update-one/base-update-one.service.js +0 -0
- /package/src/{modules → routes}/update-one/index.d.ts +0 -0
- /package/src/{modules → routes}/update-one/index.js +0 -0
- /package/src/{modules → routes}/update-one/update-one-controller.interface.d.ts +0 -0
- /package/src/{modules → routes}/update-one/update-one-service.interface.d.ts +0 -0
|
@@ -11,14 +11,14 @@ exports.DeleteManyModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const delete_many_helper_1 = require("./delete-many.helper");
|
|
13
13
|
let DeleteManyModule = DeleteManyModule_1 = class DeleteManyModule {
|
|
14
|
-
static forFeature(databaseModule, entity,
|
|
15
|
-
const controller = (0, delete_many_helper_1.createDeleteManyController)(entity,
|
|
14
|
+
static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, extraProviders) {
|
|
15
|
+
const controller = (0, delete_many_helper_1.createDeleteManyController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
16
16
|
const ServiceProvider = (0, delete_many_helper_1.createDeleteManyServiceProvider)(entity, version);
|
|
17
17
|
return {
|
|
18
18
|
module: DeleteManyModule_1,
|
|
19
19
|
imports: [databaseModule],
|
|
20
20
|
controllers: [controller],
|
|
21
|
-
providers: [ServiceProvider],
|
|
21
|
+
providers: [...(extraProviders ?? []), ServiceProvider],
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DeleteOneControllerConstructor } from './delete-one-controller.interface';
|
|
5
|
+
declare function DeleteOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }: ControllerOptions<Entity>, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }: DynamicAPIRouteConfig<Entity>, version?: string): DeleteOneControllerConstructor<Entity>;
|
|
6
|
+
export { DeleteOneControllerMixin };
|
|
@@ -15,12 +15,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.DeleteOneControllerMixin = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const builders_1 = require("../../builders");
|
|
18
|
+
const decorators_1 = require("../../decorators");
|
|
18
19
|
const dtos_1 = require("../../dtos");
|
|
19
20
|
const helpers_1 = require("../../helpers");
|
|
21
|
+
const controller_ability_predicates_helper_1 = require("../../helpers/controller-ability-predicates.helper");
|
|
22
|
+
const mixins_1 = require("../../mixins");
|
|
20
23
|
const delete_one_presenter_1 = require("./delete-one.presenter");
|
|
21
|
-
function DeleteOneControllerMixin(entity, path, apiTag,
|
|
24
|
+
function DeleteOneControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
22
25
|
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
23
|
-
const { param: CustomParam, presenter: CustomPresenter } =
|
|
26
|
+
const { param: CustomParam, presenter: CustomPresenter } = dTOs ?? {};
|
|
27
|
+
let isPublic;
|
|
28
|
+
if (typeof isPublicRoute === 'boolean') {
|
|
29
|
+
isPublic = isPublicRoute;
|
|
30
|
+
}
|
|
31
|
+
else if (typeof isPublicController === 'boolean') {
|
|
32
|
+
isPublic = isPublicController;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
isPublic = false;
|
|
36
|
+
}
|
|
24
37
|
class RouteParam extends (CustomParam ?? dtos_1.EntityParam) {
|
|
25
38
|
}
|
|
26
39
|
if (!CustomParam) {
|
|
@@ -37,7 +50,15 @@ function DeleteOneControllerMixin(entity, path, apiTag, version, description, DT
|
|
|
37
50
|
writable: false,
|
|
38
51
|
});
|
|
39
52
|
}
|
|
40
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DeleteOne', entity, version, description,
|
|
53
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DeleteOne', entity, version, description, isPublic, {
|
|
54
|
+
param: RouteParam,
|
|
55
|
+
query: undefined,
|
|
56
|
+
body: undefined,
|
|
57
|
+
presenter: RoutePresenter,
|
|
58
|
+
});
|
|
59
|
+
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
|
|
60
|
+
class DeleteOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
|
|
61
|
+
}
|
|
41
62
|
class BaseDeleteOneController {
|
|
42
63
|
constructor(service) {
|
|
43
64
|
this.service = service;
|
|
@@ -49,6 +70,8 @@ function DeleteOneControllerMixin(entity, path, apiTag, version, description, DT
|
|
|
49
70
|
}
|
|
50
71
|
__decorate([
|
|
51
72
|
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
73
|
+
(0, common_1.UseGuards)(DeleteOnePoliciesGuard),
|
|
74
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
52
75
|
__param(0, (0, common_1.Param)('id')),
|
|
53
76
|
__metadata("design:type", Function),
|
|
54
77
|
__metadata("design:paramtypes", [String]),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { DeleteOneControllerConstructor } from './delete-one-controller.interface';
|
|
5
5
|
declare function createDeleteOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
-
declare function createDeleteOneController<Entity extends BaseEntity>(entity: Type<Entity>,
|
|
6
|
+
declare function createDeleteOneController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DeleteOneControllerConstructor<Entity>;
|
|
7
7
|
export { createDeleteOneController, createDeleteOneServiceProvider };
|
|
@@ -33,7 +33,7 @@ function createDeleteOneServiceProvider(entity, version) {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
DeleteOneService = __decorate([
|
|
36
|
-
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
36
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
|
|
37
37
|
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
38
38
|
], DeleteOneService);
|
|
39
39
|
Object.defineProperty(DeleteOneService, 'name', {
|
|
@@ -46,8 +46,9 @@ function createDeleteOneServiceProvider(entity, version) {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.createDeleteOneServiceProvider = createDeleteOneServiceProvider;
|
|
49
|
-
function createDeleteOneController(entity,
|
|
50
|
-
|
|
49
|
+
function createDeleteOneController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
50
|
+
const { path, apiTag } = controllerOptions;
|
|
51
|
+
let DeleteOneController = class DeleteOneController extends (0, delete_one_controller_mixin_1.DeleteOneControllerMixin)(entity, controllerOptions, routeConfig, version) {
|
|
51
52
|
constructor(service) {
|
|
52
53
|
super(service);
|
|
53
54
|
this.service = service;
|
|
@@ -56,7 +57,8 @@ function createDeleteOneController(entity, path, apiTag, version, description, D
|
|
|
56
57
|
DeleteOneController = __decorate([
|
|
57
58
|
(0, common_1.Controller)({ path, version }),
|
|
58
59
|
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
59
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions
|
|
60
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions)),
|
|
61
|
+
(0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
|
|
60
62
|
__param(0, (0, common_1.Inject)(provideServiceName(entity.name, version))),
|
|
61
63
|
__metadata("design:paramtypes", [Object])
|
|
62
64
|
], DeleteOneController);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Provider, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
export declare class DeleteOneModule {
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, extraProviders?: Provider[]): DynamicModule;
|
|
6
|
+
}
|
|
@@ -11,14 +11,14 @@ exports.DeleteOneModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const delete_one_helper_1 = require("./delete-one.helper");
|
|
13
13
|
let DeleteOneModule = DeleteOneModule_1 = class DeleteOneModule {
|
|
14
|
-
static forFeature(databaseModule, entity,
|
|
15
|
-
const controller = (0, delete_one_helper_1.createDeleteOneController)(entity,
|
|
14
|
+
static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, extraProviders) {
|
|
15
|
+
const controller = (0, delete_one_helper_1.createDeleteOneController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
16
16
|
const ServiceProvider = (0, delete_one_helper_1.createDeleteOneServiceProvider)(entity, version);
|
|
17
17
|
return {
|
|
18
18
|
module: DeleteOneModule_1,
|
|
19
19
|
imports: [databaseModule],
|
|
20
20
|
controllers: [controller],
|
|
21
|
-
providers: [ServiceProvider],
|
|
21
|
+
providers: [...(extraProviders ?? []), ServiceProvider],
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DuplicateManyControllerConstructor } from './duplicate-many-controller.interface';
|
|
5
|
+
declare function DuplicateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }: ControllerOptions<Entity>, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateManyControllerConstructor<Entity>;
|
|
6
|
+
export { DuplicateManyControllerMixin };
|
|
@@ -15,11 +15,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.DuplicateManyControllerMixin = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const builders_1 = require("../../builders");
|
|
18
|
+
const decorators_1 = require("../../decorators");
|
|
18
19
|
const helpers_1 = require("../../helpers");
|
|
20
|
+
const controller_ability_predicates_helper_1 = require("../../helpers/controller-ability-predicates.helper");
|
|
19
21
|
const mixins_1 = require("../../mixins");
|
|
20
|
-
function DuplicateManyControllerMixin(entity, path, apiTag,
|
|
22
|
+
function DuplicateManyControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
21
23
|
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
22
|
-
const { body: CustomBody, presenter: CustomPresenter, } =
|
|
24
|
+
const { body: CustomBody, presenter: CustomPresenter, } = dTOs ?? {};
|
|
25
|
+
let isPublic;
|
|
26
|
+
if (typeof isPublicRoute === 'boolean') {
|
|
27
|
+
isPublic = isPublicRoute;
|
|
28
|
+
}
|
|
29
|
+
else if (typeof isPublicController === 'boolean') {
|
|
30
|
+
isPublic = isPublicController;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
isPublic = false;
|
|
34
|
+
}
|
|
23
35
|
class RouteBody extends (CustomBody ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
|
|
24
36
|
}
|
|
25
37
|
if (!CustomBody) {
|
|
@@ -36,7 +48,15 @@ function DuplicateManyControllerMixin(entity, path, apiTag, version, description
|
|
|
36
48
|
writable: false,
|
|
37
49
|
});
|
|
38
50
|
}
|
|
39
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DuplicateMany', entity, version, description,
|
|
51
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DuplicateMany', entity, version, description, isPublic, {
|
|
52
|
+
param: undefined,
|
|
53
|
+
query: undefined,
|
|
54
|
+
body: RouteBody,
|
|
55
|
+
presenter: RoutePresenter,
|
|
56
|
+
});
|
|
57
|
+
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
|
|
58
|
+
class DuplicateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
|
|
59
|
+
}
|
|
40
60
|
class BaseDuplicateManyController {
|
|
41
61
|
constructor(service) {
|
|
42
62
|
this.service = service;
|
|
@@ -48,6 +68,8 @@ function DuplicateManyControllerMixin(entity, path, apiTag, version, description
|
|
|
48
68
|
}
|
|
49
69
|
__decorate([
|
|
50
70
|
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
71
|
+
(0, common_1.UseGuards)(DuplicateManyPoliciesGuard),
|
|
72
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
51
73
|
__param(0, (0, common_1.Query)('ids')),
|
|
52
74
|
__param(1, (0, common_1.Body)()),
|
|
53
75
|
__metadata("design:type", Function),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { DuplicateManyControllerConstructor } from './duplicate-many-controller.interface';
|
|
5
5
|
declare function createDuplicateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
-
declare function createDuplicateManyController<Entity extends BaseEntity>(entity: Type<Entity>,
|
|
6
|
+
declare function createDuplicateManyController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DuplicateManyControllerConstructor<Entity>;
|
|
7
7
|
export { createDuplicateManyController, createDuplicateManyServiceProvider };
|
|
@@ -33,7 +33,7 @@ function createDuplicateManyServiceProvider(entity, version) {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
DuplicateManyService = __decorate([
|
|
36
|
-
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
36
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
|
|
37
37
|
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
38
38
|
], DuplicateManyService);
|
|
39
39
|
Object.defineProperty(DuplicateManyService, 'name', {
|
|
@@ -46,8 +46,9 @@ function createDuplicateManyServiceProvider(entity, version) {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.createDuplicateManyServiceProvider = createDuplicateManyServiceProvider;
|
|
49
|
-
function createDuplicateManyController(entity,
|
|
50
|
-
|
|
49
|
+
function createDuplicateManyController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
50
|
+
const { path, apiTag } = controllerOptions;
|
|
51
|
+
let DuplicateManyController = class DuplicateManyController extends (0, duplicate_many_controller_mixin_1.DuplicateManyControllerMixin)(entity, controllerOptions, routeConfig, version) {
|
|
51
52
|
constructor(service) {
|
|
52
53
|
super(service);
|
|
53
54
|
this.service = service;
|
|
@@ -56,7 +57,8 @@ function createDuplicateManyController(entity, path, apiTag, version, descriptio
|
|
|
56
57
|
DuplicateManyController = __decorate([
|
|
57
58
|
(0, common_1.Controller)({ path, version }),
|
|
58
59
|
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
59
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions
|
|
60
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions)),
|
|
61
|
+
(0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
|
|
60
62
|
__param(0, (0, common_1.Inject)(provideServiceName(entity.name, version))),
|
|
61
63
|
__metadata("design:paramtypes", [Object])
|
|
62
64
|
], DuplicateManyController);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Provider, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
export declare class DuplicateManyModule {
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, extraProviders?: Provider[]): DynamicModule;
|
|
6
|
+
}
|
|
@@ -11,14 +11,14 @@ exports.DuplicateManyModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const duplicate_many_helper_1 = require("./duplicate-many.helper");
|
|
13
13
|
let DuplicateManyModule = DuplicateManyModule_1 = class DuplicateManyModule {
|
|
14
|
-
static forFeature(databaseModule, entity,
|
|
15
|
-
const controller = (0, duplicate_many_helper_1.createDuplicateManyController)(entity,
|
|
14
|
+
static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, extraProviders) {
|
|
15
|
+
const controller = (0, duplicate_many_helper_1.createDuplicateManyController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
16
16
|
const ServiceProvider = (0, duplicate_many_helper_1.createDuplicateManyServiceProvider)(entity, version);
|
|
17
17
|
return {
|
|
18
18
|
module: DuplicateManyModule_1,
|
|
19
19
|
imports: [databaseModule],
|
|
20
20
|
controllers: [controller],
|
|
21
|
-
providers: [ServiceProvider],
|
|
21
|
+
providers: [...(extraProviders ?? []), ServiceProvider],
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DuplicateOneControllerConstructor } from './duplicate-one-controller.interface';
|
|
5
|
+
declare function DuplicateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }: ControllerOptions<Entity>, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateOneControllerConstructor<Entity>;
|
|
6
|
+
export { DuplicateOneControllerMixin };
|
|
@@ -15,12 +15,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.DuplicateOneControllerMixin = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const builders_1 = require("../../builders");
|
|
18
|
+
const decorators_1 = require("../../decorators");
|
|
18
19
|
const dtos_1 = require("../../dtos");
|
|
19
20
|
const helpers_1 = require("../../helpers");
|
|
21
|
+
const controller_ability_predicates_helper_1 = require("../../helpers/controller-ability-predicates.helper");
|
|
20
22
|
const mixins_1 = require("../../mixins");
|
|
21
|
-
function DuplicateOneControllerMixin(entity, path, apiTag,
|
|
23
|
+
function DuplicateOneControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
22
24
|
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
23
|
-
const { body: CustomBody, param: CustomParam, presenter: CustomPresenter, } =
|
|
25
|
+
const { body: CustomBody, param: CustomParam, presenter: CustomPresenter, } = dTOs ?? {};
|
|
26
|
+
let isPublic;
|
|
27
|
+
if (typeof isPublicRoute === 'boolean') {
|
|
28
|
+
isPublic = isPublicRoute;
|
|
29
|
+
}
|
|
30
|
+
else if (typeof isPublicController === 'boolean') {
|
|
31
|
+
isPublic = isPublicController;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
isPublic = false;
|
|
35
|
+
}
|
|
24
36
|
class RouteBody extends (CustomBody ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
|
|
25
37
|
}
|
|
26
38
|
if (!CustomBody) {
|
|
@@ -45,7 +57,15 @@ function DuplicateOneControllerMixin(entity, path, apiTag, version, description,
|
|
|
45
57
|
writable: false,
|
|
46
58
|
});
|
|
47
59
|
}
|
|
48
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DuplicateOne', entity, version, description,
|
|
60
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DuplicateOne', entity, version, description, isPublic, {
|
|
61
|
+
param: RouteParam,
|
|
62
|
+
query: undefined,
|
|
63
|
+
body: RouteBody,
|
|
64
|
+
presenter: RoutePresenter,
|
|
65
|
+
});
|
|
66
|
+
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
|
|
67
|
+
class DuplicateOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
|
|
68
|
+
}
|
|
49
69
|
class BaseDuplicateOneController {
|
|
50
70
|
constructor(service) {
|
|
51
71
|
this.service = service;
|
|
@@ -57,6 +77,8 @@ function DuplicateOneControllerMixin(entity, path, apiTag, version, description,
|
|
|
57
77
|
}
|
|
58
78
|
__decorate([
|
|
59
79
|
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
80
|
+
(0, common_1.UseGuards)(DuplicateOnePoliciesGuard),
|
|
81
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
60
82
|
__param(0, (0, common_1.Param)('id')),
|
|
61
83
|
__param(1, (0, common_1.Body)()),
|
|
62
84
|
__metadata("design:type", Function),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { DuplicateOneControllerConstructor } from './duplicate-one-controller.interface';
|
|
5
5
|
declare function createDuplicateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
-
declare function createDuplicateOneController<Entity extends BaseEntity>(entity: Type<Entity>,
|
|
6
|
+
declare function createDuplicateOneController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DuplicateOneControllerConstructor<Entity>;
|
|
7
7
|
export { createDuplicateOneController, createDuplicateOneServiceProvider };
|
|
@@ -33,7 +33,7 @@ function createDuplicateOneServiceProvider(entity, version) {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
DuplicateOneService = __decorate([
|
|
36
|
-
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
36
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
|
|
37
37
|
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
38
38
|
], DuplicateOneService);
|
|
39
39
|
Object.defineProperty(DuplicateOneService, 'name', {
|
|
@@ -46,8 +46,9 @@ function createDuplicateOneServiceProvider(entity, version) {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.createDuplicateOneServiceProvider = createDuplicateOneServiceProvider;
|
|
49
|
-
function createDuplicateOneController(entity,
|
|
50
|
-
|
|
49
|
+
function createDuplicateOneController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
50
|
+
const { path, apiTag } = controllerOptions;
|
|
51
|
+
let DuplicateOneController = class DuplicateOneController extends (0, duplicate_one_controller_mixin_1.DuplicateOneControllerMixin)(entity, controllerOptions, routeConfig, version) {
|
|
51
52
|
constructor(service) {
|
|
52
53
|
super(service);
|
|
53
54
|
this.service = service;
|
|
@@ -56,7 +57,8 @@ function createDuplicateOneController(entity, path, apiTag, version, description
|
|
|
56
57
|
DuplicateOneController = __decorate([
|
|
57
58
|
(0, common_1.Controller)({ path, version }),
|
|
58
59
|
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
59
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions
|
|
60
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions)),
|
|
61
|
+
(0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
|
|
60
62
|
__param(0, (0, common_1.Inject)(provideServiceName(entity.name, version))),
|
|
61
63
|
__metadata("design:paramtypes", [Object])
|
|
62
64
|
], DuplicateOneController);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Provider, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
export declare class DuplicateOneModule {
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, extraProviders?: Provider[]): DynamicModule;
|
|
6
|
+
}
|
|
@@ -11,14 +11,14 @@ exports.DuplicateOneModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const duplicate_one_helper_1 = require("./duplicate-one.helper");
|
|
13
13
|
let DuplicateOneModule = DuplicateOneModule_1 = class DuplicateOneModule {
|
|
14
|
-
static forFeature(databaseModule, entity,
|
|
15
|
-
const controller = (0, duplicate_one_helper_1.createDuplicateOneController)(entity,
|
|
14
|
+
static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, extraProviders) {
|
|
15
|
+
const controller = (0, duplicate_one_helper_1.createDuplicateOneController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
16
16
|
const ServiceProvider = (0, duplicate_one_helper_1.createDuplicateOneServiceProvider)(entity, version);
|
|
17
17
|
return {
|
|
18
18
|
module: DuplicateOneModule_1,
|
|
19
19
|
imports: [databaseModule],
|
|
20
20
|
controllers: [controller],
|
|
21
|
-
providers: [ServiceProvider],
|
|
21
|
+
providers: [...(extraProviders ?? []), ServiceProvider],
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { GetManyControllerConstructor } from './get-many-controller.interface';
|
|
5
|
+
declare function GetManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }: ControllerOptions<Entity>, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }: DynamicAPIRouteConfig<Entity>, version?: string): GetManyControllerConstructor<Entity>;
|
|
6
|
+
export { GetManyControllerMixin };
|
|
@@ -15,21 +15,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.GetManyControllerMixin = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const builders_1 = require("../../builders");
|
|
18
|
+
const decorators_1 = require("../../decorators");
|
|
18
19
|
const dtos_1 = require("../../dtos");
|
|
19
20
|
const helpers_1 = require("../../helpers");
|
|
21
|
+
const controller_ability_predicates_helper_1 = require("../../helpers/controller-ability-predicates.helper");
|
|
20
22
|
const mixins_1 = require("../../mixins");
|
|
21
|
-
function GetManyControllerMixin(entity, path, apiTag,
|
|
23
|
+
function GetManyControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
22
24
|
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
23
|
-
const { query: CustomQuery, presenter: CustomPresenter } =
|
|
25
|
+
const { query: CustomQuery, presenter: CustomPresenter } = dTOs ?? {};
|
|
26
|
+
let isPublic;
|
|
27
|
+
if (typeof isPublicRoute === 'boolean') {
|
|
28
|
+
isPublic = isPublicRoute;
|
|
29
|
+
}
|
|
30
|
+
else if (typeof isPublicController === 'boolean') {
|
|
31
|
+
isPublic = isPublicController;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
isPublic = false;
|
|
35
|
+
}
|
|
24
36
|
class RouteQuery extends (CustomQuery ?? dtos_1.EntityQuery) {
|
|
25
37
|
}
|
|
26
38
|
if (!CustomQuery) {
|
|
27
39
|
Object.defineProperty(RouteQuery, 'name', {
|
|
28
|
-
value:
|
|
40
|
+
value: `${routeType}${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Query`,
|
|
29
41
|
writable: false,
|
|
30
42
|
});
|
|
31
43
|
}
|
|
32
|
-
class RoutePresenter extends (CustomPresenter ??
|
|
44
|
+
class RoutePresenter extends (CustomPresenter ?? entity) {
|
|
33
45
|
}
|
|
34
46
|
if (!CustomPresenter) {
|
|
35
47
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
@@ -37,7 +49,15 @@ function GetManyControllerMixin(entity, path, apiTag, version, description, DTOs
|
|
|
37
49
|
writable: false,
|
|
38
50
|
});
|
|
39
51
|
}
|
|
40
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(
|
|
52
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(routeType, entity, version, description, isPublic, {
|
|
53
|
+
param: undefined,
|
|
54
|
+
query: RouteQuery,
|
|
55
|
+
body: undefined,
|
|
56
|
+
presenter: RoutePresenter,
|
|
57
|
+
});
|
|
58
|
+
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
|
|
59
|
+
class GetManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
|
|
60
|
+
}
|
|
41
61
|
class BaseGetManyController {
|
|
42
62
|
constructor(service) {
|
|
43
63
|
this.service = service;
|
|
@@ -49,13 +69,15 @@ function GetManyControllerMixin(entity, path, apiTag, version, description, DTOs
|
|
|
49
69
|
}
|
|
50
70
|
__decorate([
|
|
51
71
|
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
72
|
+
(0, common_1.UseGuards)(GetManyPoliciesGuard),
|
|
73
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
52
74
|
__param(0, (0, common_1.Query)()),
|
|
53
75
|
__metadata("design:type", Function),
|
|
54
76
|
__metadata("design:paramtypes", [RouteQuery]),
|
|
55
77
|
__metadata("design:returntype", Promise)
|
|
56
78
|
], BaseGetManyController.prototype, "getMany", null);
|
|
57
79
|
Object.defineProperty(BaseGetManyController, 'name', {
|
|
58
|
-
value: `
|
|
80
|
+
value: `Base${routeType}${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
59
81
|
writable: false,
|
|
60
82
|
});
|
|
61
83
|
return BaseGetManyController;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { GetManyControllerConstructor } from './get-many-controller.interface';
|
|
5
5
|
declare function createGetManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
-
declare function createGetManyController<Entity extends BaseEntity>(entity: Type<Entity>,
|
|
6
|
+
declare function createGetManyController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): GetManyControllerConstructor<Entity>;
|
|
7
7
|
export { createGetManyController, createGetManyServiceProvider };
|
|
@@ -33,7 +33,7 @@ function createGetManyServiceProvider(entity, version) {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
GetManyService = __decorate([
|
|
36
|
-
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.connectionName)),
|
|
36
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
|
|
37
37
|
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
38
38
|
], GetManyService);
|
|
39
39
|
Object.defineProperty(GetManyService, 'name', {
|
|
@@ -46,8 +46,9 @@ function createGetManyServiceProvider(entity, version) {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.createGetManyServiceProvider = createGetManyServiceProvider;
|
|
49
|
-
function createGetManyController(entity,
|
|
50
|
-
|
|
49
|
+
function createGetManyController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
50
|
+
const { path, apiTag } = controllerOptions;
|
|
51
|
+
let GetManyController = class GetManyController extends (0, get_many_controller_mixin_1.GetManyControllerMixin)(entity, controllerOptions, routeConfig, version) {
|
|
51
52
|
constructor(service) {
|
|
52
53
|
super(service);
|
|
53
54
|
this.service = service;
|
|
@@ -56,7 +57,8 @@ function createGetManyController(entity, path, apiTag, version, description, DTO
|
|
|
56
57
|
GetManyController = __decorate([
|
|
57
58
|
(0, common_1.Controller)({ path, version }),
|
|
58
59
|
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
59
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions
|
|
60
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions)),
|
|
61
|
+
(0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
|
|
60
62
|
__param(0, (0, common_1.Inject)(provideServiceName(entity.name, version))),
|
|
61
63
|
__metadata("design:paramtypes", [Object])
|
|
62
64
|
], GetManyController);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Provider, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
export declare class GetManyModule {
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, extraProviders?: Provider[]): DynamicModule;
|
|
6
|
+
}
|
|
@@ -11,14 +11,14 @@ exports.GetManyModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const get_many_helper_1 = require("./get-many.helper");
|
|
13
13
|
let GetManyModule = GetManyModule_1 = class GetManyModule {
|
|
14
|
-
static forFeature(databaseModule, entity,
|
|
15
|
-
const controller = (0, get_many_helper_1.createGetManyController)(entity,
|
|
14
|
+
static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, extraProviders) {
|
|
15
|
+
const controller = (0, get_many_helper_1.createGetManyController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
16
16
|
const ServiceProvider = (0, get_many_helper_1.createGetManyServiceProvider)(entity, version);
|
|
17
17
|
return {
|
|
18
18
|
module: GetManyModule_1,
|
|
19
19
|
imports: [databaseModule],
|
|
20
20
|
controllers: [controller],
|
|
21
|
-
providers: [ServiceProvider],
|
|
21
|
+
providers: [...(extraProviders ?? []), ServiceProvider],
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { GetOneControllerConstructor } from './get-one-controller.interface';
|
|
5
|
+
declare function GetOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }: ControllerOptions<Entity>, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }: DynamicAPIRouteConfig<Entity>, version?: string): GetOneControllerConstructor<Entity>;
|
|
6
|
+
export { GetOneControllerMixin };
|