mongodb-dynamic-api 1.6.0 → 2.0.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 +65 -19
- package/README.md +91 -67
- package/package.json +13 -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/route-decorators.builder.js +110 -0
- 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/dtos/delete-many-entity.query.d.ts +3 -0
- package/src/dtos/delete-many-entity.query.js +24 -0
- package/src/dtos/index.d.ts +1 -0
- package/src/dtos/index.js +1 -0
- package/src/dynamic-api.module.d.ts +6 -4
- package/src/dynamic-api.module.js +145 -69
- 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 +18 -0
- package/src/helpers/format.helper.d.ts +2 -0
- package/src/helpers/format.helper.js +12 -0
- package/src/helpers/index.d.ts +6 -1
- package/src/helpers/index.js +6 -1
- package/src/helpers/route-decorators.helper.d.ts +2 -2
- package/src/helpers/route-description.helper.d.ts +3 -0
- package/src/helpers/route-description.helper.js +34 -0
- package/src/helpers/schema.helper.d.ts +28 -0
- package/src/helpers/schema.helper.js +27 -0
- package/src/helpers/swagger-config.helper.d.ts +4 -0
- package/src/helpers/{config.helper.js → swagger-config.helper.js} +37 -21
- package/src/helpers/validation-config.helper.d.ts +3 -0
- package/src/helpers/validation-config.helper.js +8 -0
- package/src/helpers/versioning-config.helper.d.ts +4 -0
- package/src/helpers/versioning-config.helper.js +15 -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/dynamic-api-cache-options.interface.d.ts +9 -0
- package/src/interfaces/dynamic-api-casl-ability.interface.d.ts +9 -0
- package/src/interfaces/dynamic-api-controller-options.interface.d.ts +12 -0
- package/src/interfaces/dynamic-api-decorator-builder.interface.d.ts +5 -0
- package/src/interfaces/dynamic-api-global-state.interface.d.ts +16 -0
- package/src/interfaces/dynamic-api-options.interface.d.ts +14 -11
- 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 +15 -0
- 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/dynamic-api-schema-options.interface.d.ts +7 -1
- package/src/interfaces/dynamic-api-schema-options.interface.js +14 -0
- package/src/interfaces/{service-provider.interface.d.ts → dynamic-api-service-provider.interface.d.ts} +2 -2
- package/src/{helpers/config.helper.d.ts → interfaces/dynamic-api-swagger-options.type.d.ts} +23 -15
- package/src/interfaces/index.d.ts +13 -4
- package/src/interfaces/index.js +13 -4
- package/src/mixins/create-policies-guard.mixin.d.ts +5 -0
- package/src/mixins/create-policies-guard.mixin.js +37 -0
- package/src/mixins/entity-presenter.mixin.d.ts +1 -1
- package/src/mixins/entity-presenter.mixin.js +12 -2
- package/src/mixins/index.d.ts +1 -0
- package/src/mixins/index.js +1 -0
- package/src/models/base-entity.model.d.ts +1 -1
- 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 +25 -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 +5 -0
- package/src/modules/auth/mixins/auth-controller.mixin.js +118 -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 -8
- package/src/modules/index.js +2 -8
- package/src/routes/create-many/create-many-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/create-many/create-many-controller.mixin.js +31 -9
- package/src/routes/create-many/create-many.helper.d.ts +7 -0
- package/src/{modules → routes}/create-many/create-many.helper.js +14 -11
- package/src/routes/create-many/create-many.module.d.ts +6 -0
- package/src/{modules → routes}/create-many/create-many.module.js +3 -3
- package/src/routes/create-one/create-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/create-one/create-one-controller.mixin.js +29 -7
- package/src/routes/create-one/create-one.helper.d.ts +7 -0
- package/src/{modules → routes}/create-one/create-one.helper.js +14 -11
- package/src/routes/create-one/create-one.module.d.ts +6 -0
- package/src/{modules → routes}/create-one/create-one.module.js +4 -4
- package/src/routes/delete-many/base-delete-many.service.d.ts +34 -0
- package/src/routes/delete-many/base-delete-many.service.js +29 -0
- package/src/routes/delete-many/delete-many-controller.interface.d.ts +8 -0
- package/src/routes/delete-many/delete-many-controller.interface.js +2 -0
- package/src/routes/delete-many/delete-many-controller.mixin.d.ts +6 -0
- package/src/routes/delete-many/delete-many-controller.mixin.js +77 -0
- package/src/routes/delete-many/delete-many-service.interface.d.ts +6 -0
- package/src/routes/delete-many/delete-many-service.interface.js +2 -0
- package/src/routes/delete-many/delete-many.helper.d.ts +7 -0
- package/src/routes/delete-many/delete-many.helper.js +71 -0
- package/src/routes/delete-many/delete-many.module.d.ts +6 -0
- package/src/routes/delete-many/delete-many.module.js +28 -0
- package/src/routes/delete-many/delete-many.presenter.d.ts +3 -0
- package/src/routes/delete-many/delete-many.presenter.js +20 -0
- package/src/routes/delete-many/index.d.ts +7 -0
- package/src/routes/delete-many/index.js +23 -0
- package/src/routes/delete-one/delete-one-controller.interface.js +2 -0
- package/src/routes/delete-one/delete-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/delete-one/delete-one-controller.mixin.js +30 -7
- package/src/routes/delete-one/delete-one-service.interface.js +2 -0
- package/src/routes/delete-one/delete-one.helper.d.ts +7 -0
- package/src/{modules → routes}/delete-one/delete-one.helper.js +14 -11
- package/src/routes/delete-one/delete-one.module.d.ts +6 -0
- package/src/{modules → routes}/delete-one/delete-one.module.js +4 -4
- package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +33 -0
- package/src/routes/duplicate-many/base-duplicate-many.service.js +43 -0
- package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +7 -0
- package/src/routes/duplicate-many/duplicate-many-controller.interface.js +2 -0
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +6 -0
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +85 -0
- package/src/routes/duplicate-many/duplicate-many-service.interface.d.ts +5 -0
- package/src/routes/duplicate-many/duplicate-many-service.interface.js +2 -0
- package/src/routes/duplicate-many/duplicate-many.helper.d.ts +7 -0
- package/src/routes/duplicate-many/duplicate-many.helper.js +71 -0
- package/src/routes/duplicate-many/duplicate-many.module.d.ts +6 -0
- package/src/routes/duplicate-many/duplicate-many.module.js +28 -0
- package/src/routes/duplicate-many/index.d.ts +6 -0
- package/src/routes/duplicate-many/index.js +22 -0
- package/src/routes/duplicate-one/duplicate-one-controller.interface.js +2 -0
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/duplicate-one/duplicate-one-controller.mixin.js +30 -8
- package/src/routes/duplicate-one/duplicate-one-service.interface.js +2 -0
- package/src/routes/duplicate-one/duplicate-one.helper.d.ts +7 -0
- package/src/{modules → routes}/duplicate-one/duplicate-one.helper.js +14 -11
- package/src/routes/duplicate-one/duplicate-one.module.d.ts +6 -0
- package/src/{modules → routes}/duplicate-one/duplicate-one.module.js +4 -4
- package/src/routes/get-many/get-many-controller.interface.js +2 -0
- package/src/routes/get-many/get-many-controller.mixin.d.ts +6 -0
- package/src/{modules → routes}/get-many/get-many-controller.mixin.js +29 -7
- package/src/routes/get-many/get-many-service.interface.js +2 -0
- package/src/routes/get-many/get-many.helper.d.ts +7 -0
- package/src/{modules → routes}/get-many/get-many.helper.js +14 -11
- package/src/routes/get-many/get-many.module.d.ts +6 -0
- package/src/{modules → routes}/get-many/get-many.module.js +4 -4
- 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 +30 -8
- package/src/routes/get-one/get-one-service.interface.js +2 -0
- package/src/routes/get-one/get-one.helper.d.ts +7 -0
- package/src/{modules → routes}/get-one/get-one.helper.js +14 -11
- package/src/routes/get-one/get-one.module.d.ts +6 -0
- package/src/{modules → routes}/get-one/get-one.module.js +4 -4
- 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 +30 -8
- package/src/routes/replace-one/replace-one-service.interface.js +2 -0
- package/src/routes/replace-one/replace-one.helper.d.ts +7 -0
- package/src/{modules → routes}/replace-one/replace-one.helper.js +14 -11
- package/src/routes/replace-one/replace-one.module.d.ts +6 -0
- package/src/{modules → routes}/replace-one/replace-one.module.js +4 -4
- package/src/routes/update-many/base-update-many.service.d.ts +33 -0
- package/src/routes/update-many/base-update-many.service.js +32 -0
- package/src/routes/update-many/index.d.ts +6 -0
- package/src/routes/update-many/index.js +22 -0
- package/src/routes/update-many/update-many-controller.interface.d.ts +7 -0
- 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/routes/update-many/update-many-controller.mixin.js +85 -0
- package/src/routes/update-many/update-many-service.interface.d.ts +5 -0
- package/src/routes/update-many/update-many-service.interface.js +2 -0
- package/src/routes/update-many/update-many.helper.d.ts +7 -0
- package/src/routes/update-many/update-many.helper.js +71 -0
- package/src/routes/update-many/update-many.module.d.ts +6 -0
- package/src/routes/update-many/update-many.module.js +28 -0
- 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 +30 -8
- package/src/routes/update-one/update-one-service.interface.js +2 -0
- package/src/routes/update-one/update-one.helper.d.ts +7 -0
- package/src/{modules → routes}/update-one/update-one.helper.js +14 -11
- package/src/routes/update-one/update-one.module.d.ts +6 -0
- package/src/{modules → routes}/update-one/update-one.module.js +4 -4
- 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 -18
- package/src/builders/route-decorators.builder.js +0 -76
- package/src/interfaces/maybe-promise.type.d.ts +0 -2
- package/src/interfaces/route-config.interface.d.ts +0 -17
- package/src/modules/create-many/create-many-controller.mixin.d.ts +0 -6
- package/src/modules/create-many/create-many.helper.d.ts +0 -7
- package/src/modules/create-many/create-many.module.d.ts +0 -6
- package/src/modules/create-one/create-one-controller.mixin.d.ts +0 -6
- package/src/modules/create-one/create-one.helper.d.ts +0 -7
- package/src/modules/create-one/create-one.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.helper.d.ts +0 -7
- package/src/modules/delete-one/delete-one.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.helper.d.ts +0 -7
- 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.helper.d.ts +0 -7
- 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.helper.d.ts +0 -7
- 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.helper.d.ts +0 -7
- package/src/modules/replace-one/replace-one.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.helper.d.ts +0 -7
- package/src/modules/update-one/update-one.module.d.ts +0 -6
- package/src/interfaces/{entity-mappers.interface.js → dynamic-api-cache-options.interface.js} +0 -0
- package/src/interfaces/{maybe-promise.type.js → dynamic-api-casl-ability.interface.js} +0 -0
- package/src/interfaces/{route-config.interface.js → dynamic-api-controller-options.interface.js} +0 -0
- package/src/interfaces/{service-provider.interface.js → dynamic-api-decorator-builder.interface.js} +0 -0
- package/src/interfaces/{entity-mappers.interface.d.ts → dynamic-api-entity-mappers.interface.d.ts} +0 -0
- package/src/{modules/create-many/create-many-controller.interface.js → interfaces/dynamic-api-entity-mappers.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-config.interface.js} +0 -0
- package/src/{modules/delete-one/delete-one-controller.interface.js → interfaces/dynamic-api-route-dtos-bundle.type.js} +0 -0
- package/src/{modules/delete-one/delete-one-service.interface.js → interfaces/dynamic-api-route-module.type.js} +0 -0
- package/src/{modules/duplicate-one/duplicate-one-controller.interface.js → interfaces/dynamic-api-route-type.type.js} +0 -0
- package/src/{modules/duplicate-one/duplicate-one-service.interface.js → interfaces/dynamic-api-service-provider.interface.js} +0 -0
- package/src/{modules/get-many/get-many-controller.interface.js → interfaces/dynamic-api-swagger-options.type.js} +0 -0
- package/src/modules/{get-many/get-many-service.interface.js → auth/interfaces/auth-controller.interface.js} +0 -0
- package/src/modules/{get-one/get-one-controller.interface.js → auth/interfaces/auth-options.interface.js} +0 -0
- package/src/modules/{get-one/get-one-service.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/replace-one/replace-one-controller.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/replace-one/replace-one-service.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/update-one/update-one-controller.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/update-one/update-one-service.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-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 → routes}/delete-one/delete-one-service.interface.d.ts +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-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 → routes}/duplicate-one/duplicate-one-service.interface.d.ts +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 +1 -1
- /package/src/{modules → routes}/get-many/get-many-controller.interface.d.ts +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-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
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Provider, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DynamicApiControllerOptions, 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: DynamicApiControllerOptions<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,
|
|
16
|
-
const ServiceProvider = (0, create_one_helper_1.createCreateOneServiceProvider)(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
|
+
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,34 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
import { Model } from 'mongoose';
|
|
26
|
+
import { BaseEntity } from '../../models';
|
|
27
|
+
import { BaseService } from '../../services';
|
|
28
|
+
import { DeleteManyService } from './delete-many-service.interface';
|
|
29
|
+
import { DeleteManyPresenter } from './delete-many.presenter';
|
|
30
|
+
export declare abstract class BaseDeleteManyService<Entity extends BaseEntity> extends BaseService<Entity> implements DeleteManyService<Entity> {
|
|
31
|
+
protected readonly model: Model<Entity>;
|
|
32
|
+
protected constructor(model: Model<Entity>);
|
|
33
|
+
deleteMany(ids: string[]): Promise<DeleteManyPresenter>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseDeleteManyService = void 0;
|
|
4
|
+
const builder_pattern_1 = require("builder-pattern");
|
|
5
|
+
const services_1 = require("../../services");
|
|
6
|
+
const delete_many_presenter_1 = require("./delete-many.presenter");
|
|
7
|
+
class BaseDeleteManyService extends services_1.BaseService {
|
|
8
|
+
constructor(model) {
|
|
9
|
+
super(model);
|
|
10
|
+
this.model = model;
|
|
11
|
+
}
|
|
12
|
+
async deleteMany(ids) {
|
|
13
|
+
let op;
|
|
14
|
+
if (this.isSoftDeletable) {
|
|
15
|
+
const deleted = await this.model
|
|
16
|
+
.updateMany({
|
|
17
|
+
_id: { $in: ids },
|
|
18
|
+
isDeleted: false,
|
|
19
|
+
}, { $set: { isDeleted: true, deletedAt: Date.now() } })
|
|
20
|
+
.exec();
|
|
21
|
+
op = { deletedCount: deleted.modifiedCount };
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
op = await this.model.deleteMany({ _id: { $in: ids } }).exec();
|
|
25
|
+
}
|
|
26
|
+
return (0, builder_pattern_1.Builder)(delete_many_presenter_1.DeleteManyPresenter).deletedCount(op.deletedCount).build();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.BaseDeleteManyService = BaseDeleteManyService;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseEntity } from '../../models';
|
|
2
|
+
import { DeletedCount } from '../delete-one';
|
|
3
|
+
import { DeleteManyService } from './delete-many-service.interface';
|
|
4
|
+
interface DeleteManyController<Entity extends BaseEntity> {
|
|
5
|
+
deleteMany(ids: string[]): Promise<DeletedCount>;
|
|
6
|
+
}
|
|
7
|
+
type DeleteManyControllerConstructor<Entity extends BaseEntity> = new (service: DeleteManyService<Entity>) => DeleteManyController<Entity>;
|
|
8
|
+
export type { DeleteManyController, DeleteManyControllerConstructor };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DynamicApiControllerOptions, 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, }: DynamicApiControllerOptions<Entity>, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }: DynamicAPIRouteConfig<Entity>, version?: string): DeleteManyControllerConstructor<Entity>;
|
|
6
|
+
export { DeleteManyControllerMixin };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DeleteManyControllerMixin = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const builders_1 = require("../../builders");
|
|
18
|
+
const decorators_1 = require("../../decorators");
|
|
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");
|
|
22
|
+
const delete_many_presenter_1 = require("./delete-many.presenter");
|
|
23
|
+
function DeleteManyControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
24
|
+
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
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
|
+
}
|
|
36
|
+
class RoutePresenter extends (CustomPresenter ?? delete_many_presenter_1.DeleteManyPresenter) {
|
|
37
|
+
}
|
|
38
|
+
if (!CustomPresenter) {
|
|
39
|
+
Object.defineProperty(RoutePresenter, 'name', {
|
|
40
|
+
value: `DeleteMany${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
|
|
41
|
+
writable: false,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
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
|
+
}
|
|
53
|
+
class BaseDeleteManyController {
|
|
54
|
+
constructor(service) {
|
|
55
|
+
this.service = service;
|
|
56
|
+
this.entity = entity;
|
|
57
|
+
}
|
|
58
|
+
async deleteMany(ids) {
|
|
59
|
+
return this.service.deleteMany(ids);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, helpers_1.RouteDecoratorsHelper)(routeDecoratorsBuilder),
|
|
64
|
+
(0, common_1.UseGuards)(DeleteManyPoliciesGuard),
|
|
65
|
+
(0, decorators_1.CheckPolicies)((ability) => ability.can(routeType, entity)),
|
|
66
|
+
__param(0, (0, common_1.Query)('ids')),
|
|
67
|
+
__metadata("design:type", Function),
|
|
68
|
+
__metadata("design:paramtypes", [Array]),
|
|
69
|
+
__metadata("design:returntype", Promise)
|
|
70
|
+
], BaseDeleteManyController.prototype, "deleteMany", null);
|
|
71
|
+
Object.defineProperty(BaseDeleteManyController, 'name', {
|
|
72
|
+
value: `BaseDeleteMany${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
73
|
+
writable: false,
|
|
74
|
+
});
|
|
75
|
+
return BaseDeleteManyController;
|
|
76
|
+
}
|
|
77
|
+
exports.DeleteManyControllerMixin = DeleteManyControllerMixin;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DynamicApiControllerOptions, DynamicAPIRouteConfig, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DeleteManyControllerConstructor } from './delete-many-controller.interface';
|
|
5
|
+
declare function createDeleteManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
+
declare function createDeleteManyController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DeleteManyControllerConstructor<Entity>;
|
|
7
|
+
export { createDeleteManyController, createDeleteManyServiceProvider };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createDeleteManyServiceProvider = exports.createDeleteManyController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
18
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
19
|
+
const mongoose_2 = require("mongoose");
|
|
20
|
+
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
22
|
+
const base_delete_many_service_1 = require("./base-delete-many.service");
|
|
23
|
+
const delete_many_controller_mixin_1 = require("./delete-many-controller.mixin");
|
|
24
|
+
function provideServiceName(entityName, version) {
|
|
25
|
+
return `DeleteMany${entityName}${(0, helpers_1.addVersionSuffix)(version)}Service`;
|
|
26
|
+
}
|
|
27
|
+
function createDeleteManyServiceProvider(entity, version) {
|
|
28
|
+
let DeleteManyService = class DeleteManyService extends base_delete_many_service_1.BaseDeleteManyService {
|
|
29
|
+
constructor(model) {
|
|
30
|
+
super(model);
|
|
31
|
+
this.model = model;
|
|
32
|
+
this.entity = entity;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
DeleteManyService = __decorate([
|
|
36
|
+
__param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
|
|
37
|
+
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
38
|
+
], DeleteManyService);
|
|
39
|
+
Object.defineProperty(DeleteManyService, 'name', {
|
|
40
|
+
value: provideServiceName(entity.name, version),
|
|
41
|
+
writable: false,
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
provide: provideServiceName(entity.name, version),
|
|
45
|
+
useClass: DeleteManyService,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.createDeleteManyServiceProvider = createDeleteManyServiceProvider;
|
|
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) {
|
|
52
|
+
constructor(service) {
|
|
53
|
+
super(service);
|
|
54
|
+
this.service = service;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
DeleteManyController = __decorate([
|
|
58
|
+
(0, common_1.Controller)({ path, version }),
|
|
59
|
+
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
60
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions)),
|
|
61
|
+
(0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
|
|
62
|
+
__param(0, (0, common_1.Inject)(provideServiceName(entity.name, version))),
|
|
63
|
+
__metadata("design:paramtypes", [Object])
|
|
64
|
+
], DeleteManyController);
|
|
65
|
+
Object.defineProperty(DeleteManyController, 'name', {
|
|
66
|
+
value: `DeleteMany${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
67
|
+
writable: false,
|
|
68
|
+
});
|
|
69
|
+
return DeleteManyController;
|
|
70
|
+
}
|
|
71
|
+
exports.createDeleteManyController = createDeleteManyController;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Provider, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DynamicApiControllerOptions, 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: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, extraProviders?: Provider[]): DynamicModule;
|
|
6
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var DeleteManyModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DeleteManyModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const delete_many_helper_1 = require("./delete-many.helper");
|
|
13
|
+
let DeleteManyModule = DeleteManyModule_1 = class DeleteManyModule {
|
|
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
|
+
const ServiceProvider = (0, delete_many_helper_1.createDeleteManyServiceProvider)(entity, version);
|
|
17
|
+
return {
|
|
18
|
+
module: DeleteManyModule_1,
|
|
19
|
+
imports: [databaseModule],
|
|
20
|
+
controllers: [controller],
|
|
21
|
+
providers: [...(extraProviders ?? []), ServiceProvider],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.DeleteManyModule = DeleteManyModule;
|
|
26
|
+
exports.DeleteManyModule = DeleteManyModule = DeleteManyModule_1 = __decorate([
|
|
27
|
+
(0, common_1.Module)({})
|
|
28
|
+
], DeleteManyModule);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DeleteManyPresenter = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
class DeleteManyPresenter {
|
|
15
|
+
}
|
|
16
|
+
exports.DeleteManyPresenter = DeleteManyPresenter;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, swagger_1.ApiProperty)(),
|
|
19
|
+
__metadata("design:type", Number)
|
|
20
|
+
], DeleteManyPresenter.prototype, "deletedCount", void 0);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './base-delete-many.service';
|
|
2
|
+
export * from './delete-many.helper';
|
|
3
|
+
export * from './delete-many.module';
|
|
4
|
+
export * from './delete-many.presenter';
|
|
5
|
+
export * from './delete-many-controller.interface';
|
|
6
|
+
export * from './delete-many-controller.mixin';
|
|
7
|
+
export * from './delete-many-service.interface';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./base-delete-many.service"), exports);
|
|
18
|
+
__exportStar(require("./delete-many.helper"), exports);
|
|
19
|
+
__exportStar(require("./delete-many.module"), exports);
|
|
20
|
+
__exportStar(require("./delete-many.presenter"), exports);
|
|
21
|
+
__exportStar(require("./delete-many-controller.interface"), exports);
|
|
22
|
+
__exportStar(require("./delete-many-controller.mixin"), exports);
|
|
23
|
+
__exportStar(require("./delete-many-service.interface"), exports);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
import { DynamicApiControllerOptions, 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, }: DynamicApiControllerOptions<Entity>, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }: DynamicAPIRouteConfig<Entity>, version?: string): DeleteOneControllerConstructor<Entity>;
|
|
6
|
+
export { DeleteOneControllerMixin };
|
|
@@ -15,17 +15,30 @@ 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,
|
|
22
|
-
const displayedName = apiTag ?? entity.name;
|
|
23
|
-
const { param: CustomParam, presenter: CustomPresenter } =
|
|
24
|
+
function DeleteOneControllerMixin(entity, { path, apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, description, dTOs, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, }, version) {
|
|
25
|
+
const displayedName = (0, helpers_1.pascalCase)(apiTag) ?? entity.name;
|
|
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) {
|
|
27
40
|
Object.defineProperty(RouteParam, 'name', {
|
|
28
|
-
value: `DeleteOne${displayedName}Param`,
|
|
41
|
+
value: `DeleteOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Param`,
|
|
29
42
|
writable: false,
|
|
30
43
|
});
|
|
31
44
|
}
|
|
@@ -33,11 +46,19 @@ function DeleteOneControllerMixin(entity, path, apiTag, version, description, DT
|
|
|
33
46
|
}
|
|
34
47
|
if (!CustomPresenter) {
|
|
35
48
|
Object.defineProperty(RoutePresenter, 'name', {
|
|
36
|
-
value: `DeleteOne${displayedName}Presenter`,
|
|
49
|
+
value: `DeleteOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
|
|
37
50
|
writable: false,
|
|
38
51
|
});
|
|
39
52
|
}
|
|
40
|
-
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DeleteOne', entity,
|
|
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,13 +70,15 @@ 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]),
|
|
55
78
|
__metadata("design:returntype", Promise)
|
|
56
79
|
], BaseDeleteOneController.prototype, "deleteOne", null);
|
|
57
80
|
Object.defineProperty(BaseDeleteOneController, 'name', {
|
|
58
|
-
value: `
|
|
81
|
+
value: `BaseDeleteOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
59
82
|
writable: false,
|
|
60
83
|
});
|
|
61
84
|
return BaseDeleteOneController;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DynamicApiControllerOptions, DynamicAPIRouteConfig, DynamicAPIServiceProvider } from '../../interfaces';
|
|
3
|
+
import { BaseEntity } from '../../models';
|
|
4
|
+
import { DeleteOneControllerConstructor } from './delete-one-controller.interface';
|
|
5
|
+
declare function createDeleteOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined): DynamicAPIServiceProvider;
|
|
6
|
+
declare function createDeleteOneController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DeleteOneControllerConstructor<Entity>;
|
|
7
|
+
export { createDeleteOneController, createDeleteOneServiceProvider };
|
|
@@ -18,12 +18,13 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
18
18
|
const swagger_1 = require("@nestjs/swagger");
|
|
19
19
|
const mongoose_2 = require("mongoose");
|
|
20
20
|
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
21
|
+
const helpers_1 = require("../../helpers");
|
|
21
22
|
const base_delete_one_service_1 = require("./base-delete-one.service");
|
|
22
23
|
const delete_one_controller_mixin_1 = require("./delete-one-controller.mixin");
|
|
23
|
-
function provideServiceName(entityName) {
|
|
24
|
-
return `DeleteOne${entityName}Service`;
|
|
24
|
+
function provideServiceName(entityName, version) {
|
|
25
|
+
return `DeleteOne${entityName}${(0, helpers_1.addVersionSuffix)(version)}Service`;
|
|
25
26
|
}
|
|
26
|
-
function createDeleteOneServiceProvider(entity) {
|
|
27
|
+
function createDeleteOneServiceProvider(entity, version) {
|
|
27
28
|
let DeleteOneService = class DeleteOneService extends base_delete_one_service_1.BaseDeleteOneService {
|
|
28
29
|
constructor(model) {
|
|
29
30
|
super(model);
|
|
@@ -32,21 +33,22 @@ function createDeleteOneServiceProvider(entity) {
|
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
35
|
DeleteOneService = __decorate([
|
|
35
|
-
__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'))),
|
|
36
37
|
__metadata("design:paramtypes", [mongoose_2.Model])
|
|
37
38
|
], DeleteOneService);
|
|
38
39
|
Object.defineProperty(DeleteOneService, 'name', {
|
|
39
|
-
value: provideServiceName(entity.name),
|
|
40
|
+
value: provideServiceName(entity.name, version),
|
|
40
41
|
writable: false,
|
|
41
42
|
});
|
|
42
43
|
return {
|
|
43
|
-
provide: provideServiceName(entity.name),
|
|
44
|
+
provide: provideServiceName(entity.name, version),
|
|
44
45
|
useClass: DeleteOneService,
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
48
|
exports.createDeleteOneServiceProvider = createDeleteOneServiceProvider;
|
|
48
|
-
function createDeleteOneController(entity,
|
|
49
|
-
|
|
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) {
|
|
50
52
|
constructor(service) {
|
|
51
53
|
super(service);
|
|
52
54
|
this.service = service;
|
|
@@ -55,12 +57,13 @@ function createDeleteOneController(entity, path, apiTag, version, description, D
|
|
|
55
57
|
DeleteOneController = __decorate([
|
|
56
58
|
(0, common_1.Controller)({ path, version }),
|
|
57
59
|
(0, swagger_1.ApiTags)(apiTag || entity.name),
|
|
58
|
-
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions
|
|
59
|
-
|
|
60
|
+
(0, common_1.UsePipes)(new common_1.ValidationPipe(validationPipeOptions)),
|
|
61
|
+
(0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
|
|
62
|
+
__param(0, (0, common_1.Inject)(provideServiceName(entity.name, version))),
|
|
60
63
|
__metadata("design:paramtypes", [Object])
|
|
61
64
|
], DeleteOneController);
|
|
62
65
|
Object.defineProperty(DeleteOneController, 'name', {
|
|
63
|
-
value: `DeleteOne${entity.name}Controller`,
|
|
66
|
+
value: `DeleteOne${entity.name}${(0, helpers_1.addVersionSuffix)(version)}Controller`,
|
|
64
67
|
writable: false,
|
|
65
68
|
});
|
|
66
69
|
return DeleteOneController;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule, Provider, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
+
import { DynamicApiControllerOptions, 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: DynamicApiControllerOptions<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,
|
|
16
|
-
const ServiceProvider = (0, delete_one_helper_1.createDeleteOneServiceProvider)(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
|
+
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,33 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
import { Model } from 'mongoose';
|
|
26
|
+
import { BaseEntity } from '../../models';
|
|
27
|
+
import { BaseService } from '../../services';
|
|
28
|
+
import { DuplicateManyService } from './duplicate-many-service.interface';
|
|
29
|
+
export declare abstract class BaseDuplicateManyService<Entity extends BaseEntity> extends BaseService<Entity> implements DuplicateManyService<Entity> {
|
|
30
|
+
protected readonly model: Model<Entity>;
|
|
31
|
+
protected constructor(model: Model<Entity>);
|
|
32
|
+
duplicateMany(ids: string[], partial: Partial<Entity> | undefined): Promise<Entity[]>;
|
|
33
|
+
}
|