@nest-omni/core 1.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/dist/boilerplate.polyfill.d.ts +39 -0
- package/dist/boilerplate.polyfill.js +66 -0
- package/dist/boilerplate.polyfill.js.map +1 -0
- package/dist/common/abstract-client.service.d.ts +16 -0
- package/dist/common/abstract-client.service.js +26 -0
- package/dist/common/abstract-client.service.js.map +1 -0
- package/dist/common/abstract.entity.d.ts +17 -0
- package/dist/common/abstract.entity.js +71 -0
- package/dist/common/abstract.entity.js.map +1 -0
- package/dist/common/dto/abstract.dto.d.ts +13 -0
- package/dist/common/dto/abstract.dto.js +63 -0
- package/dist/common/dto/abstract.dto.js.map +1 -0
- package/dist/common/dto/bulk-id.dto.d.ts +3 -0
- package/dist/common/dto/bulk-id.dto.js +29 -0
- package/dist/common/dto/bulk-id.dto.js.map +1 -0
- package/dist/common/dto/create-translation.dto.d.ts +5 -0
- package/dist/common/dto/create-translation.dto.js +28 -0
- package/dist/common/dto/create-translation.dto.js.map +1 -0
- package/dist/common/dto/page-meta.dto.d.ts +15 -0
- package/dist/common/dto/page-meta.dto.js +55 -0
- package/dist/common/dto/page-meta.dto.js.map +1 -0
- package/dist/common/dto/page-options.dto.d.ts +8 -0
- package/dist/common/dto/page-options.dto.js +52 -0
- package/dist/common/dto/page-options.dto.js.map +1 -0
- package/dist/common/dto/page.dto.d.ts +11 -0
- package/dist/common/dto/page.dto.js +61 -0
- package/dist/common/dto/page.dto.js.map +1 -0
- package/dist/common/utils.d.ts +3 -0
- package/dist/common/utils.js +26 -0
- package/dist/common/utils.js.map +1 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.js +21 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/language-code.d.ts +5 -0
- package/dist/constants/language-code.js +10 -0
- package/dist/constants/language-code.js.map +1 -0
- package/dist/constants/order.d.ts +4 -0
- package/dist/constants/order.js +9 -0
- package/dist/constants/order.js.map +1 -0
- package/dist/constants/role-type.d.ts +4 -0
- package/dist/constants/role-type.js +9 -0
- package/dist/constants/role-type.js.map +1 -0
- package/dist/constants/token-type.d.ts +4 -0
- package/dist/constants/token-type.js +9 -0
- package/dist/constants/token-type.js.map +1 -0
- package/dist/decorators/api-page-ok-response.decorator.d.ts +5 -0
- package/dist/decorators/api-page-ok-response.decorator.js +26 -0
- package/dist/decorators/api-page-ok-response.decorator.js.map +1 -0
- package/dist/decorators/auth-user.decorator.d.ts +1 -0
- package/dist/decorators/auth-user.decorator.js +16 -0
- package/dist/decorators/auth-user.decorator.js.map +1 -0
- package/dist/decorators/controller.decorator.d.ts +1 -0
- package/dist/decorators/controller.decorator.js +12 -0
- package/dist/decorators/controller.decorator.js.map +1 -0
- package/dist/decorators/field.decorators.d.ts +71 -0
- package/dist/decorators/field.decorators.js +457 -0
- package/dist/decorators/field.decorators.js.map +1 -0
- package/dist/decorators/http.decorators.d.ts +3 -0
- package/dist/decorators/http.decorators.js +9 -0
- package/dist/decorators/http.decorators.js.map +1 -0
- package/dist/decorators/index.d.ts +12 -0
- package/dist/decorators/index.js +29 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/omni-auth.decorator.d.ts +8 -0
- package/dist/decorators/omni-auth.decorator.js +36 -0
- package/dist/decorators/omni-auth.decorator.js.map +1 -0
- package/dist/decorators/operation.decorator.d.ts +1 -0
- package/dist/decorators/operation.decorator.js +7 -0
- package/dist/decorators/operation.decorator.js.map +1 -0
- package/dist/decorators/property.decorators.d.ts +15 -0
- package/dist/decorators/property.decorators.js +43 -0
- package/dist/decorators/property.decorators.js.map +1 -0
- package/dist/decorators/public-route.decorator.d.ts +3 -0
- package/dist/decorators/public-route.decorator.js +8 -0
- package/dist/decorators/public-route.decorator.js.map +1 -0
- package/dist/decorators/swagger.schema.d.ts +5 -0
- package/dist/decorators/swagger.schema.js +80 -0
- package/dist/decorators/swagger.schema.js.map +1 -0
- package/dist/decorators/timestamp-column.decorator.d.ts +1 -0
- package/dist/decorators/timestamp-column.decorator.js +29 -0
- package/dist/decorators/timestamp-column.decorator.js.map +1 -0
- package/dist/decorators/transform.decorators.d.ts +8 -0
- package/dist/decorators/transform.decorators.js +96 -0
- package/dist/decorators/transform.decorators.js.map +1 -0
- package/dist/decorators/translate.decorator.d.ts +5 -0
- package/dist/decorators/translate.decorator.js +18 -0
- package/dist/decorators/translate.decorator.js.map +1 -0
- package/dist/decorators/use-dto.decorator.d.ts +4 -0
- package/dist/decorators/use-dto.decorator.js +10 -0
- package/dist/decorators/use-dto.decorator.js.map +1 -0
- package/dist/decorators/user-check.decorator.d.ts +6 -0
- package/dist/decorators/user-check.decorator.js +22 -0
- package/dist/decorators/user-check.decorator.js.map +1 -0
- package/dist/decorators/user.decorator.d.ts +8 -0
- package/dist/decorators/user.decorator.js +39 -0
- package/dist/decorators/user.decorator.js.map +1 -0
- package/dist/decorators/user_auth.decorator.d.ts +1 -0
- package/dist/decorators/user_auth.decorator.js +17 -0
- package/dist/decorators/user_auth.decorator.js.map +1 -0
- package/dist/decorators/validator.decorators.d.ts +10 -0
- package/dist/decorators/validator.decorators.js +63 -0
- package/dist/decorators/validator.decorators.js.map +1 -0
- package/dist/exceptions/file-not-image.exception.d.ts +4 -0
- package/dist/exceptions/file-not-image.exception.js +11 -0
- package/dist/exceptions/file-not-image.exception.js.map +1 -0
- package/dist/exceptions/index.d.ts +2 -0
- package/dist/exceptions/index.js +19 -0
- package/dist/exceptions/index.js.map +1 -0
- package/dist/exceptions/page-type.exception.d.ts +4 -0
- package/dist/exceptions/page-type.exception.js +11 -0
- package/dist/exceptions/page-type.exception.js.map +1 -0
- package/dist/exceptions/user-not-found.exception.d.ts +4 -0
- package/dist/exceptions/user-not-found.exception.js +11 -0
- package/dist/exceptions/user-not-found.exception.js.map +1 -0
- package/dist/filters/bad-request.filter.d.ts +5 -0
- package/dist/filters/bad-request.filter.js +65 -0
- package/dist/filters/bad-request.filter.js.map +1 -0
- package/dist/filters/constraint-errors.d.ts +1 -0
- package/dist/filters/constraint-errors.js +7 -0
- package/dist/filters/constraint-errors.js.map +1 -0
- package/dist/filters/index.d.ts +3 -0
- package/dist/filters/index.js +20 -0
- package/dist/filters/index.js.map +1 -0
- package/dist/filters/query-failed.filter.d.ts +10 -0
- package/dist/filters/query-failed.filter.js +43 -0
- package/dist/filters/query-failed.filter.js.map +1 -0
- package/dist/guards/auth.guard.d.ts +4 -0
- package/dist/guards/auth.guard.js +13 -0
- package/dist/guards/auth.guard.js.map +1 -0
- package/dist/guards/roles.guard.d.ts +7 -0
- package/dist/guards/roles.guard.js +36 -0
- package/dist/guards/roles.guard.js.map +1 -0
- package/dist/health-checker/health-checker.controller.d.ts +15 -0
- package/dist/health-checker/health-checker.controller.js +68 -0
- package/dist/health-checker/health-checker.controller.js.map +1 -0
- package/dist/health-checker/health-checker.module.d.ts +2 -0
- package/dist/health-checker/health-checker.module.js +26 -0
- package/dist/health-checker/health-checker.module.js.map +1 -0
- package/dist/health-checker/health-indicators/service.indicator.d.ts +8 -0
- package/dist/health-checker/health-indicators/service.indicator.js +57 -0
- package/dist/health-checker/health-indicators/service.indicator.js.map +1 -0
- package/dist/helpers/common.helper.d.ts +3 -0
- package/dist/helpers/common.helper.js +37 -0
- package/dist/helpers/common.helper.js.map +1 -0
- package/dist/helpers/date.helper.d.ts +10 -0
- package/dist/helpers/date.helper.js +59 -0
- package/dist/helpers/date.helper.js.map +1 -0
- package/dist/helpers/excel.helper.d.ts +12 -0
- package/dist/helpers/excel.helper.js +250 -0
- package/dist/helpers/excel.helper.js.map +1 -0
- package/dist/helpers/index.d.ts +3 -0
- package/dist/helpers/index.js +20 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptors/auth-user.interceptor.d.ts +4 -0
- package/dist/interceptors/auth-user.interceptor.js +25 -0
- package/dist/interceptors/auth-user.interceptor.js.map +1 -0
- package/dist/interceptors/index.d.ts +2 -0
- package/dist/interceptors/index.js +19 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/language-interceptor.service.d.ts +6 -0
- package/dist/interceptors/language-interceptor.service.js +31 -0
- package/dist/interceptors/language-interceptor.service.js.map +1 -0
- package/dist/interceptors/translation-interceptor.service.d.ts +5 -0
- package/dist/interceptors/translation-interceptor.service.js +35 -0
- package/dist/interceptors/translation-interceptor.service.js.map +1 -0
- package/dist/interfaces/IApiFile.d.ts +4 -0
- package/dist/interfaces/IApiFile.js +3 -0
- package/dist/interfaces/IApiFile.js.map +1 -0
- package/dist/interfaces/IFile.d.ts +9 -0
- package/dist/interfaces/IFile.js +3 -0
- package/dist/interfaces/IFile.js.map +1 -0
- package/dist/interfaces/ITranslationDecoratorInterface.d.ts +3 -0
- package/dist/interfaces/ITranslationDecoratorInterface.js +3 -0
- package/dist/interfaces/ITranslationDecoratorInterface.js.map +1 -0
- package/dist/interfaces/index.d.ts +3 -0
- package/dist/interfaces/index.js +20 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/response.d.ts +25 -0
- package/dist/interfaces/response.js +3 -0
- package/dist/interfaces/response.js.map +1 -0
- package/dist/middlewares/index.d.ts +3 -0
- package/dist/middlewares/index.js +20 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/omni-auth.middleware.d.ts +1 -0
- package/dist/middlewares/omni-auth.middleware.js +14 -0
- package/dist/middlewares/omni-auth.middleware.js.map +1 -0
- package/dist/middlewares/powerby.middleware.d.ts +1 -0
- package/dist/middlewares/powerby.middleware.js +11 -0
- package/dist/middlewares/powerby.middleware.js.map +1 -0
- package/dist/middlewares/request-id.middleware.d.ts +7 -0
- package/dist/middlewares/request-id.middleware.js +23 -0
- package/dist/middlewares/request-id.middleware.js.map +1 -0
- package/dist/providers/context.provider.d.ts +32 -0
- package/dist/providers/context.provider.js +71 -0
- package/dist/providers/context.provider.js.map +1 -0
- package/dist/providers/generator.provider.d.ts +9 -0
- package/dist/providers/generator.provider.js +51 -0
- package/dist/providers/generator.provider.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.js +19 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/setup/bootstrap.setup.d.ts +5 -0
- package/dist/setup/bootstrap.setup.js +102 -0
- package/dist/setup/bootstrap.setup.js.map +1 -0
- package/dist/setup/index.d.ts +1 -0
- package/dist/setup/index.js +18 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup-swagger.d.ts +2 -0
- package/dist/setup-swagger.js +63 -0
- package/dist/setup-swagger.js.map +1 -0
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.js +19 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/serviceRegistryModule.d.ts +2 -0
- package/dist/shared/serviceRegistryModule.js +102 -0
- package/dist/shared/serviceRegistryModule.js.map +1 -0
- package/dist/shared/services/api-config.service.d.ts +70 -0
- package/dist/shared/services/api-config.service.js +286 -0
- package/dist/shared/services/api-config.service.js.map +1 -0
- package/dist/shared/services/aws-s3.service.d.ts +10 -0
- package/dist/shared/services/aws-s3.service.js +49 -0
- package/dist/shared/services/aws-s3.service.js.map +1 -0
- package/dist/shared/services/generator.service.d.ts +4 -0
- package/dist/shared/services/generator.service.js +24 -0
- package/dist/shared/services/generator.service.js.map +1 -0
- package/dist/shared/services/index.d.ts +5 -0
- package/dist/shared/services/index.js +22 -0
- package/dist/shared/services/index.js.map +1 -0
- package/dist/shared/services/translation.service.d.ts +9 -0
- package/dist/shared/services/translation.service.js +61 -0
- package/dist/shared/services/translation.service.js.map +1 -0
- package/dist/shared/services/validator.service.d.ts +3 -0
- package/dist/shared/services/validator.service.js +21 -0
- package/dist/shared/services/validator.service.js.map +1 -0
- package/dist/snake-naming.strategy.d.ts +11 -0
- package/dist/snake-naming.strategy.js +38 -0
- package/dist/snake-naming.strategy.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validators/file-mimetype.validator.d.ts +13 -0
- package/dist/validators/file-mimetype.validator.js +24 -0
- package/dist/validators/file-mimetype.validator.js.map +1 -0
- package/dist/validators/index.d.ts +3 -0
- package/dist/validators/index.js +20 -0
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/is-exists.validator.d.ts +18 -0
- package/dist/validators/is-exists.validator.js +52 -0
- package/dist/validators/is-exists.validator.js.map +1 -0
- package/dist/validators/is-unique.validator.d.ts +17 -0
- package/dist/validators/is-unique.validator.js +83 -0
- package/dist/validators/is-unique.validator.js.map +1 -0
- package/dist/validators/phone-country-code.validator.d.ts +2 -0
- package/dist/validators/phone-country-code.validator.js +31 -0
- package/dist/validators/phone-country-code.validator.js.map +1 -0
- package/dist/validators/same-as.validator.d.ts +2 -0
- package/dist/validators/same-as.validator.js +26 -0
- package/dist/validators/same-as.validator.js.map +1 -0
- package/dist/validators/skip-empty.validator.d.ts +1 -0
- package/dist/validators/skip-empty.validator.js +19 -0
- package/dist/validators/skip-empty.validator.js.map +1 -0
- package/package.json +66 -0
- package/src/boilerplate.polyfill.d.ts +39 -0
- package/src/boilerplate.polyfill.js +78 -0
- package/src/boilerplate.polyfill.ts +202 -0
- package/src/common/abstract-client.service.d.ts +20 -0
- package/src/common/abstract-client.service.js +39 -0
- package/src/common/abstract-client.service.ts +56 -0
- package/src/common/abstract.entity.d.ts +24 -0
- package/src/common/abstract.entity.js +152 -0
- package/src/common/abstract.entity.ts +73 -0
- package/src/common/dto/abstract.dto.d.ts +13 -0
- package/src/common/dto/abstract.dto.js +96 -0
- package/src/common/dto/abstract.dto.ts +64 -0
- package/src/common/dto/bulk-id.dto.d.ts +3 -0
- package/src/common/dto/bulk-id.dto.js +63 -0
- package/src/common/dto/bulk-id.dto.ts +13 -0
- package/src/common/dto/create-translation.dto.d.ts +5 -0
- package/src/common/dto/create-translation.dto.js +63 -0
- package/src/common/dto/create-translation.dto.ts +10 -0
- package/src/common/dto/page-meta.dto.d.ts +15 -0
- package/src/common/dto/page-meta.dto.js +88 -0
- package/src/common/dto/page-meta.dto.ts +37 -0
- package/src/common/dto/page-options.dto.d.ts +8 -0
- package/src/common/dto/page-options.dto.js +87 -0
- package/src/common/dto/page-options.dto.ts +35 -0
- package/src/common/dto/page.dto.d.ts +11 -0
- package/src/common/dto/page.dto.js +94 -0
- package/src/common/dto/page.dto.ts +36 -0
- package/src/common/utils.d.ts +14 -0
- package/src/common/utils.js +39 -0
- package/src/common/utils.ts +45 -0
- package/src/constants/index.d.ts +4 -0
- package/src/constants/index.js +20 -0
- package/src/constants/index.ts +4 -0
- package/src/constants/language-code.d.ts +5 -0
- package/src/constants/language-code.js +10 -0
- package/src/constants/language-code.ts +7 -0
- package/src/constants/order.d.ts +4 -0
- package/src/constants/order.js +8 -0
- package/src/constants/order.ts +4 -0
- package/src/constants/role-type.d.ts +4 -0
- package/src/constants/role-type.js +8 -0
- package/src/constants/role-type.ts +4 -0
- package/src/constants/token-type.d.ts +4 -0
- package/src/constants/token-type.js +8 -0
- package/src/constants/token-type.ts +4 -0
- package/src/decorators/api-page-ok-response.decorator.d.ts +5 -0
- package/src/decorators/api-page-ok-response.decorator.js +25 -0
- package/src/decorators/api-page-ok-response.decorator.ts +31 -0
- package/src/decorators/auth-user.decorator.d.ts +1 -0
- package/src/decorators/auth-user.decorator.js +15 -0
- package/src/decorators/auth-user.decorator.ts +16 -0
- package/src/decorators/controller.decorator.d.ts +1 -0
- package/src/decorators/controller.decorator.js +34 -0
- package/src/decorators/controller.decorator.ts +8 -0
- package/src/decorators/field.decorators.d.ts +71 -0
- package/src/decorators/field.decorators.js +455 -0
- package/src/decorators/field.decorators.ts +773 -0
- package/src/decorators/http.decorators.d.ts +3 -0
- package/src/decorators/http.decorators.js +8 -0
- package/src/decorators/http.decorators.ts +10 -0
- package/src/decorators/index.d.ts +12 -0
- package/src/decorators/index.js +28 -0
- package/src/decorators/index.ts +12 -0
- package/src/decorators/omni-auth.decorator.d.ts +8 -0
- package/src/decorators/omni-auth.decorator.js +60 -0
- package/src/decorators/omni-auth.decorator.ts +46 -0
- package/src/decorators/operation.decorator.d.ts +1 -0
- package/src/decorators/operation.decorator.js +6 -0
- package/src/decorators/operation.decorator.ts +4 -0
- package/src/decorators/property.decorators.d.ts +15 -0
- package/src/decorators/property.decorators.js +36 -0
- package/src/decorators/property.decorators.ts +62 -0
- package/src/decorators/public-route.decorator.d.ts +3 -0
- package/src/decorators/public-route.decorator.js +8 -0
- package/src/decorators/public-route.decorator.ts +8 -0
- package/src/decorators/swagger.schema.d.ts +5 -0
- package/src/decorators/swagger.schema.js +82 -0
- package/src/decorators/swagger.schema.ts +117 -0
- package/src/decorators/timestamp-column.decorator.d.ts +1 -0
- package/src/decorators/timestamp-column.decorator.js +28 -0
- package/src/decorators/timestamp-column.decorator.ts +29 -0
- package/src/decorators/transform.decorators.d.ts +35 -0
- package/src/decorators/transform.decorators.js +122 -0
- package/src/decorators/transform.decorators.ts +147 -0
- package/src/decorators/translate.decorator.d.ts +5 -0
- package/src/decorators/translate.decorator.js +18 -0
- package/src/decorators/translate.decorator.ts +19 -0
- package/src/decorators/use-dto.decorator.d.ts +4 -0
- package/src/decorators/use-dto.decorator.js +9 -0
- package/src/decorators/use-dto.decorator.ts +11 -0
- package/src/decorators/user-check.decorator.d.ts +6 -0
- package/src/decorators/user-check.decorator.js +44 -0
- package/src/decorators/user-check.decorator.ts +30 -0
- package/src/decorators/user.decorator.d.ts +8 -0
- package/src/decorators/user.decorator.js +62 -0
- package/src/decorators/user.decorator.ts +48 -0
- package/src/decorators/user_auth.decorator.d.ts +1 -0
- package/src/decorators/user_auth.decorator.js +16 -0
- package/src/decorators/user_auth.decorator.ts +15 -0
- package/src/decorators/validator.decorators.d.ts +10 -0
- package/src/decorators/validator.decorators.js +59 -0
- package/src/decorators/validator.decorators.ts +78 -0
- package/src/exceptions/file-not-image.exception.d.ts +4 -0
- package/src/exceptions/file-not-image.exception.js +10 -0
- package/src/exceptions/file-not-image.exception.ts +7 -0
- package/src/exceptions/index.d.ts +2 -0
- package/src/exceptions/index.js +18 -0
- package/src/exceptions/index.ts +2 -0
- package/src/exceptions/page-type.exception.d.ts +4 -0
- package/src/exceptions/page-type.exception.js +10 -0
- package/src/exceptions/page-type.exception.ts +7 -0
- package/src/exceptions/user-not-found.exception.d.ts +4 -0
- package/src/exceptions/user-not-found.exception.js +10 -0
- package/src/exceptions/user-not-found.exception.ts +7 -0
- package/src/filters/bad-request.filter.d.ts +5 -0
- package/src/filters/bad-request.filter.js +104 -0
- package/src/filters/bad-request.filter.ts +67 -0
- package/src/filters/constraint-errors.d.ts +1 -0
- package/src/filters/constraint-errors.js +7 -0
- package/src/filters/constraint-errors.ts +5 -0
- package/src/filters/index.d.ts +3 -0
- package/src/filters/index.js +19 -0
- package/src/filters/index.ts +3 -0
- package/src/filters/query-failed.filter.d.ts +10 -0
- package/src/filters/query-failed.filter.js +81 -0
- package/src/filters/query-failed.filter.ts +32 -0
- package/src/health-checker/health-checker.controller.d.ts +15 -0
- package/src/health-checker/health-checker.controller.js +104 -0
- package/src/health-checker/health-checker.controller.ts +51 -0
- package/src/health-checker/health-checker.module.d.ts +2 -0
- package/src/health-checker/health-checker.module.js +69 -0
- package/src/health-checker/health-checker.module.ts +13 -0
- package/src/health-checker/health-indicators/service.indicator.d.ts +8 -0
- package/src/health-checker/health-indicators/service.indicator.js +102 -0
- package/src/health-checker/health-indicators/service.indicator.ts +44 -0
- package/src/helpers/common.helper.d.ts +16 -0
- package/src/helpers/common.helper.js +49 -0
- package/src/helpers/common.helper.ts +49 -0
- package/src/helpers/date.helper.d.ts +10 -0
- package/src/helpers/date.helper.js +81 -0
- package/src/helpers/date.helper.ts +64 -0
- package/src/helpers/excel.helper.d.ts +27 -0
- package/src/helpers/excel.helper.js +338 -0
- package/src/helpers/index.d.ts +3 -0
- package/src/helpers/index.js +19 -0
- package/src/helpers/index.ts +3 -0
- package/src/i18n/en_US/validation.json +38 -0
- package/src/i18n/zh_CN/validation.json +38 -0
- package/src/index.d.ts +11 -0
- package/src/index.js +28 -0
- package/src/index.ts +12 -0
- package/src/interceptors/auth-user.interceptor.d.ts +4 -0
- package/src/interceptors/auth-user.interceptor.js +68 -0
- package/src/interceptors/auth-user.interceptor.ts +20 -0
- package/src/interceptors/index.d.ts +2 -0
- package/src/interceptors/index.js +18 -0
- package/src/interceptors/index.ts +2 -0
- package/src/interceptors/language-interceptor.service.d.ts +6 -0
- package/src/interceptors/language-interceptor.service.js +74 -0
- package/src/interceptors/language-interceptor.service.ts +31 -0
- package/src/interceptors/translation-interceptor.service.d.ts +5 -0
- package/src/interceptors/translation-interceptor.service.js +83 -0
- package/src/interceptors/translation-interceptor.service.ts +43 -0
- package/src/interfaces/IApiFile.d.ts +4 -0
- package/src/interfaces/IApiFile.js +2 -0
- package/src/interfaces/IApiFile.ts +4 -0
- package/src/interfaces/IFile.d.ts +9 -0
- package/src/interfaces/IFile.js +2 -0
- package/src/interfaces/IFile.ts +8 -0
- package/src/interfaces/ITranslationDecoratorInterface.d.ts +3 -0
- package/src/interfaces/ITranslationDecoratorInterface.js +2 -0
- package/src/interfaces/ITranslationDecoratorInterface.ts +3 -0
- package/src/interfaces/index.d.ts +3 -0
- package/src/interfaces/index.js +19 -0
- package/src/interfaces/index.ts +3 -0
- package/src/interfaces/response.d.ts +25 -0
- package/src/interfaces/response.js +2 -0
- package/src/interfaces/response.ts +37 -0
- package/src/middlewares/index.d.ts +3 -0
- package/src/middlewares/index.js +19 -0
- package/src/middlewares/index.ts +3 -0
- package/src/middlewares/omni-auth.middleware.d.ts +1 -0
- package/src/middlewares/omni-auth.middleware.js +13 -0
- package/src/middlewares/omni-auth.middleware.ts +10 -0
- package/src/middlewares/powerby.middleware.d.ts +1 -0
- package/src/middlewares/powerby.middleware.js +10 -0
- package/src/middlewares/powerby.middleware.ts +6 -0
- package/src/middlewares/request-id.middleware.d.ts +7 -0
- package/src/middlewares/request-id.middleware.js +22 -0
- package/src/middlewares/request-id.middleware.ts +28 -0
- package/src/providers/context.provider.d.ts +32 -0
- package/src/providers/context.provider.js +73 -0
- package/src/providers/context.provider.ts +98 -0
- package/src/providers/generator.provider.d.ts +13 -0
- package/src/providers/generator.provider.js +54 -0
- package/src/providers/generator.provider.ts +66 -0
- package/src/providers/index.d.ts +2 -0
- package/src/providers/index.js +18 -0
- package/src/providers/index.ts +2 -0
- package/src/setup/bootstrap.setup.d.ts +5 -0
- package/src/setup/bootstrap.setup.js +138 -0
- package/src/setup/bootstrap.setup.ts +139 -0
- package/src/setup/index.d.ts +1 -0
- package/src/setup/index.js +17 -0
- package/src/setup/index.ts +1 -0
- package/src/setup/microservices.setup.js +55 -0
- package/src/setup-swagger.d.ts +2 -0
- package/src/setup-swagger.js +62 -0
- package/src/setup-swagger.ts +67 -0
- package/src/shared/index.d.ts +2 -0
- package/src/shared/index.js +18 -0
- package/src/shared/index.ts +2 -0
- package/src/shared/serviceRegistryModule.d.ts +2 -0
- package/src/shared/serviceRegistryModule.js +176 -0
- package/src/shared/serviceRegistryModule.ts +110 -0
- package/src/shared/services/api-config.service.d.ts +73 -0
- package/src/shared/services/api-config.service.js +335 -0
- package/src/shared/services/api-config.service.ts +319 -0
- package/src/shared/services/aws-s3.service.d.ts +10 -0
- package/src/shared/services/aws-s3.service.js +96 -0
- package/src/shared/services/aws-s3.service.ts +39 -0
- package/src/shared/services/generator.service.d.ts +4 -0
- package/src/shared/services/generator.service.js +67 -0
- package/src/shared/services/generator.service.ts +13 -0
- package/src/shared/services/index.d.ts +5 -0
- package/src/shared/services/index.js +21 -0
- package/src/shared/services/index.ts +5 -0
- package/src/shared/services/translation.service.d.ts +9 -0
- package/src/shared/services/translation.service.js +109 -0
- package/src/shared/services/translation.service.ts +59 -0
- package/src/shared/services/validator.service.d.ts +3 -0
- package/src/shared/services/validator.service.js +64 -0
- package/src/shared/services/validator.service.ts +10 -0
- package/src/snake-naming.strategy.d.ts +11 -0
- package/src/snake-naming.strategy.js +37 -0
- package/src/snake-naming.strategy.ts +64 -0
- package/src/types.d.ts +9 -0
- package/src/types.js +2 -0
- package/src/types.ts +44 -0
- package/src/validators/file-mimetype.validator.d.ts +13 -0
- package/src/validators/file-mimetype.validator.js +21 -0
- package/src/validators/file-mimetype.validator.ts +34 -0
- package/src/validators/index.d.ts +3 -0
- package/src/validators/index.js +19 -0
- package/src/validators/index.ts +3 -0
- package/src/validators/is-exists.validator.d.ts +18 -0
- package/src/validators/is-exists.validator.js +99 -0
- package/src/validators/is-exists.validator.ts +60 -0
- package/src/validators/is-unique.validator.d.ts +17 -0
- package/src/validators/is-unique.validator.js +131 -0
- package/src/validators/is-unique.validator.ts +93 -0
- package/src/validators/phone-country-code.validator.d.ts +2 -0
- package/src/validators/phone-country-code.validator.js +30 -0
- package/src/validators/phone-country-code.validator.ts +36 -0
- package/src/validators/same-as.validator.d.ts +2 -0
- package/src/validators/same-as.validator.js +25 -0
- package/src/validators/same-as.validator.ts +27 -0
- package/src/validators/skip-empty.validator.d.ts +6 -0
- package/src/validators/skip-empty.validator.js +23 -0
- package/src/validators/skip-empty.validator.ts +25 -0
- package/tsconfig.json +21 -0
- package/tsconfig.lib.json +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,uDAAqC;AACrC,yDAAuC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const OmniAuthMiddleware: () => (req: any, res: any, next: any) => void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OmniAuthMiddleware = void 0;
|
|
4
|
+
const omni_auth_decorator_1 = require("../decorators/omni-auth.decorator");
|
|
5
|
+
const providers_1 = require("../providers");
|
|
6
|
+
const OmniAuthMiddleware = () => {
|
|
7
|
+
return (req, res, next) => {
|
|
8
|
+
req.user = (0, omni_auth_decorator_1.getOmniAuthData)(req);
|
|
9
|
+
providers_1.ContextProvider.setAuthUser(req.user);
|
|
10
|
+
next();
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
exports.OmniAuthMiddleware = OmniAuthMiddleware;
|
|
14
|
+
//# sourceMappingURL=omni-auth.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omni-auth.middleware.js","sourceRoot":"","sources":["../../src/middlewares/omni-auth.middleware.ts"],"names":[],"mappings":";;;AAAA,2EAAoE;AACpE,4CAA+C;AAExC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,GAAG,CAAC,IAAI,GAAG,IAAA,qCAAe,EAAC,GAAG,CAAC,CAAC;QAChC,2BAAe,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,kBAAkB,sBAM7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PowerByMiddleware: (by?: string) => (req: any, res: any, next: any) => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PowerByMiddleware = void 0;
|
|
4
|
+
const PowerByMiddleware = (by = 'KN') => {
|
|
5
|
+
return (req, res, next) => {
|
|
6
|
+
res.header('x-powered-by', by);
|
|
7
|
+
next();
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
exports.PowerByMiddleware = PowerByMiddleware;
|
|
11
|
+
//# sourceMappingURL=powerby.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"powerby.middleware.js","sourceRoot":"","sources":["../../src/middlewares/powerby.middleware.ts"],"names":[],"mappings":";;;AAAO,MAAM,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE;IAC7C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NextFunction, Request, Response } from 'express';
|
|
2
|
+
export interface RequestIdConfig {
|
|
3
|
+
header: string;
|
|
4
|
+
idGenerator: () => string;
|
|
5
|
+
setHeader: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const RequestIdMiddleware: (config?: RequestIdConfig) => (req: Request, res: Response, next: NextFunction) => void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestIdMiddleware = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
const providers_1 = require("../providers");
|
|
6
|
+
const RequestIdMiddleware = (config = {
|
|
7
|
+
header: 'x-request-id',
|
|
8
|
+
idGenerator: uuid_1.v4,
|
|
9
|
+
setHeader: true,
|
|
10
|
+
}) => {
|
|
11
|
+
return (req, res, next) => {
|
|
12
|
+
const requestId = req.header(config.header) || config.idGenerator();
|
|
13
|
+
req.headers[config.header] = requestId;
|
|
14
|
+
req.id = requestId;
|
|
15
|
+
providers_1.ContextProvider.setRequestId(requestId);
|
|
16
|
+
if (config.setHeader) {
|
|
17
|
+
res.set(config.header, requestId);
|
|
18
|
+
}
|
|
19
|
+
next();
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.RequestIdMiddleware = RequestIdMiddleware;
|
|
23
|
+
//# sourceMappingURL=request-id.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-id.middleware.js","sourceRoot":"","sources":["../../src/middlewares/request-id.middleware.ts"],"names":[],"mappings":";;;AACA,+BAAoC;AACpC,4CAA+C;AAQxC,MAAM,mBAAmB,GAAG,CACjC,SAA0B;IACxB,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,SAAM;IACnB,SAAS,EAAE,IAAI;CAChB,EACD,EAAE;IACF,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;QACvC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;QACnB,2BAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SACnC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IOmniAuth } from '../decorators/omni-auth.decorator';
|
|
2
|
+
export declare class ContextProvider {
|
|
3
|
+
private static readonly nameSpace;
|
|
4
|
+
private static readonly authUserKey;
|
|
5
|
+
private static readonly routerKey;
|
|
6
|
+
private static readonly languageKey;
|
|
7
|
+
private static readonly requestKey;
|
|
8
|
+
private static get;
|
|
9
|
+
private static set;
|
|
10
|
+
private static getKeyWithNamespace;
|
|
11
|
+
static setRouter(user: any): void;
|
|
12
|
+
static getCanLog(): boolean;
|
|
13
|
+
static getRouter(): {
|
|
14
|
+
action: {
|
|
15
|
+
feature: string;
|
|
16
|
+
action: string;
|
|
17
|
+
};
|
|
18
|
+
id: string;
|
|
19
|
+
method: object;
|
|
20
|
+
ip: string;
|
|
21
|
+
canLog: boolean;
|
|
22
|
+
};
|
|
23
|
+
static setRequestId(id: string): void;
|
|
24
|
+
static getRequestId(): string;
|
|
25
|
+
static setAuthUser(user: IOmniAuth): void;
|
|
26
|
+
static setLanguage(language: string): void;
|
|
27
|
+
static getLanguage(): string;
|
|
28
|
+
static getAuthUserField<T extends keyof IOmniAuth>(field: T): IOmniAuth[T];
|
|
29
|
+
static getAuthUser(): IOmniAuth;
|
|
30
|
+
static getAppId(): string;
|
|
31
|
+
static getTenantId(): string;
|
|
32
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContextProvider = void 0;
|
|
4
|
+
const nestjs_cls_1 = require("nestjs-cls");
|
|
5
|
+
class ContextProvider {
|
|
6
|
+
static nameSpace = 'request';
|
|
7
|
+
static authUserKey = 'user_key';
|
|
8
|
+
static routerKey = 'router_key';
|
|
9
|
+
static languageKey = 'language_key';
|
|
10
|
+
static requestKey = 'request_key';
|
|
11
|
+
static get(key) {
|
|
12
|
+
const store = nestjs_cls_1.ClsServiceManager.getClsService();
|
|
13
|
+
return store.get(ContextProvider.getKeyWithNamespace(key));
|
|
14
|
+
}
|
|
15
|
+
static set(key, value) {
|
|
16
|
+
const store = nestjs_cls_1.ClsServiceManager.getClsService();
|
|
17
|
+
store.set(ContextProvider.getKeyWithNamespace(key), value);
|
|
18
|
+
}
|
|
19
|
+
static getKeyWithNamespace(key) {
|
|
20
|
+
return `${ContextProvider.nameSpace}.${key}`;
|
|
21
|
+
}
|
|
22
|
+
static setRouter(user) {
|
|
23
|
+
ContextProvider.set(ContextProvider.routerKey, user);
|
|
24
|
+
}
|
|
25
|
+
static getCanLog() {
|
|
26
|
+
return ContextProvider.getRouter().canLog;
|
|
27
|
+
}
|
|
28
|
+
static getRouter() {
|
|
29
|
+
const value = ContextProvider.get(ContextProvider.routerKey);
|
|
30
|
+
if (value) {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
action: { feature: '', action: '' },
|
|
35
|
+
id: '',
|
|
36
|
+
method: {},
|
|
37
|
+
ip: '',
|
|
38
|
+
canLog: false,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static setRequestId(id) {
|
|
42
|
+
ContextProvider.set(ContextProvider.requestKey, id);
|
|
43
|
+
}
|
|
44
|
+
static getRequestId() {
|
|
45
|
+
return ContextProvider.get(ContextProvider.requestKey);
|
|
46
|
+
}
|
|
47
|
+
static setAuthUser(user) {
|
|
48
|
+
ContextProvider.set(ContextProvider.authUserKey, user);
|
|
49
|
+
}
|
|
50
|
+
static setLanguage(language) {
|
|
51
|
+
ContextProvider.set(ContextProvider.languageKey, language);
|
|
52
|
+
}
|
|
53
|
+
static getLanguage() {
|
|
54
|
+
return ContextProvider.get(ContextProvider.languageKey);
|
|
55
|
+
}
|
|
56
|
+
static getAuthUserField(field) {
|
|
57
|
+
const auth = ContextProvider.get(ContextProvider.authUserKey) ?? {};
|
|
58
|
+
return auth[field];
|
|
59
|
+
}
|
|
60
|
+
static getAuthUser() {
|
|
61
|
+
return ContextProvider.get(ContextProvider.authUserKey);
|
|
62
|
+
}
|
|
63
|
+
static getAppId() {
|
|
64
|
+
return ContextProvider.getAuthUserField('appId');
|
|
65
|
+
}
|
|
66
|
+
static getTenantId() {
|
|
67
|
+
return ContextProvider.getAuthUserField('tenantId');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.ContextProvider = ContextProvider;
|
|
71
|
+
//# sourceMappingURL=context.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.provider.js","sourceRoot":"","sources":["../../src/providers/context.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class GeneratorProvider {
|
|
2
|
+
static uuid(): string;
|
|
3
|
+
static fileName(ext: string): string;
|
|
4
|
+
static getS3PublicUrl(key: string): string;
|
|
5
|
+
static getS3Key(publicUrl: string): string;
|
|
6
|
+
static generateVerificationCode(): string;
|
|
7
|
+
static generatePassword(): string;
|
|
8
|
+
static generateRandomString(length: number): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeneratorProvider = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
class GeneratorProvider {
|
|
6
|
+
static uuid() {
|
|
7
|
+
return (0, uuid_1.v1)();
|
|
8
|
+
}
|
|
9
|
+
static fileName(ext) {
|
|
10
|
+
return GeneratorProvider.uuid() + '.' + ext;
|
|
11
|
+
}
|
|
12
|
+
static getS3PublicUrl(key) {
|
|
13
|
+
if (!key) {
|
|
14
|
+
throw new TypeError('key is required');
|
|
15
|
+
}
|
|
16
|
+
return `https://s3.${process.env.AWS_S3_BUCKET_NAME_REGION}.amazonaws.com/${process.env.AWS_S3_BUCKET_NAME}/${key}`;
|
|
17
|
+
}
|
|
18
|
+
static getS3Key(publicUrl) {
|
|
19
|
+
if (!publicUrl) {
|
|
20
|
+
throw new TypeError('key is required');
|
|
21
|
+
}
|
|
22
|
+
const exec = new RegExp(`(?<=https://s3.${process.env.AWS_S3_BUCKET_NAME_REGION}.amazonaws.com/${process.env.AWS_S3_BUCKET_NAME}/).*`).exec(publicUrl);
|
|
23
|
+
if (!exec) {
|
|
24
|
+
throw new TypeError('publicUrl is invalid');
|
|
25
|
+
}
|
|
26
|
+
return exec[0];
|
|
27
|
+
}
|
|
28
|
+
static generateVerificationCode() {
|
|
29
|
+
return Math.floor(1000 + Math.random() * 9000).toString();
|
|
30
|
+
}
|
|
31
|
+
static generatePassword() {
|
|
32
|
+
const lowercase = 'abcdefghijklmnopqrstuvwxyz';
|
|
33
|
+
const uppercase = lowercase.toUpperCase();
|
|
34
|
+
const numbers = '0123456789';
|
|
35
|
+
let text = '';
|
|
36
|
+
for (let i = 0; i < 12; i++) {
|
|
37
|
+
text += uppercase.charAt(Math.floor(Math.random() * uppercase.length));
|
|
38
|
+
text += lowercase.charAt(Math.floor(Math.random() * lowercase.length));
|
|
39
|
+
text += numbers.charAt(Math.floor(Math.random() * numbers.length));
|
|
40
|
+
}
|
|
41
|
+
return text;
|
|
42
|
+
}
|
|
43
|
+
static generateRandomString(length) {
|
|
44
|
+
return Math.random()
|
|
45
|
+
.toString(36)
|
|
46
|
+
.replace(/[^\dA-Za-z]+/g, '')
|
|
47
|
+
.slice(0, Math.max(0, length));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.GeneratorProvider = GeneratorProvider;
|
|
51
|
+
//# sourceMappingURL=generator.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.provider.js","sourceRoot":"","sources":["../../src/providers/generator.provider.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAElC,MAAa,iBAAiB;IAC5B,MAAM,CAAC,IAAI;QACT,OAAO,IAAA,SAAI,GAAE,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAW;QACzB,OAAO,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAW;QAC/B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;SACxC;QAED,OAAO,cAAc,OAAO,CAAC,GAAG,CAAC,yBAAyB,kBAAkB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,EAAE,CAAC;IACtH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAiB;QAC/B,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;SACxC;QAED,MAAM,IAAI,GAAG,IAAI,MAAM,CACrB,kBAAkB,OAAO,CAAC,GAAG,CAAC,yBAAyB,kBAAkB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAC9G,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;SAC7C;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,SAAS,GAAG,4BAA4B,CAAC;QAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,YAAY,CAAC;QAE7B,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,MAAM,CAAC,oBAAoB,CAAC,MAAc;QACxC,OAAO,IAAI,CAAC,MAAM,EAAE;aACjB,QAAQ,CAAC,EAAE,CAAC;aACZ,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC;CACF;AA/DD,8CA+DC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./context.provider"), exports);
|
|
18
|
+
__exportStar(require("./generator.provider"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uDAAqC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node/http" />
|
|
3
|
+
/// <reference types="pino-http" />
|
|
4
|
+
import type { NestExpressApplication } from '@nestjs/platform-express';
|
|
5
|
+
export declare function bootstrapSetup(AppModule: any, SetupSwagger: any): Promise<NestExpressApplication<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>>>;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bootstrapSetup = void 0;
|
|
4
|
+
const core_1 = require("@nestjs/core");
|
|
5
|
+
const typeorm_transactional_1 = require("typeorm-transactional");
|
|
6
|
+
const skywalking_backend_js_1 = require("skywalking-backend-js");
|
|
7
|
+
const nestjs_pino_1 = require("nestjs-pino");
|
|
8
|
+
const session = require("express-session");
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
const __1 = require("../");
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const nestjs_sentry_1 = require("@ntegral/nestjs-sentry");
|
|
13
|
+
const nestjs_i18n_1 = require("nestjs-i18n");
|
|
14
|
+
const crud_1 = require("@dataui/crud");
|
|
15
|
+
const auth_user_interceptor_1 = require("../interceptors/auth-user.interceptor");
|
|
16
|
+
const nestjs_cls_1 = require("nestjs-cls");
|
|
17
|
+
crud_1.CrudConfigService.load({
|
|
18
|
+
auth: {
|
|
19
|
+
property: 'user',
|
|
20
|
+
},
|
|
21
|
+
params: {
|
|
22
|
+
id: {
|
|
23
|
+
field: 'id',
|
|
24
|
+
type: 'string',
|
|
25
|
+
primary: true,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
query: {
|
|
29
|
+
limit: 10,
|
|
30
|
+
alwaysPaginate: true,
|
|
31
|
+
},
|
|
32
|
+
routes: {
|
|
33
|
+
updateOneBase: {
|
|
34
|
+
allowParamsOverride: false,
|
|
35
|
+
},
|
|
36
|
+
deleteOneBase: {
|
|
37
|
+
returnDeleted: false,
|
|
38
|
+
},
|
|
39
|
+
createOneBase: {
|
|
40
|
+
returnShallow: false,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
async function bootstrapSetup(AppModule, SetupSwagger) {
|
|
45
|
+
(0, typeorm_transactional_1.initializeTransactionalContext)();
|
|
46
|
+
const app = await core_1.NestFactory.create(AppModule, {
|
|
47
|
+
bufferLogs: true,
|
|
48
|
+
});
|
|
49
|
+
const configService = app.select(__1.ServiceRegistryModule).get(__1.ApiConfigService);
|
|
50
|
+
app.useLogger(app.get(nestjs_pino_1.Logger));
|
|
51
|
+
app.flushLogs();
|
|
52
|
+
app.enableShutdownHooks();
|
|
53
|
+
app.enableVersioning();
|
|
54
|
+
app.enable('trust proxy');
|
|
55
|
+
const reflector = app.get(core_1.Reflector);
|
|
56
|
+
app.useGlobalFilters(new __1.HttpExceptionFilter(), new __1.QueryFailedFilter(reflector));
|
|
57
|
+
app.use(new nestjs_cls_1.ClsMiddleware({}).use, (0, __1.RequestIdMiddleware)(), (0, __1.PowerByMiddleware)(), (0, __1.OmniAuthMiddleware)());
|
|
58
|
+
app.useStaticAssets('public', { prefix: '/' });
|
|
59
|
+
app.useGlobalInterceptors(new auth_user_interceptor_1.AuthUserInterceptor(), new __1.TranslationInterceptor(), new nestjs_pino_1.LoggerErrorInterceptor(), new nestjs_sentry_1.SentryInterceptor({
|
|
60
|
+
filters: [
|
|
61
|
+
{
|
|
62
|
+
type: common_1.HttpException,
|
|
63
|
+
filter: (exception) => {
|
|
64
|
+
const status = exception.getStatus();
|
|
65
|
+
if (status === 401 || status === 404) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
return 200 > status;
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
}));
|
|
73
|
+
app.useGlobalPipes(new nestjs_i18n_1.I18nValidationPipe({
|
|
74
|
+
whitelist: true,
|
|
75
|
+
errorHttpStatusCode: common_1.HttpStatus.UNPROCESSABLE_ENTITY,
|
|
76
|
+
transform: true,
|
|
77
|
+
stopAtFirstError: true,
|
|
78
|
+
validationError: { target: false, value: false },
|
|
79
|
+
}));
|
|
80
|
+
if (configService.skywalkingEnabled) {
|
|
81
|
+
skywalking_backend_js_1.default.start();
|
|
82
|
+
}
|
|
83
|
+
if (configService.documentationEnabled && SetupSwagger) {
|
|
84
|
+
SetupSwagger(app, configService.documentationPath);
|
|
85
|
+
}
|
|
86
|
+
if (configService.viewsEnabled) {
|
|
87
|
+
app.setBaseViewsDir((0, path_1.join)(__dirname, 'views'));
|
|
88
|
+
app.setViewEngine('ejs');
|
|
89
|
+
}
|
|
90
|
+
if (configService.sessionEnabled) {
|
|
91
|
+
app.use(session(configService.sessionConfig));
|
|
92
|
+
}
|
|
93
|
+
if (configService.corsEnabled) {
|
|
94
|
+
app.enableCors(configService.corsConfig);
|
|
95
|
+
}
|
|
96
|
+
const port = configService.appConfig.port;
|
|
97
|
+
await app.listen(port);
|
|
98
|
+
console.info(`server running on ${await app.getUrl()}`);
|
|
99
|
+
return app;
|
|
100
|
+
}
|
|
101
|
+
exports.bootstrapSetup = bootstrapSetup;
|
|
102
|
+
//# sourceMappingURL=bootstrap.setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.setup.js","sourceRoot":"","sources":["../../src/setup/bootstrap.setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './bootstrap.setup';
|
|
@@ -0,0 +1,18 @@
|
|
|
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("./bootstrap.setup"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupSwagger = void 0;
|
|
4
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
+
function setupSwagger(app) {
|
|
6
|
+
const documentBuilder = new swagger_1.DocumentBuilder()
|
|
7
|
+
.setTitle('API')
|
|
8
|
+
.setDescription(`### REST
|
|
9
|
+
|
|
10
|
+
Routes is following REST standard (Richardson level 3)
|
|
11
|
+
|
|
12
|
+
<details><summary>Detailed specification</summary>
|
|
13
|
+
<p>
|
|
14
|
+
|
|
15
|
+
**List:**
|
|
16
|
+
- \`GET /<resource>/\`
|
|
17
|
+
- Get the list of **<resource>** as admin
|
|
18
|
+
- \`GET /user/<user_id>/<resource>/\`
|
|
19
|
+
- Get the list of **<resource>** for a given **<user_id>**
|
|
20
|
+
- Output a **403** if logged user is not **<user_id>**
|
|
21
|
+
|
|
22
|
+
**Detail:**
|
|
23
|
+
- \`GET /<resource>/<resource_id>\`
|
|
24
|
+
- Get the detail for **<resource>** of id **<resource_id>**
|
|
25
|
+
- Output a **404** if not found
|
|
26
|
+
- \`GET /user/<user_id>/<resource>/<resource_id>\`
|
|
27
|
+
- Get the list of **<resource>** for a given **user_id**
|
|
28
|
+
- Output a **404** if not found
|
|
29
|
+
- Output a **403** if:
|
|
30
|
+
- Logged user is not **<user_id>**
|
|
31
|
+
- The **<user_id>** have no access to **<resource_id>**
|
|
32
|
+
|
|
33
|
+
**Creation / Edition / Replacement / Suppression:**
|
|
34
|
+
- \`<METHOD>\` is:
|
|
35
|
+
- **POST** for creation
|
|
36
|
+
- **PATCH** for update (one or more fields)
|
|
37
|
+
- **PUT** for replacement (all fields, not used)
|
|
38
|
+
- **DELETE** for suppression (all fields, not used)
|
|
39
|
+
- \`<METHOD> /<resource>/<resource_id>\`
|
|
40
|
+
- Create **<resource>** with id **<resource_id>** as admin
|
|
41
|
+
- Output a **400** if **<resource_id>** conflicts with existing **<resource>**
|
|
42
|
+
- \`<METHOD> /user/<user_id>/<resource>/<resource_id>\`
|
|
43
|
+
- Create **<resource>** with id **<resource_id>** as a given **user_id**
|
|
44
|
+
- Output a **409** if **<resource_id>** conflicts with existing **<resource>**
|
|
45
|
+
- Output a **403** if:
|
|
46
|
+
- Logged user is not **<user_id>**
|
|
47
|
+
- The **<user_id>** have no access to **<resource_id>**
|
|
48
|
+
</p>
|
|
49
|
+
</details>`)
|
|
50
|
+
.addBearerAuth();
|
|
51
|
+
if (process.env.API_VERSION) {
|
|
52
|
+
documentBuilder.setVersion(process.env.API_VERSION);
|
|
53
|
+
}
|
|
54
|
+
const document = swagger_1.SwaggerModule.createDocument(app, documentBuilder.build());
|
|
55
|
+
swagger_1.SwaggerModule.setup('documentation', app, document, {
|
|
56
|
+
swaggerOptions: {
|
|
57
|
+
persistAuthorization: true,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
console.info(`Documentation: http://localhost:${process.env.PORT}/documentation`);
|
|
61
|
+
}
|
|
62
|
+
exports.setupSwagger = setupSwagger;
|
|
63
|
+
//# sourceMappingURL=setup-swagger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-swagger.js","sourceRoot":"","sources":["../src/setup-swagger.ts"],"names":[],"mappings":";;;AACA,6CAAiE;AAEjE,SAAgB,YAAY,CAAC,GAAqB;IAChD,MAAM,eAAe,GAAG,IAAI,yBAAe,EAAE;SAC1C,QAAQ,CAAC,KAAK,CAAC;SACf,cAAc,CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAyCK,CACN;SACA,aAAa,EAAE,CAAC;IAEnB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;QAC3B,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACrD;IAED,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,uBAAa,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE;QAClD,cAAc,EAAE;YACd,oBAAoB,EAAE,IAAI;SAC3B;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CACV,mCAAmC,OAAO,CAAC,GAAG,CAAC,IAAI,gBAAgB,CACpE,CAAC;AACJ,CAAC;AA/DD,oCA+DC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./serviceRegistryModule"), exports);
|
|
18
|
+
__exportStar(require("./services"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,6CAA2B"}
|
|
@@ -0,0 +1,102 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ServiceRegistryModule = void 0;
|
|
10
|
+
const path = require("path");
|
|
11
|
+
const process = require("process");
|
|
12
|
+
const typeorm_1 = require("typeorm");
|
|
13
|
+
const bull_1 = require("@nestjs/bull");
|
|
14
|
+
const nestjs_pino_1 = require("nestjs-pino");
|
|
15
|
+
const config_1 = require("@nestjs/config");
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const typeorm_2 = require("@nestjs/typeorm");
|
|
18
|
+
const schedule_1 = require("@nestjs/schedule");
|
|
19
|
+
const nestjs_sentry_1 = require("@ntegral/nestjs-sentry");
|
|
20
|
+
const cache_manager_1 = require("@nestjs/cache-manager");
|
|
21
|
+
const typeorm_transactional_1 = require("typeorm-transactional");
|
|
22
|
+
const nestjs_i18n_1 = require("nestjs-i18n");
|
|
23
|
+
const health_checker_module_1 = require("../health-checker/health-checker.module");
|
|
24
|
+
const services_1 = require("./services");
|
|
25
|
+
const fs_1 = require("fs");
|
|
26
|
+
const providers = [
|
|
27
|
+
services_1.ApiConfigService,
|
|
28
|
+
services_1.ValidatorService,
|
|
29
|
+
services_1.AwsS3Service,
|
|
30
|
+
services_1.GeneratorService,
|
|
31
|
+
services_1.TranslationService,
|
|
32
|
+
];
|
|
33
|
+
services_1.ApiConfigService.rootPath =
|
|
34
|
+
process.env.NODE_ENV === 'test' ? process.cwd() : __dirname;
|
|
35
|
+
const envFilePath = path.join(services_1.ApiConfigService.rootPath, 'config', `${process.env.NODE_ENV || ''}.env`);
|
|
36
|
+
if (!(0, fs_1.existsSync)(envFilePath)) {
|
|
37
|
+
throw new Error(`*.env file not found in ${envFilePath}`);
|
|
38
|
+
}
|
|
39
|
+
const modules = [
|
|
40
|
+
config_1.ConfigModule.forRoot({
|
|
41
|
+
isGlobal: true,
|
|
42
|
+
expandVariables: true,
|
|
43
|
+
envFilePath: envFilePath,
|
|
44
|
+
}),
|
|
45
|
+
nestjs_sentry_1.SentryModule.forRootAsync({
|
|
46
|
+
inject: [services_1.ApiConfigService],
|
|
47
|
+
useFactory(configService) {
|
|
48
|
+
return configService.sentryConfig;
|
|
49
|
+
},
|
|
50
|
+
}),
|
|
51
|
+
nestjs_pino_1.LoggerModule.forRootAsync({
|
|
52
|
+
inject: [services_1.ApiConfigService],
|
|
53
|
+
useFactory: (config) => config.pinoConfig,
|
|
54
|
+
}),
|
|
55
|
+
typeorm_2.TypeOrmModule.forRootAsync({
|
|
56
|
+
inject: [services_1.ApiConfigService],
|
|
57
|
+
useFactory: (config) => config.typeormConfig,
|
|
58
|
+
dataSourceFactory: async (options) => {
|
|
59
|
+
return (0, typeorm_transactional_1.addTransactionalDataSource)(new typeorm_1.DataSource(options));
|
|
60
|
+
},
|
|
61
|
+
}),
|
|
62
|
+
nestjs_i18n_1.I18nModule.forRootAsync({
|
|
63
|
+
inject: [services_1.ApiConfigService],
|
|
64
|
+
useFactory: (config) => ({
|
|
65
|
+
fallbackLanguage: config.fallbackLanguage,
|
|
66
|
+
loaderOptions: {
|
|
67
|
+
path: path.join(__dirname, '/i18n/'),
|
|
68
|
+
watch: config.isDev,
|
|
69
|
+
},
|
|
70
|
+
logging: config.isDev,
|
|
71
|
+
}),
|
|
72
|
+
resolvers: [new nestjs_i18n_1.QueryResolver(['lang']), nestjs_i18n_1.AcceptLanguageResolver],
|
|
73
|
+
}),
|
|
74
|
+
health_checker_module_1.HealthCheckerModule,
|
|
75
|
+
];
|
|
76
|
+
if (services_1.ApiConfigService.toBoolean(process.env.BULL_ENABLED)) {
|
|
77
|
+
modules.push(bull_1.BullModule.forRootAsync({
|
|
78
|
+
inject: [services_1.ApiConfigService],
|
|
79
|
+
useFactory: (config) => config.bullConfig,
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
if (services_1.ApiConfigService.toBoolean(process.env.CACHE_ENABLED)) {
|
|
83
|
+
modules.push(cache_manager_1.CacheModule.registerAsync({
|
|
84
|
+
inject: [services_1.ApiConfigService],
|
|
85
|
+
useFactory: (config) => config.cacheConfig(),
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
if (services_1.ApiConfigService.toBoolean(process.env.SCHEDULE_ENABLED)) {
|
|
89
|
+
modules.push(schedule_1.ScheduleModule.forRoot());
|
|
90
|
+
}
|
|
91
|
+
let ServiceRegistryModule = class ServiceRegistryModule {
|
|
92
|
+
};
|
|
93
|
+
exports.ServiceRegistryModule = ServiceRegistryModule;
|
|
94
|
+
exports.ServiceRegistryModule = ServiceRegistryModule = __decorate([
|
|
95
|
+
(0, common_1.Global)(),
|
|
96
|
+
(0, common_1.Module)({
|
|
97
|
+
providers,
|
|
98
|
+
imports: modules,
|
|
99
|
+
exports: [...providers, ...modules],
|
|
100
|
+
})
|
|
101
|
+
], ServiceRegistryModule);
|
|
102
|
+
//# sourceMappingURL=serviceRegistryModule.js.map
|