@klerick/json-api-nestjs 10.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +58 -0
- package/src/index.d.ts +9 -0
- package/src/index.js +32 -0
- package/src/index.js.map +1 -0
- package/src/lib/constants/constants.d.ts +9 -0
- package/src/lib/constants/constants.js +13 -0
- package/src/lib/constants/constants.js.map +1 -0
- package/src/lib/constants/default.d.ts +2 -0
- package/src/lib/constants/default.js +6 -0
- package/src/lib/constants/default.js.map +1 -0
- package/src/lib/constants/di.d.ts +14 -0
- package/src/lib/constants/di.js +18 -0
- package/src/lib/constants/di.js.map +1 -0
- package/src/lib/constants/index.d.ts +4 -0
- package/src/lib/constants/index.js +8 -0
- package/src/lib/constants/index.js.map +1 -0
- package/src/lib/constants/reflection.d.ts +2 -0
- package/src/lib/constants/reflection.js +6 -0
- package/src/lib/constants/reflection.js.map +1 -0
- package/src/lib/json-api.module.d.ts +5 -0
- package/src/lib/json-api.module.js +40 -0
- package/src/lib/json-api.module.js.map +1 -0
- package/src/lib/modules/atomic-operation/atomic-operation.module.d.ts +8 -0
- package/src/lib/modules/atomic-operation/atomic-operation.module.js +71 -0
- package/src/lib/modules/atomic-operation/atomic-operation.module.js.map +1 -0
- package/src/lib/modules/atomic-operation/constants/index.d.ts +5 -0
- package/src/lib/modules/atomic-operation/constants/index.js +9 -0
- package/src/lib/modules/atomic-operation/constants/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/controllers/index.d.ts +1 -0
- package/src/lib/modules/atomic-operation/controllers/index.js +5 -0
- package/src/lib/modules/atomic-operation/controllers/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/controllers/operation.controller.d.ts +13 -0
- package/src/lib/modules/atomic-operation/controllers/operation.controller.js +98 -0
- package/src/lib/modules/atomic-operation/controllers/operation.controller.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/async-iterator.d.ts +18 -0
- package/src/lib/modules/atomic-operation/factory/async-iterator.js +44 -0
- package/src/lib/modules/atomic-operation/factory/async-iterator.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/index.d.ts +4 -0
- package/src/lib/modules/atomic-operation/factory/index.js +8 -0
- package/src/lib/modules/atomic-operation/factory/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/map-controller-entity.d.ts +4 -0
- package/src/lib/modules/atomic-operation/factory/map-controller-entity.js +20 -0
- package/src/lib/modules/atomic-operation/factory/map-controller-entity.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.d.ts +4 -0
- package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.js +13 -0
- package/src/lib/modules/atomic-operation/factory/map-entity-name-to-entity.js.map +1 -0
- package/src/lib/modules/atomic-operation/factory/zod-input-operation.d.ts +3 -0
- package/src/lib/modules/atomic-operation/factory/zod-input-operation.js +16 -0
- package/src/lib/modules/atomic-operation/factory/zod-input-operation.js.map +1 -0
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.d.ts +7 -0
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js +31 -0
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/execute.service.d.ts +26 -0
- package/src/lib/modules/atomic-operation/service/execute.service.js +233 -0
- package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/explorer.service.d.ts +16 -0
- package/src/lib/modules/atomic-operation/service/explorer.service.js +94 -0
- package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/index.d.ts +3 -0
- package/src/lib/modules/atomic-operation/service/index.js +7 -0
- package/src/lib/modules/atomic-operation/service/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/service/swagger.service.d.ts +7 -0
- package/src/lib/modules/atomic-operation/service/swagger.service.js +99 -0
- package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -0
- package/src/lib/modules/atomic-operation/types/index.d.ts +17 -0
- package/src/lib/modules/atomic-operation/types/index.js +3 -0
- package/src/lib/modules/atomic-operation/types/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/utils/index.d.ts +1 -0
- package/src/lib/modules/atomic-operation/utils/index.js +5 -0
- package/src/lib/modules/atomic-operation/utils/index.js.map +1 -0
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +751 -0
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +100 -0
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -0
- package/src/lib/modules/index.d.ts +2 -0
- package/src/lib/modules/index.js +6 -0
- package/src/lib/modules/index.js.map +1 -0
- package/src/lib/modules/mixin/config/bindings.d.ts +3 -0
- package/src/lib/modules/mixin/config/bindings.js +176 -0
- package/src/lib/modules/mixin/config/bindings.js.map +1 -0
- package/src/lib/modules/mixin/controllers/index.d.ts +1 -0
- package/src/lib/modules/mixin/controllers/index.js +5 -0
- package/src/lib/modules/mixin/controllers/index.js.map +1 -0
- package/src/lib/modules/mixin/controllers/json-base.controller.d.ts +20 -0
- package/src/lib/modules/mixin/controllers/json-base.controller.js +36 -0
- package/src/lib/modules/mixin/controllers/json-base.controller.js.map +1 -0
- package/src/lib/modules/mixin/decorators/index.d.ts +2 -0
- package/src/lib/modules/mixin/decorators/index.js +6 -0
- package/src/lib/modules/mixin/decorators/index.js.map +1 -0
- package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.d.ts +1 -0
- package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.js +9 -0
- package/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.js.map +1 -0
- package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.d.ts +3 -0
- package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.js +14 -0
- package/src/lib/modules/mixin/decorators/json-api/json-api.decorator.js.map +1 -0
- package/src/lib/modules/mixin/factory/index.d.ts +1 -0
- package/src/lib/modules/mixin/factory/index.js +5 -0
- package/src/lib/modules/mixin/factory/index.js.map +1 -0
- package/src/lib/modules/mixin/factory/zod-validate.factory.d.ts +8 -0
- package/src/lib/modules/mixin/factory/zod-validate.factory.js +55 -0
- package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -0
- package/src/lib/modules/mixin/helpers/bind-controller.d.ts +3 -0
- package/src/lib/modules/mixin/helpers/bind-controller.js +81 -0
- package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -0
- package/src/lib/modules/mixin/helpers/create-controller.d.ts +2 -0
- package/src/lib/modules/mixin/helpers/create-controller.js +28 -0
- package/src/lib/modules/mixin/helpers/create-controller.js.map +1 -0
- package/src/lib/modules/mixin/helpers/index.d.ts +2 -0
- package/src/lib/modules/mixin/helpers/index.js +6 -0
- package/src/lib/modules/mixin/helpers/index.js.map +1 -0
- package/src/lib/modules/mixin/helpers/utils.d.ts +9 -0
- package/src/lib/modules/mixin/helpers/utils.js +30 -0
- package/src/lib/modules/mixin/helpers/utils.js.map +1 -0
- package/src/lib/modules/mixin/interceptors/error.interceptors.d.ts +9 -0
- package/src/lib/modules/mixin/interceptors/error.interceptors.js +34 -0
- package/src/lib/modules/mixin/interceptors/error.interceptors.js.map +1 -0
- package/src/lib/modules/mixin/interceptors/index.d.ts +2 -0
- package/src/lib/modules/mixin/interceptors/index.js +6 -0
- package/src/lib/modules/mixin/interceptors/index.js.map +1 -0
- package/src/lib/modules/mixin/interceptors/log-time.interceptors.d.ts +8 -0
- package/src/lib/modules/mixin/interceptors/log-time.interceptors.js +35 -0
- package/src/lib/modules/mixin/interceptors/log-time.interceptors.js.map +1 -0
- package/src/lib/modules/mixin/mixin.module.d.ts +5 -0
- package/src/lib/modules/mixin/mixin.module.js +51 -0
- package/src/lib/modules/mixin/mixin.module.js.map +1 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.d.ts +6 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.js +35 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/check-item-entity.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/index.js +5 -0
- package/src/lib/modules/mixin/pipe/check-item-entity/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/index.d.ts +14 -0
- package/src/lib/modules/mixin/pipe/index.js +67 -0
- package/src/lib/modules/mixin/pipe/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/index.js +5 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.js +35 -0
- package/src/lib/modules/mixin/pipe/parse-relationship-name/parse-relationship-name.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-input/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/patch-input/index.js +5 -0
- package/src/lib/modules/mixin/pipe/patch-input/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/index.js +5 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-input/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/post-input/index.js +5 -0
- package/src/lib/modules/mixin/pipe/post-input/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-relationship/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/post-relationship/index.js +5 -0
- package/src/lib/modules/mixin/pipe/post-relationship/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query/query.pipe.d.ts +6 -0
- package/src/lib/modules/mixin/pipe/query/query.pipe.js +27 -0
- package/src/lib/modules/mixin/pipe/query/query.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.d.ts +6 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.js +26 -0
- package/src/lib/modules/mixin/pipe/query-check-select-field/query-check-select-field.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.d.ts +5 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js +59 -0
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-input/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/query-input/index.js +5 -0
- package/src/lib/modules/mixin/pipe/query-input/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.d.ts +7 -0
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js +30 -0
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js.map +1 -0
- package/src/lib/modules/mixin/service/entity-param-map.service.d.ts +9 -0
- package/src/lib/modules/mixin/service/entity-param-map.service.js +36 -0
- package/src/lib/modules/mixin/service/entity-param-map.service.js.map +1 -0
- package/src/lib/modules/mixin/service/error-format.service.d.ts +6 -0
- package/src/lib/modules/mixin/service/error-format.service.js +43 -0
- package/src/lib/modules/mixin/service/error-format.service.js.map +1 -0
- package/src/lib/modules/mixin/service/index.d.ts +3 -0
- package/src/lib/modules/mixin/service/index.js +7 -0
- package/src/lib/modules/mixin/service/index.js.map +1 -0
- package/src/lib/modules/mixin/service/json-api-transformer.service.d.ts +18 -0
- package/src/lib/modules/mixin/service/json-api-transformer.service.js +228 -0
- package/src/lib/modules/mixin/service/json-api-transformer.service.js.map +1 -0
- package/src/lib/modules/mixin/swagger/filter-operand-model.d.ts +26 -0
- package/src/lib/modules/mixin/swagger/filter-operand-model.js +113 -0
- package/src/lib/modules/mixin/swagger/filter-operand-model.js.map +1 -0
- package/src/lib/modules/mixin/swagger/index.d.ts +1 -0
- package/src/lib/modules/mixin/swagger/index.js +5 -0
- package/src/lib/modules/mixin/swagger/index.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/delete-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/delete-one.js +35 -0
- package/src/lib/modules/mixin/swagger/method/delete-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/delete-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/delete-relationship.js +54 -0
- package/src/lib/modules/mixin/swagger/method/delete-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/get-all.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/get-all.js +241 -0
- package/src/lib/modules/mixin/swagger/method/get-all.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/get-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/get-one.js +93 -0
- package/src/lib/modules/mixin/swagger/method/get-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/get-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/get-relationship.js +48 -0
- package/src/lib/modules/mixin/swagger/method/get-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/index.d.ts +24 -0
- package/src/lib/modules/mixin/swagger/method/index.js +24 -0
- package/src/lib/modules/mixin/swagger/method/index.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/patch-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/patch-one.js +43 -0
- package/src/lib/modules/mixin/swagger/method/patch-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/patch-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/patch-relationship.js +55 -0
- package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/post-one.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/post-one.js +35 -0
- package/src/lib/modules/mixin/swagger/method/post-one.js.map +1 -0
- package/src/lib/modules/mixin/swagger/method/post-relationship.d.ts +4 -0
- package/src/lib/modules/mixin/swagger/method/post-relationship.js +55 -0
- package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -0
- package/src/lib/modules/mixin/swagger/swagger-bind.service.d.ts +9 -0
- package/src/lib/modules/mixin/swagger/swagger-bind.service.js +81 -0
- package/src/lib/modules/mixin/swagger/swagger-bind.service.js.map +1 -0
- package/src/lib/modules/mixin/swagger/utils.d.ts +196 -0
- package/src/lib/modules/mixin/swagger/utils.js +305 -0
- package/src/lib/modules/mixin/swagger/utils.js.map +1 -0
- package/src/lib/modules/mixin/types/binding.type.d.ts +34 -0
- package/src/lib/modules/mixin/types/binding.type.js +3 -0
- package/src/lib/modules/mixin/types/binding.type.js.map +1 -0
- package/src/lib/modules/mixin/types/decorator-options.type.d.ts +9 -0
- package/src/lib/modules/mixin/types/decorator-options.type.js +3 -0
- package/src/lib/modules/mixin/types/decorator-options.type.js.map +1 -0
- package/src/lib/modules/mixin/types/index.d.ts +7 -0
- package/src/lib/modules/mixin/types/index.js +8 -0
- package/src/lib/modules/mixin/types/index.js.map +1 -0
- package/src/lib/modules/mixin/types/module.type.d.ts +6 -0
- package/src/lib/modules/mixin/types/module.type.js +3 -0
- package/src/lib/modules/mixin/types/module.type.js.map +1 -0
- package/src/lib/modules/mixin/types/orm-service.type.d.ts +13 -0
- package/src/lib/modules/mixin/types/orm-service.type.js +3 -0
- package/src/lib/modules/mixin/types/orm-service.type.js.map +1 -0
- package/src/lib/modules/mixin/zod/index.d.ts +7 -0
- package/src/lib/modules/mixin/zod/index.js +10 -0
- package/src/lib/modules/mixin/zod/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +53 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +11 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +17 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +23 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +59 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +11 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +18 -0
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +26 -0
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.d.ts +30 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +45 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.d.ts +1005 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +118 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/include.d.ts +3 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/include.js +19 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/include.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.d.ts +4965 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +22 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.d.ts +3 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.js +34 -0
- package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +15 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +35 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.d.ts +127 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +110 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/include.d.ts +6 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/include.js +17 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/include.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/index.d.ts +22 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/index.js +34 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +19 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +35 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/attributes.d.ts +31 -0
- package/src/lib/modules/mixin/zod/zod-share/attributes.js +85 -0
- package/src/lib/modules/mixin/zod/zod-share/attributes.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/id.d.ts +5 -0
- package/src/lib/modules/mixin/zod/zod-share/id.js +14 -0
- package/src/lib/modules/mixin/zod/zod-share/id.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/index.d.ts +6 -0
- package/src/lib/modules/mixin/zod/zod-share/index.js +10 -0
- package/src/lib/modules/mixin/zod/zod-share/index.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/page.d.ts +12 -0
- package/src/lib/modules/mixin/zod/zod-share/page.js +22 -0
- package/src/lib/modules/mixin/zod/zod-share/page.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/rel-data.d.ts +50 -0
- package/src/lib/modules/mixin/zod/zod-share/rel-data.js +26 -0
- package/src/lib/modules/mixin/zod/zod-share/rel-data.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/relationships.d.ts +325 -0
- package/src/lib/modules/mixin/zod/zod-share/relationships.js +34 -0
- package/src/lib/modules/mixin/zod/zod-share/relationships.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-share/type.d.ts +8 -0
- package/src/lib/modules/mixin/zod/zod-share/type.js +8 -0
- package/src/lib/modules/mixin/zod/zod-share/type.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-utils.d.ts +15 -0
- package/src/lib/modules/mixin/zod/zod-utils.js +72 -0
- package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -0
- package/src/lib/types/common-type.d.ts +5 -0
- package/src/lib/types/common-type.js +3 -0
- package/src/lib/types/common-type.js.map +1 -0
- package/src/lib/types/entity-param.type.d.ts +49 -0
- package/src/lib/types/entity-param.type.js +14 -0
- package/src/lib/types/entity-param.type.js.map +1 -0
- package/src/lib/types/error.types.d.ts +10 -0
- package/src/lib/types/error.types.js +3 -0
- package/src/lib/types/error.types.js.map +1 -0
- package/src/lib/types/index.d.ts +5 -0
- package/src/lib/types/index.js +9 -0
- package/src/lib/types/index.js.map +1 -0
- package/src/lib/types/module-options.types.d.ts +47 -0
- package/src/lib/types/module-options.types.js +3 -0
- package/src/lib/types/module-options.types.js.map +1 -0
- package/src/lib/types/utils-type.d.ts +12 -0
- package/src/lib/types/utils-type.js +3 -0
- package/src/lib/types/utils-type.js.map +1 -0
- package/src/lib/utils/index.d.ts +1 -0
- package/src/lib/utils/index.js +5 -0
- package/src/lib/utils/index.js.map +1 -0
- package/src/lib/utils/module-helper.d.ts +4 -0
- package/src/lib/utils/module-helper.js +27 -0
- package/src/lib/utils/module-helper.js.map +1 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.zodOperationRel = exports.zodRemove = exports.zodUpdate = exports.zodAdd = void 0;
|
|
4
|
+
exports.zodInputOperation = zodInputOperation;
|
|
5
|
+
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const change_case_commonjs_1 = require("change-case-commonjs");
|
|
8
|
+
const literalSchema = zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean(), zod_1.z.null()]);
|
|
9
|
+
const jsonSchema = zod_1.z.lazy(() => zod_1.z.union([literalSchema, zod_1.z.array(jsonSchema), zod_1.z.record(jsonSchema)]));
|
|
10
|
+
const zodGeneralData = jsonSchema.nullable();
|
|
11
|
+
const zodAdd = (type) => zod_1.z
|
|
12
|
+
.object({
|
|
13
|
+
op: zod_1.z.literal(json_api_nestjs_shared_1.Operation.add),
|
|
14
|
+
ref: zod_1.z
|
|
15
|
+
.object({
|
|
16
|
+
type: zod_1.z.literal(type),
|
|
17
|
+
tmpId: zod_1.z.union([zod_1.z.number(), zod_1.z.string()]).optional(),
|
|
18
|
+
})
|
|
19
|
+
.strict(),
|
|
20
|
+
data: zodGeneralData,
|
|
21
|
+
})
|
|
22
|
+
.strict();
|
|
23
|
+
exports.zodAdd = zodAdd;
|
|
24
|
+
const zodUpdate = (type) => zod_1.z
|
|
25
|
+
.object({
|
|
26
|
+
op: zod_1.z.literal(json_api_nestjs_shared_1.Operation.update),
|
|
27
|
+
ref: zod_1.z
|
|
28
|
+
.object({
|
|
29
|
+
type: zod_1.z.literal(type),
|
|
30
|
+
id: zod_1.z.string(),
|
|
31
|
+
})
|
|
32
|
+
.strict(),
|
|
33
|
+
data: zodGeneralData,
|
|
34
|
+
})
|
|
35
|
+
.strict();
|
|
36
|
+
exports.zodUpdate = zodUpdate;
|
|
37
|
+
const zodRemove = (type) => zod_1.z
|
|
38
|
+
.object({
|
|
39
|
+
op: zod_1.z.literal(json_api_nestjs_shared_1.Operation.remove),
|
|
40
|
+
ref: zod_1.z
|
|
41
|
+
.object({
|
|
42
|
+
type: zod_1.z.literal(type),
|
|
43
|
+
id: zod_1.z.string(),
|
|
44
|
+
})
|
|
45
|
+
.strict(),
|
|
46
|
+
})
|
|
47
|
+
.strict();
|
|
48
|
+
exports.zodRemove = zodRemove;
|
|
49
|
+
const zodOperationRel = (type, rel, typeOperation) => {
|
|
50
|
+
const literalArray = rel.map((i) => zod_1.z.literal(i));
|
|
51
|
+
return zod_1.z
|
|
52
|
+
.object({
|
|
53
|
+
op: zod_1.z.literal(typeOperation),
|
|
54
|
+
ref: zod_1.z
|
|
55
|
+
.object({
|
|
56
|
+
type: zod_1.z.literal(type),
|
|
57
|
+
id: zod_1.z.string(),
|
|
58
|
+
relationship: zod_1.z.union(literalArray),
|
|
59
|
+
})
|
|
60
|
+
.strict(),
|
|
61
|
+
data: zodGeneralData,
|
|
62
|
+
})
|
|
63
|
+
.strict();
|
|
64
|
+
};
|
|
65
|
+
exports.zodOperationRel = zodOperationRel;
|
|
66
|
+
function zodInputOperation(mapController, entityMapProps) {
|
|
67
|
+
const array = [];
|
|
68
|
+
for (const [entity, controller] of mapController.entries()) {
|
|
69
|
+
const typeName = (0, change_case_commonjs_1.kebabCase)((0, json_api_nestjs_shared_1.getEntityName)(entity));
|
|
70
|
+
const entityMap = entityMapProps.get(entity);
|
|
71
|
+
if (!entityMap)
|
|
72
|
+
throw new Error('Entity not found in map');
|
|
73
|
+
const { relations } = entityMap;
|
|
74
|
+
const hasOwnProperty = (props) => Object.prototype.hasOwnProperty.call(controller.prototype, props);
|
|
75
|
+
if (hasOwnProperty('postOne')) {
|
|
76
|
+
array.push((0, exports.zodAdd)(typeName));
|
|
77
|
+
}
|
|
78
|
+
if (hasOwnProperty('patchOne')) {
|
|
79
|
+
array.push((0, exports.zodUpdate)(typeName));
|
|
80
|
+
}
|
|
81
|
+
if (hasOwnProperty('deleteOne')) {
|
|
82
|
+
array.push((0, exports.zodRemove)(typeName));
|
|
83
|
+
}
|
|
84
|
+
if (hasOwnProperty('postRelationship')) {
|
|
85
|
+
array.push((0, exports.zodOperationRel)(typeName, relations, json_api_nestjs_shared_1.Operation.add));
|
|
86
|
+
}
|
|
87
|
+
if (hasOwnProperty('deleteRelationship')) {
|
|
88
|
+
array.push((0, exports.zodOperationRel)(typeName, relations, json_api_nestjs_shared_1.Operation.remove));
|
|
89
|
+
}
|
|
90
|
+
if (hasOwnProperty('patchRelationship')) {
|
|
91
|
+
array.push((0, exports.zodOperationRel)(typeName, relations, json_api_nestjs_shared_1.Operation.update));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return zod_1.z
|
|
95
|
+
.object({
|
|
96
|
+
[json_api_nestjs_shared_1.KEY_MAIN_INPUT_SCHEMA]: zod_1.z.array(zod_1.z.union(array)).nonempty(),
|
|
97
|
+
})
|
|
98
|
+
.strict();
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=zod-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-helper.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/utils/zod/zod-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./mixin/mixin.module"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./atomic-operation/atomic-operation.module"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,qFAA2D"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bindings = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const json_base_controller_1 = require("../controllers/json-base.controller");
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
const pipe_1 = require("../pipe");
|
|
8
|
+
const Bindings = {
|
|
9
|
+
getAll: {
|
|
10
|
+
method: common_1.RequestMethod.GET,
|
|
11
|
+
name: 'getAll',
|
|
12
|
+
path: '/',
|
|
13
|
+
implementation: json_base_controller_1.JsonBaseController.prototype.getAll,
|
|
14
|
+
parameters: [
|
|
15
|
+
{
|
|
16
|
+
decorator: common_1.Query,
|
|
17
|
+
mixins: [
|
|
18
|
+
pipe_1.queryInputMixin,
|
|
19
|
+
pipe_1.queryMixin,
|
|
20
|
+
pipe_1.queryFiledInIncludeMixin,
|
|
21
|
+
pipe_1.queryCheckSelectFieldMixin,
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
getOne: {
|
|
27
|
+
method: common_1.RequestMethod.GET,
|
|
28
|
+
name: 'getOne',
|
|
29
|
+
path: `:${constants_1.PARAMS_RESOURCE_ID}`,
|
|
30
|
+
implementation: json_base_controller_1.JsonBaseController.prototype.getOne,
|
|
31
|
+
parameters: [
|
|
32
|
+
{
|
|
33
|
+
property: constants_1.PARAMS_RESOURCE_ID,
|
|
34
|
+
decorator: common_1.Param,
|
|
35
|
+
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
decorator: common_1.Query,
|
|
39
|
+
mixins: [
|
|
40
|
+
pipe_1.queryInputMixin,
|
|
41
|
+
pipe_1.queryMixin,
|
|
42
|
+
pipe_1.queryFiledInIncludeMixin,
|
|
43
|
+
pipe_1.queryCheckSelectFieldMixin,
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
deleteOne: {
|
|
49
|
+
method: common_1.RequestMethod.DELETE,
|
|
50
|
+
name: 'deleteOne',
|
|
51
|
+
path: `:${constants_1.PARAMS_RESOURCE_ID}`,
|
|
52
|
+
implementation: json_base_controller_1.JsonBaseController.prototype.deleteOne,
|
|
53
|
+
parameters: [
|
|
54
|
+
{
|
|
55
|
+
property: constants_1.PARAMS_RESOURCE_ID,
|
|
56
|
+
decorator: common_1.Param,
|
|
57
|
+
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
postOne: {
|
|
62
|
+
method: common_1.RequestMethod.POST,
|
|
63
|
+
name: 'postOne',
|
|
64
|
+
path: '/',
|
|
65
|
+
implementation: json_base_controller_1.JsonBaseController.prototype.postOne,
|
|
66
|
+
parameters: [
|
|
67
|
+
{
|
|
68
|
+
decorator: common_1.Body,
|
|
69
|
+
mixins: [pipe_1.postInputPipeMixin],
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
patchOne: {
|
|
74
|
+
method: common_1.RequestMethod.PATCH,
|
|
75
|
+
name: 'patchOne',
|
|
76
|
+
path: `:${constants_1.PARAMS_RESOURCE_ID}`,
|
|
77
|
+
implementation: json_base_controller_1.JsonBaseController.prototype.patchOne,
|
|
78
|
+
parameters: [
|
|
79
|
+
{
|
|
80
|
+
property: constants_1.PARAMS_RESOURCE_ID,
|
|
81
|
+
decorator: common_1.Param,
|
|
82
|
+
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
decorator: common_1.Body,
|
|
86
|
+
mixins: [pipe_1.patchInputPipeMixin],
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
getRelationship: {
|
|
91
|
+
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
|
|
92
|
+
name: 'getRelationship',
|
|
93
|
+
method: common_1.RequestMethod.GET,
|
|
94
|
+
implementation: json_base_controller_1.JsonBaseController.prototype.getRelationship,
|
|
95
|
+
parameters: [
|
|
96
|
+
{
|
|
97
|
+
property: constants_1.PARAMS_RESOURCE_ID,
|
|
98
|
+
decorator: common_1.Param,
|
|
99
|
+
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
property: constants_1.PARAMS_RELATION_NAME,
|
|
103
|
+
decorator: common_1.Param,
|
|
104
|
+
mixins: [pipe_1.parseRelationshipNamePipeMixin],
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
postRelationship: {
|
|
109
|
+
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
|
|
110
|
+
name: 'postRelationship',
|
|
111
|
+
method: common_1.RequestMethod.POST,
|
|
112
|
+
implementation: json_base_controller_1.JsonBaseController.prototype['postRelationship'],
|
|
113
|
+
parameters: [
|
|
114
|
+
{
|
|
115
|
+
property: constants_1.PARAMS_RESOURCE_ID,
|
|
116
|
+
decorator: common_1.Param,
|
|
117
|
+
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
property: constants_1.PARAMS_RELATION_NAME,
|
|
121
|
+
decorator: common_1.Param,
|
|
122
|
+
mixins: [pipe_1.parseRelationshipNamePipeMixin],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
decorator: common_1.Body,
|
|
126
|
+
mixins: [pipe_1.postRelationshipPipeMixin],
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
},
|
|
130
|
+
deleteRelationship: {
|
|
131
|
+
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
|
|
132
|
+
name: 'deleteRelationship',
|
|
133
|
+
method: common_1.RequestMethod.DELETE,
|
|
134
|
+
implementation: json_base_controller_1.JsonBaseController.prototype['deleteRelationship'],
|
|
135
|
+
parameters: [
|
|
136
|
+
{
|
|
137
|
+
property: constants_1.PARAMS_RESOURCE_ID,
|
|
138
|
+
decorator: common_1.Param,
|
|
139
|
+
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
property: constants_1.PARAMS_RELATION_NAME,
|
|
143
|
+
decorator: common_1.Param,
|
|
144
|
+
mixins: [pipe_1.parseRelationshipNamePipeMixin],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
decorator: common_1.Body,
|
|
148
|
+
mixins: [pipe_1.postRelationshipPipeMixin],
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
patchRelationship: {
|
|
153
|
+
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
|
|
154
|
+
name: 'patchRelationship',
|
|
155
|
+
method: common_1.RequestMethod.PATCH,
|
|
156
|
+
implementation: json_base_controller_1.JsonBaseController.prototype['patchRelationship'],
|
|
157
|
+
parameters: [
|
|
158
|
+
{
|
|
159
|
+
property: constants_1.PARAMS_RESOURCE_ID,
|
|
160
|
+
decorator: common_1.Param,
|
|
161
|
+
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
property: constants_1.PARAMS_RELATION_NAME,
|
|
165
|
+
decorator: common_1.Param,
|
|
166
|
+
mixins: [pipe_1.parseRelationshipNamePipeMixin],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
decorator: common_1.Body,
|
|
170
|
+
mixins: [pipe_1.patchRelationshipPipeMixin],
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
exports.Bindings = Bindings;
|
|
176
|
+
//# sourceMappingURL=bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/config/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './json-base.controller';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/controllers/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ResourceObject, ResourceObjectRelationships, RelationKeys } from '@klerick/json-api-nestjs-shared';
|
|
2
|
+
import { PatchData, PatchRelationshipData, PostData, PostRelationshipData, Query, QueryOne } from '../zod';
|
|
3
|
+
import { OrmService, MethodName } from '../types';
|
|
4
|
+
import { ORM_SERVICE_PROPS } from '../../../constants';
|
|
5
|
+
type RequestMethodeObject<E extends object, Idkey extends string> = {
|
|
6
|
+
[K in MethodName]: OrmService<E, Idkey>[K];
|
|
7
|
+
};
|
|
8
|
+
export declare class JsonBaseController<E extends object, IdKey extends string = 'id'> implements RequestMethodeObject<E, IdKey> {
|
|
9
|
+
private [ORM_SERVICE_PROPS];
|
|
10
|
+
getOne(id: string | number, query: QueryOne<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
11
|
+
getAll(query: Query<E, IdKey>): Promise<ResourceObject<E, 'array', null, IdKey>>;
|
|
12
|
+
deleteOne(id: string | number): Promise<void>;
|
|
13
|
+
patchOne(id: string | number, inputData: PatchData<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
14
|
+
postOne(inputData: PostData<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
15
|
+
getRelationship<Rel extends RelationKeys<E, IdKey>>(id: string | number, relName: Rel): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
16
|
+
postRelationship<Rel extends RelationKeys<E, IdKey>>(id: string | number, relName: Rel, input: PostRelationshipData): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
17
|
+
deleteRelationship<Rel extends RelationKeys<E, IdKey>>(id: string | number, relName: Rel, input: PostRelationshipData): Promise<void>;
|
|
18
|
+
patchRelationship<Rel extends RelationKeys<E, IdKey>>(id: string | number, relName: Rel, input: PatchRelationshipData): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonBaseController = void 0;
|
|
4
|
+
const constants_1 = require("../../../constants");
|
|
5
|
+
class JsonBaseController {
|
|
6
|
+
[constants_1.ORM_SERVICE_PROPS];
|
|
7
|
+
getOne(id, query) {
|
|
8
|
+
return this[constants_1.ORM_SERVICE_PROPS].getOne(id, query);
|
|
9
|
+
}
|
|
10
|
+
getAll(query) {
|
|
11
|
+
return this[constants_1.ORM_SERVICE_PROPS].getAll(query);
|
|
12
|
+
}
|
|
13
|
+
deleteOne(id) {
|
|
14
|
+
return this[constants_1.ORM_SERVICE_PROPS].deleteOne(id);
|
|
15
|
+
}
|
|
16
|
+
patchOne(id, inputData) {
|
|
17
|
+
return this[constants_1.ORM_SERVICE_PROPS].patchOne(id, inputData);
|
|
18
|
+
}
|
|
19
|
+
postOne(inputData) {
|
|
20
|
+
return this[constants_1.ORM_SERVICE_PROPS].postOne(inputData);
|
|
21
|
+
}
|
|
22
|
+
getRelationship(id, relName) {
|
|
23
|
+
return this[constants_1.ORM_SERVICE_PROPS].getRelationship(id, relName);
|
|
24
|
+
}
|
|
25
|
+
postRelationship(id, relName, input) {
|
|
26
|
+
return this[constants_1.ORM_SERVICE_PROPS].postRelationship(id, relName, input);
|
|
27
|
+
}
|
|
28
|
+
deleteRelationship(id, relName, input) {
|
|
29
|
+
return this[constants_1.ORM_SERVICE_PROPS].deleteRelationship(id, relName, input);
|
|
30
|
+
}
|
|
31
|
+
patchRelationship(id, relName, input) {
|
|
32
|
+
return this[constants_1.ORM_SERVICE_PROPS].patchRelationship(id, relName, input);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.JsonBaseController = JsonBaseController;
|
|
36
|
+
//# sourceMappingURL=json-base.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-base.controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/controllers/json-base.controller.ts"],"names":[],"mappings":";;;AAiBA,kDAAuD;AAMvD,MAAa,kBAAkB;IAGrB,CAAC,6BAAiB,CAAC,CAAwB;IAEnD,MAAM,CACJ,EAAmB,EACnB,KAAyB;QAEzB,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CACJ,KAAsB;QAEtB,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,SAAS,CAAC,EAAmB;QAC3B,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ,CACN,EAAmB,EACnB,SAA8B;QAE9B,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CACL,SAA6B;QAE7B,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,eAAe,CACb,EAAmB,EACnB,OAAY;QAEZ,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,gBAAgB,CACd,EAAmB,EACnB,OAAY,EACZ,KAA2B;QAE3B,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,kBAAkB,CAChB,EAAmB,EACnB,OAAY,EACZ,KAA2B;QAE3B,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,iBAAiB,CACf,EAAmB,EACnB,OAAY,EACZ,KAA4B;QAE5B,OAAO,IAAI,CAAC,6BAAiB,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;CACF;AA9DD,gDA8DC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./json-api/json-api.decorator"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./inject-service/inject-service.decorator"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/decorators/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,oFAA0D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function InjectService(): PropertyDecorator & ParameterDecorator;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InjectService = InjectService;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const constants_1 = require("../../../../constants");
|
|
6
|
+
function InjectService() {
|
|
7
|
+
return (0, common_1.Inject)(constants_1.ORM_SERVICE);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=inject-service.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-service.decorator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/decorators/inject-service/inject-service.decorator.ts"],"names":[],"mappings":";;AAIA,sCAEC;AAND,2CAAwC;AAExC,qDAAoD;AAEpD,SAAgB,aAAa;IAC3B,OAAO,IAAA,eAAM,EAAC,uBAAW,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonApi = JsonApi;
|
|
4
|
+
const constants_1 = require("../../../../constants");
|
|
5
|
+
function JsonApi(entity, options) {
|
|
6
|
+
return (target) => {
|
|
7
|
+
Reflect.defineMetadata(constants_1.JSON_API_DECORATOR_ENTITY, entity, target);
|
|
8
|
+
if (options) {
|
|
9
|
+
Reflect.defineMetadata(constants_1.JSON_API_DECORATOR_OPTIONS, options, target);
|
|
10
|
+
}
|
|
11
|
+
return target;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=json-api.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-api.decorator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/decorators/json-api/json-api.decorator.ts"],"names":[],"mappings":";;AAOA,0BAWC;AAjBD,qDAG+B;AAG/B,SAAgB,OAAO,CACrB,MAA8B,EAC9B,OAA0B;IAE1B,OAAO,CAAC,MAAM,EAAiB,EAAE;QAC/B,OAAO,CAAC,cAAc,CAAC,qCAAyB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,cAAc,CAAC,sCAA0B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './zod-validate.factory';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/factory/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ZodInputQuery, ZodQuery, ZodPost, ZodPatch, ZodPostRelationship, ZodPatchRelationship } from '../zod';
|
|
2
|
+
import { FactoryProvider, ValueProvider } from '@nestjs/common';
|
|
3
|
+
export declare function ZodInputQuerySchema<E extends object, IdKey extends string = 'id'>(): FactoryProvider<ZodInputQuery<E, IdKey>>;
|
|
4
|
+
export declare function ZodQuerySchema<E extends object, IdKey extends string = 'id'>(): FactoryProvider<ZodQuery<E, IdKey>>;
|
|
5
|
+
export declare function ZodPostSchema<E extends object, IdKey extends string = 'id'>(): FactoryProvider<ZodPost<E, IdKey>>;
|
|
6
|
+
export declare function ZodPatchSchema<E extends object, IdKey extends string = 'id'>(): FactoryProvider<ZodPatch<E, IdKey>>;
|
|
7
|
+
export declare const ZodInputPostRelationshipSchema: ValueProvider<ZodPostRelationship>;
|
|
8
|
+
export declare const ZodInputPatchRelationshipSchema: ValueProvider<ZodPatchRelationship>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZodInputPatchRelationshipSchema = exports.ZodInputPostRelationshipSchema = void 0;
|
|
4
|
+
exports.ZodInputQuerySchema = ZodInputQuerySchema;
|
|
5
|
+
exports.ZodQuerySchema = ZodQuerySchema;
|
|
6
|
+
exports.ZodPostSchema = ZodPostSchema;
|
|
7
|
+
exports.ZodPatchSchema = ZodPatchSchema;
|
|
8
|
+
const zod_1 = require("../zod");
|
|
9
|
+
const constants_1 = require("../../../constants");
|
|
10
|
+
const service_1 = require("../service");
|
|
11
|
+
function ZodInputQuerySchema() {
|
|
12
|
+
return {
|
|
13
|
+
provide: constants_1.ZOD_INPUT_QUERY_SCHEMA,
|
|
14
|
+
inject: [service_1.EntityParamMapService],
|
|
15
|
+
useFactory: (entityParamMapService) => {
|
|
16
|
+
return (0, zod_1.zodInputQuery)(entityParamMapService);
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function ZodQuerySchema() {
|
|
21
|
+
return {
|
|
22
|
+
provide: constants_1.ZOD_QUERY_SCHEMA,
|
|
23
|
+
inject: [service_1.EntityParamMapService],
|
|
24
|
+
useFactory: (entityParamMapService) => {
|
|
25
|
+
return (0, zod_1.zodQuery)(entityParamMapService);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function ZodPostSchema() {
|
|
30
|
+
return {
|
|
31
|
+
provide: constants_1.ZOD_POST_SCHEMA,
|
|
32
|
+
inject: [service_1.EntityParamMapService],
|
|
33
|
+
useFactory: (entityParamMapService) => {
|
|
34
|
+
return (0, zod_1.zodPost)(entityParamMapService);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function ZodPatchSchema() {
|
|
39
|
+
return {
|
|
40
|
+
provide: constants_1.ZOD_PATCH_SCHEMA,
|
|
41
|
+
inject: [service_1.EntityParamMapService],
|
|
42
|
+
useFactory: (entityParamMapService) => {
|
|
43
|
+
return (0, zod_1.zodPatch)(entityParamMapService);
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.ZodInputPostRelationshipSchema = {
|
|
48
|
+
provide: constants_1.ZOD_POST_RELATIONSHIP_SCHEMA,
|
|
49
|
+
useValue: zod_1.zodPostRelationship,
|
|
50
|
+
};
|
|
51
|
+
exports.ZodInputPatchRelationshipSchema = {
|
|
52
|
+
provide: constants_1.ZOD_PATCH_RELATIONSHIP_SCHEMA,
|
|
53
|
+
useValue: zod_1.zodPatchRelationship,
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=zod-validate.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-validate.factory.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/factory/zod-validate.factory.ts"],"names":[],"mappings":";;;AA2BA,kDAWC;AACD,wCAWC;AACD,sCAWC;AAED,wCAWC;AA3ED,gCAagB;AAEhB,kDAO4B;AAE5B,wCAAmD;AAGnD,SAAgB,mBAAmB;IAIjC,OAAO;QACL,OAAO,EAAE,kCAAsB;QAC/B,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,mBAAa,EAAC,qBAAqB,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AACD,SAAgB,cAAc;IAI5B,OAAO;QACL,OAAO,EAAE,4BAAgB;QACzB,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,cAAQ,EAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AACD,SAAgB,aAAa;IAI3B,OAAO;QACL,OAAO,EAAE,2BAAe;QACxB,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,aAAO,EAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc;IAI5B,OAAO;QACL,OAAO,EAAE,4BAAgB;QACzB,MAAM,EAAE,CAAC,+BAAqB,CAAC;QAC/B,UAAU,EAAE,CAAC,qBAAsD,EAAE,EAAE;YACrE,OAAO,IAAA,cAAQ,EAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AACY,QAAA,8BAA8B,GACzC;IACE,OAAO,EAAE,wCAA4B;IACrC,QAAQ,EAAE,yBAAmB;CAC9B,CAAC;AAES,QAAA,+BAA+B,GAC1C;IACE,OAAO,EAAE,yCAA6B;IACtC,QAAQ,EAAE,0BAAoB;CAC/B,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { EntityControllerParam } from '../types';
|
|
2
|
+
import { ModuleMixinOptions, NestController, ExtractNestType } from '../../../types';
|
|
3
|
+
export declare function bindController(controller: ExtractNestType<NestController>, entity: ModuleMixinOptions['entity'], config: EntityControllerParam): void;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bindController = bindController;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const constants_1 = require("@nestjs/common/constants");
|
|
6
|
+
const route_paramtypes_enum_1 = require("@nestjs/common/enums/route-paramtypes.enum");
|
|
7
|
+
const bindings_1 = require("../config/bindings");
|
|
8
|
+
const constants_2 = require("../../../constants");
|
|
9
|
+
function bindController(controller, entity, config) {
|
|
10
|
+
for (const methodName in bindings_1.Bindings) {
|
|
11
|
+
const { name, path, parameters, method, implementation } = bindings_1.Bindings[methodName];
|
|
12
|
+
const decoratorOptions = Reflect.getMetadata(constants_2.JSON_API_DECORATOR_OPTIONS, controller);
|
|
13
|
+
if (decoratorOptions) {
|
|
14
|
+
const { allowMethod = Object.keys(bindings_1.Bindings) } = decoratorOptions;
|
|
15
|
+
if (!allowMethod.includes(name))
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (!Object.prototype.hasOwnProperty.call(controller.prototype, name)) {
|
|
19
|
+
// need uniq descriptor for correct work swagger
|
|
20
|
+
Reflect.defineProperty(controller.prototype, name, {
|
|
21
|
+
value: function (...arg) {
|
|
22
|
+
return this.constructor.__proto__.prototype[name].call(this, ...arg);
|
|
23
|
+
},
|
|
24
|
+
writable: true,
|
|
25
|
+
enumerable: false,
|
|
26
|
+
configurable: true,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(controller.prototype, name);
|
|
30
|
+
if (!descriptor) {
|
|
31
|
+
throw new Error(`Descriptor for "${controller.name}[${name}]" is undefined`);
|
|
32
|
+
}
|
|
33
|
+
switch (method) {
|
|
34
|
+
case common_1.RequestMethod.GET: {
|
|
35
|
+
(0, common_1.Get)(path)(controller.prototype, name, descriptor);
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
case common_1.RequestMethod.DELETE: {
|
|
39
|
+
(0, common_1.HttpCode)(204)(controller.prototype, name, descriptor);
|
|
40
|
+
(0, common_1.Delete)(path)(controller.prototype, name, descriptor);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case common_1.RequestMethod.POST: {
|
|
44
|
+
(0, common_1.Post)(path)(controller.prototype, name, descriptor);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case common_1.RequestMethod.PATCH: {
|
|
48
|
+
(0, common_1.Patch)(path)(controller.prototype, name, descriptor);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
default: {
|
|
52
|
+
throw new Error(`Method '${method}' unsupported`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const paramsMetadata = Reflect.getMetadata(constants_1.ROUTE_ARGS_METADATA, controller.prototype.constructor, name);
|
|
56
|
+
for (const key in parameters) {
|
|
57
|
+
const parameter = parameters[key];
|
|
58
|
+
const { property, decorator, mixins } = parameter;
|
|
59
|
+
const resultMixin = mixins.map((mixin) => mixin(entity, config));
|
|
60
|
+
if (paramsMetadata) {
|
|
61
|
+
let typeDecorator;
|
|
62
|
+
switch (decorator) {
|
|
63
|
+
case common_1.Query:
|
|
64
|
+
typeDecorator = route_paramtypes_enum_1.RouteParamtypes.QUERY;
|
|
65
|
+
break;
|
|
66
|
+
case common_1.Param:
|
|
67
|
+
typeDecorator = route_paramtypes_enum_1.RouteParamtypes.PARAM;
|
|
68
|
+
break;
|
|
69
|
+
case common_1.Body:
|
|
70
|
+
typeDecorator = route_paramtypes_enum_1.RouteParamtypes.BODY;
|
|
71
|
+
}
|
|
72
|
+
const tmp = Object.entries(paramsMetadata)
|
|
73
|
+
.filter(([k, v]) => k.split(':').at(0) === typeDecorator.toString())
|
|
74
|
+
.reduce((acum, [k, v]) => (acum.push(...v.pipes), acum), []);
|
|
75
|
+
resultMixin.push(...tmp);
|
|
76
|
+
}
|
|
77
|
+
decorator(property, ...resultMixin)(controller.prototype, name, parseInt(key, 10));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=bind-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bind-controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/helpers/bind-controller.ts"],"names":[],"mappings":"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"}
|