mongodb-dynamic-api 1.3.3 → 1.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 +13 -0
- package/README.md +410 -1
- 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
package/src/modules/index.js
CHANGED
|
@@ -14,14 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./delete-many"), exports);
|
|
20
|
-
__exportStar(require("./delete-one"), exports);
|
|
21
|
-
__exportStar(require("./duplicate-many"), exports);
|
|
22
|
-
__exportStar(require("./duplicate-one"), exports);
|
|
23
|
-
__exportStar(require("./get-many"), exports);
|
|
24
|
-
__exportStar(require("./get-one"), exports);
|
|
25
|
-
__exportStar(require("./replace-one"), exports);
|
|
26
|
-
__exportStar(require("./update-many"), exports);
|
|
27
|
-
__exportStar(require("./update-one"), exports);
|
|
17
|
+
__exportStar(require("./auth"), exports);
|
|
18
|
+
__exportStar(require("./dynamic-api-config"), exports);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateManyControllerConstructor } from './create-many-controller.interface';
|
|
5
|
+
declare function CreateManyControllerMixin<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): CreateManyControllerConstructor<Entity>;
|
|
6
|
+
export { CreateManyControllerMixin };
|
|
@@ -15,14 +15,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.CreateManyControllerMixin = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
-
const class_validator_1 = require("class-validator");
|
|
19
18
|
const class_transformer_1 = require("class-transformer");
|
|
19
|
+
const class_validator_1 = require("class-validator");
|
|
20
20
|
const builders_1 = require("../../builders");
|
|
21
|
+
const decorators_1 = require("../../decorators");
|
|
21
22
|
const helpers_1 = require("../../helpers");
|
|
23
|
+
const controller_ability_predicates_helper_1 = require("../../helpers/controller-ability-predicates.helper");
|
|
22
24
|
const mixins_1 = require("../../mixins");
|
|
23
|
-
function CreateManyControllerMixin(entity, path, apiTag,
|
|
25
|
+
function CreateManyControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
24
26
|
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
25
|
-
const { body: CustomBody, presenter: CustomPresenter } =
|
|
27
|
+
const { body: CustomBody, presenter: CustomPresenter } = dTOs ?? {};
|
|
28
|
+
let isPublic;
|
|
29
|
+
if (typeof isPublicRoute === 'boolean') {
|
|
30
|
+
isPublic = isPublicRoute;
|
|
31
|
+
}
|
|
32
|
+
else if (typeof isPublicController === 'boolean') {
|
|
33
|
+
isPublic = isPublicController;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
isPublic = false;
|
|
37
|
+
}
|
|
26
38
|
class DtoBody extends (0, mixins_1.EntityBodyMixin)(entity) {
|
|
27
39
|
}
|
|
28
40
|
Object.defineProperty(DtoBody, 'name', {
|
|
@@ -55,7 +67,15 @@ function CreateManyControllerMixin(entity, path, apiTag, version, description, D
|
|
|
55
67
|
writable: false,
|
|
56
68
|
});
|
|
57
69
|
}
|
|
58
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('CreateMany', entity, version, description,
|
|
70
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('CreateMany', entity, version, description, isPublic, {
|
|
71
|
+
param: undefined,
|
|
72
|
+
query: undefined,
|
|
73
|
+
body: RouteBody,
|
|
74
|
+
presenter: RoutePresenter,
|
|
75
|
+
});
|
|
76
|
+
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
|
|
77
|
+
class CreateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
|
|
78
|
+
}
|
|
59
79
|
class BaseCreateManyController {
|
|
60
80
|
constructor(service) {
|
|
61
81
|
this.service = service;
|
|
@@ -67,6 +87,8 @@ function CreateManyControllerMixin(entity, path, apiTag, version, description, D
|
|
|
67
87
|
}
|
|
68
88
|
__decorate([
|
|
69
89
|
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
90
|
+
(0, common_1.UseGuards)(CreateManyPoliciesGuard),
|
|
91
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
70
92
|
__param(0, (0, common_1.Body)()),
|
|
71
93
|
__metadata("design:type", Function),
|
|
72
94
|
__metadata("design:paramtypes", [RouteBody]),
|
|
@@ -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 { CreateManyControllerConstructor } from './create-many-controller.interface';
|
|
5
5
|
declare function createCreateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
-
declare function createCreateManyController<Entity extends BaseEntity>(entity: Type<Entity>,
|
|
6
|
+
declare function createCreateManyController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): CreateManyControllerConstructor<Entity>;
|
|
7
7
|
export { createCreateManyController, createCreateManyServiceProvider };
|
|
@@ -33,7 +33,7 @@ function createCreateManyServiceProvider(entity, version) {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
CreateManyService = __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
|
], CreateManyService);
|
|
39
39
|
Object.defineProperty(CreateManyService, 'name', {
|
|
@@ -46,8 +46,9 @@ function createCreateManyServiceProvider(entity, version) {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.createCreateManyServiceProvider = createCreateManyServiceProvider;
|
|
49
|
-
function createCreateManyController(entity,
|
|
50
|
-
|
|
49
|
+
function createCreateManyController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
50
|
+
const { path, apiTag } = controllerOptions;
|
|
51
|
+
let CreateManyController = class CreateManyController extends (0, create_many_controller_mixin_1.CreateManyControllerMixin)(entity, controllerOptions, routeConfig, version) {
|
|
51
52
|
constructor(service) {
|
|
52
53
|
super(service);
|
|
53
54
|
this.service = service;
|
|
@@ -56,7 +57,8 @@ function createCreateManyController(entity, path, apiTag, version, description,
|
|
|
56
57
|
CreateManyController = __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
|
], CreateManyController);
|
|
@@ -2,5 +2,5 @@ import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
|
2
2
|
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
export declare class CreateManyModule {
|
|
5
|
-
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>,
|
|
5
|
+
static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): Promise<DynamicModule>;
|
|
6
6
|
}
|
|
@@ -11,8 +11,8 @@ exports.CreateManyModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const create_many_helper_1 = require("./create-many.helper");
|
|
13
13
|
let CreateManyModule = CreateManyModule_1 = class CreateManyModule {
|
|
14
|
-
static forFeature(databaseModule, entity,
|
|
15
|
-
const controller = (0, create_many_helper_1.createCreateManyController)(entity,
|
|
14
|
+
static async forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
15
|
+
const controller = (0, create_many_helper_1.createCreateManyController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
16
16
|
const ServiceProvider = (0, create_many_helper_1.createCreateManyServiceProvider)(entity, version);
|
|
17
17
|
return {
|
|
18
18
|
module: CreateManyModule_1,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { ControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { CreateOneControllerConstructor } from './create-one-controller.interface';
|
|
5
|
+
declare function CreateOneControllerMixin<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): CreateOneControllerConstructor<Entity>;
|
|
6
|
+
export { CreateOneControllerMixin };
|
|
@@ -15,11 +15,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.CreateOneControllerMixin = 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 CreateOneControllerMixin(entity, path, apiTag,
|
|
22
|
+
function CreateOneControllerMixin(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)) {
|
|
24
36
|
}
|
|
25
37
|
if (!CustomBody) {
|
|
@@ -36,7 +48,15 @@ function CreateOneControllerMixin(entity, path, apiTag, version, description, DT
|
|
|
36
48
|
writable: false,
|
|
37
49
|
});
|
|
38
50
|
}
|
|
39
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('CreateOne', entity, version, description,
|
|
51
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('CreateOne', 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 CreateOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
|
|
59
|
+
}
|
|
40
60
|
class BaseCreateOneController {
|
|
41
61
|
constructor(service) {
|
|
42
62
|
this.service = service;
|
|
@@ -48,6 +68,8 @@ function CreateOneControllerMixin(entity, path, apiTag, version, description, DT
|
|
|
48
68
|
}
|
|
49
69
|
__decorate([
|
|
50
70
|
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
71
|
+
(0, common_1.UseGuards)(CreateOnePoliciesGuard),
|
|
72
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
51
73
|
__param(0, (0, common_1.Body)()),
|
|
52
74
|
__metadata("design:type", Function),
|
|
53
75
|
__metadata("design:paramtypes", [RouteBody]),
|
|
@@ -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 { CreateOneControllerConstructor } from './create-one-controller.interface';
|
|
5
5
|
declare function createCreateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
-
declare function createCreateOneController<Entity extends BaseEntity>(entity: Type<Entity>,
|
|
6
|
+
declare function createCreateOneController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): CreateOneControllerConstructor<Entity>;
|
|
7
7
|
export { createCreateOneController, createCreateOneServiceProvider };
|
|
@@ -33,7 +33,7 @@ function createCreateOneServiceProvider(entity, version) {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
CreateOneService = __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
|
], CreateOneService);
|
|
39
39
|
Object.defineProperty(CreateOneService, 'name', {
|
|
@@ -46,8 +46,9 @@ function createCreateOneServiceProvider(entity, version) {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.createCreateOneServiceProvider = createCreateOneServiceProvider;
|
|
49
|
-
function createCreateOneController(entity,
|
|
50
|
-
|
|
49
|
+
function createCreateOneController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
50
|
+
const { path, apiTag } = controllerOptions;
|
|
51
|
+
let CreateOneController = class CreateOneController extends (0, create_one_controller_mixin_1.CreateOneControllerMixin)(entity, controllerOptions, routeConfig, version) {
|
|
51
52
|
constructor(service) {
|
|
52
53
|
super(service);
|
|
53
54
|
this.service = service;
|
|
@@ -56,7 +57,8 @@ function createCreateOneController(entity, path, apiTag, version, description, D
|
|
|
56
57
|
CreateOneController = __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
|
], CreateOneController);
|
|
@@ -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 CreateOneModule {
|
|
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.CreateOneModule = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const create_one_helper_1 = require("./create-one.helper");
|
|
13
13
|
let CreateOneModule = CreateOneModule_1 = class CreateOneModule {
|
|
14
|
-
static forFeature(databaseModule, entity,
|
|
15
|
-
const controller = (0, create_one_helper_1.createCreateOneController)(entity,
|
|
14
|
+
static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, extraProviders) {
|
|
15
|
+
const controller = (0, create_one_helper_1.createCreateOneController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
|
|
16
16
|
const ServiceProvider = (0, create_one_helper_1.createCreateOneServiceProvider)(entity, version);
|
|
17
17
|
return {
|
|
18
18
|
module: CreateOneModule_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 { DeleteManyControllerConstructor } from './delete-many-controller.interface';
|
|
5
|
+
declare function DeleteManyControllerMixin<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): DeleteManyControllerConstructor<Entity>;
|
|
6
|
+
export { DeleteManyControllerMixin };
|
|
@@ -15,11 +15,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.DeleteManyControllerMixin = 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");
|
|
21
|
+
const mixins_1 = require("../../mixins");
|
|
19
22
|
const delete_many_presenter_1 = require("./delete-many.presenter");
|
|
20
|
-
function DeleteManyControllerMixin(entity, path, apiTag,
|
|
23
|
+
function DeleteManyControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
21
24
|
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
22
|
-
const { presenter: CustomPresenter } =
|
|
25
|
+
const { 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
|
+
}
|
|
23
36
|
class RoutePresenter extends (CustomPresenter ?? delete_many_presenter_1.DeleteManyPresenter) {
|
|
24
37
|
}
|
|
25
38
|
if (!CustomPresenter) {
|
|
@@ -28,7 +41,15 @@ function DeleteManyControllerMixin(entity, path, apiTag, version, description, D
|
|
|
28
41
|
writable: false,
|
|
29
42
|
});
|
|
30
43
|
}
|
|
31
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DeleteMany', entity, version, description,
|
|
44
|
+
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DeleteMany', entity, version, description, isPublic, {
|
|
45
|
+
param: undefined,
|
|
46
|
+
query: undefined,
|
|
47
|
+
body: undefined,
|
|
48
|
+
presenter: RoutePresenter,
|
|
49
|
+
});
|
|
50
|
+
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
|
|
51
|
+
class DeleteManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
|
|
52
|
+
}
|
|
32
53
|
class BaseDeleteManyController {
|
|
33
54
|
constructor(service) {
|
|
34
55
|
this.service = service;
|
|
@@ -40,6 +61,8 @@ function DeleteManyControllerMixin(entity, path, apiTag, version, description, D
|
|
|
40
61
|
}
|
|
41
62
|
__decorate([
|
|
42
63
|
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
64
|
+
(0, common_1.UseGuards)(DeleteManyPoliciesGuard),
|
|
65
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
43
66
|
__param(0, (0, common_1.Query)('ids')),
|
|
44
67
|
__metadata("design:type", Function),
|
|
45
68
|
__metadata("design:paramtypes", [Array]),
|
|
@@ -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 { DeleteManyControllerConstructor } from './delete-many-controller.interface';
|
|
5
5
|
declare function createDeleteManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
-
declare function createDeleteManyController<Entity extends BaseEntity>(entity: Type<Entity>,
|
|
6
|
+
declare function createDeleteManyController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: ControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DeleteManyControllerConstructor<Entity>;
|
|
7
7
|
export { createDeleteManyController, createDeleteManyServiceProvider };
|
|
@@ -33,7 +33,7 @@ function createDeleteManyServiceProvider(entity, version) {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
DeleteManyService = __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
|
], DeleteManyService);
|
|
39
39
|
Object.defineProperty(DeleteManyService, 'name', {
|
|
@@ -46,8 +46,9 @@ function createDeleteManyServiceProvider(entity, version) {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
exports.createDeleteManyServiceProvider = createDeleteManyServiceProvider;
|
|
49
|
-
function createDeleteManyController(entity,
|
|
50
|
-
|
|
49
|
+
function createDeleteManyController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
|
|
50
|
+
const { path, apiTag } = controllerOptions;
|
|
51
|
+
let DeleteManyController = class DeleteManyController extends (0, delete_many_controller_mixin_1.DeleteManyControllerMixin)(entity, controllerOptions, routeConfig, version) {
|
|
51
52
|
constructor(service) {
|
|
52
53
|
super(service);
|
|
53
54
|
this.service = service;
|
|
@@ -56,7 +57,8 @@ function createDeleteManyController(entity, path, apiTag, version, description,
|
|
|
56
57
|
DeleteManyController = __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
|
], DeleteManyController);
|
|
@@ -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 DeleteManyModule {
|
|
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.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),
|