jr-common-micro 0.6.1-dev
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/README.md +33 -0
- package/dist/common/dto/by_id_request_dto.d.ts +11 -0
- package/dist/common/dto/by_id_request_dto.js +10 -0
- package/dist/common/dto/index.d.ts +3 -0
- package/dist/common/dto/index.js +7 -0
- package/dist/common/dto/paginate_from_request_dto.d.ts +58 -0
- package/dist/common/dto/paginate_from_request_dto.js +22 -0
- package/dist/common/dto/paginate_request_dto.d.ts +23 -0
- package/dist/common/dto/paginate_request_dto.js +14 -0
- package/dist/common/exception/base_exception.d.ts +4 -0
- package/dist/common/exception/base_exception.js +14 -0
- package/dist/common/exception/index.d.ts +1 -0
- package/dist/common/exception/index.js +5 -0
- package/dist/common/factory/grpc_options_factory.d.ts +15 -0
- package/dist/common/factory/grpc_options_factory.js +63 -0
- package/dist/common/factory/index.d.ts +5 -0
- package/dist/common/factory/index.js +9 -0
- package/dist/common/factory/logger/index.d.ts +2 -0
- package/dist/common/factory/logger/index.js +6 -0
- package/dist/common/factory/logger/kafka_transport.d.ts +16 -0
- package/dist/common/factory/logger/kafka_transport.js +54 -0
- package/dist/common/factory/logger/winston_config.d.ts +22 -0
- package/dist/common/factory/logger/winston_config.js +141 -0
- package/dist/common/factory/module_metadata_factory.d.ts +24 -0
- package/dist/common/factory/module_metadata_factory.js +186 -0
- package/dist/common/factory/redis_client_factory.d.ts +5 -0
- package/dist/common/factory/redis_client_factory.js +22 -0
- package/dist/common/factory/redis_cluster_factory.d.ts +5 -0
- package/dist/common/factory/redis_cluster_factory.js +25 -0
- package/dist/common/filters/grpc_exceptions_filter.d.ts +6 -0
- package/dist/common/filters/grpc_exceptions_filter.js +26 -0
- package/dist/common/filters/index.d.ts +1 -0
- package/dist/common/filters/index.js +5 -0
- package/dist/common/guards/app_auth_guard.d.ts +5 -0
- package/dist/common/guards/app_auth_guard.js +38 -0
- package/dist/common/guards/app_internal_guard.d.ts +5 -0
- package/dist/common/guards/app_internal_guard.js +38 -0
- package/dist/common/guards/app_role_guard.d.ts +5 -0
- package/dist/common/guards/app_role_guard.js +43 -0
- package/dist/common/guards/index.d.ts +4 -0
- package/dist/common/guards/index.js +8 -0
- package/dist/common/guards/jwt_auth_user_decorator.d.ts +1 -0
- package/dist/common/guards/jwt_auth_user_decorator.js +31 -0
- package/dist/common/index.d.ts +8 -0
- package/dist/common/index.js +12 -0
- package/dist/common/interceptors/grpc/grpc_error_interceptors.d.ts +7 -0
- package/dist/common/interceptors/grpc/grpc_error_interceptors.js +35 -0
- package/dist/common/interceptors/grpc/index.d.ts +1 -0
- package/dist/common/interceptors/grpc/index.js +5 -0
- package/dist/common/interceptors/http/http_error_interceptors.d.ts +7 -0
- package/dist/common/interceptors/http/http_error_interceptors.js +30 -0
- package/dist/common/interceptors/http/http_response_interceptors.d.ts +7 -0
- package/dist/common/interceptors/http/http_response_interceptors.js +20 -0
- package/dist/common/interceptors/http/index.d.ts +2 -0
- package/dist/common/interceptors/http/index.js +6 -0
- package/dist/common/interceptors/index.d.ts +2 -0
- package/dist/common/interceptors/index.js +6 -0
- package/dist/common/kafka/index.d.ts +3 -0
- package/dist/common/kafka/index.js +7 -0
- package/dist/common/kafka/kafka_admin_service.d.ts +13 -0
- package/dist/common/kafka/kafka_admin_service.js +64 -0
- package/dist/common/kafka/kafka_consumer_service.d.ts +19 -0
- package/dist/common/kafka/kafka_consumer_service.js +80 -0
- package/dist/common/kafka/kafka_producer_service.d.ts +14 -0
- package/dist/common/kafka/kafka_producer_service.js +49 -0
- package/dist/common/service/crud/crud_service_interface.d.ts +20 -0
- package/dist/common/service/crud/crud_service_interface.js +2 -0
- package/dist/common/service/crud/index.d.ts +1 -0
- package/dist/common/service/crud/index.js +5 -0
- package/dist/common/service/index.d.ts +1 -0
- package/dist/common/service/index.js +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/proto/index.d.ts +1 -0
- package/dist/proto/index.js +5 -0
- package/dist/proto/micro/index.d.ts +1 -0
- package/dist/proto/micro/index.js +5 -0
- package/dist/proto/micro/v1/coin/analytics_messages_nest.d.ts +335 -0
- package/dist/proto/micro/v1/coin/analytics_messages_nest.js +18 -0
- package/dist/proto/micro/v1/coin/analytics_messages_pb.d.ts +670 -0
- package/dist/proto/micro/v1/coin/analytics_messages_pb.js +1456 -0
- package/dist/proto/micro/v1/coin/coin_messages_nest.d.ts +110 -0
- package/dist/proto/micro/v1/coin/coin_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/coin_messages_pb.d.ts +258 -0
- package/dist/proto/micro/v1/coin/coin_messages_pb.js +568 -0
- package/dist/proto/micro/v1/coin/coin_websocket_messages_nest.d.ts +72 -0
- package/dist/proto/micro/v1/coin/coin_websocket_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/coin_websocket_messages_pb.d.ts +128 -0
- package/dist/proto/micro/v1/coin/coin_websocket_messages_pb.js +276 -0
- package/dist/proto/micro/v1/coin/data_general_messages_nest.d.ts +54 -0
- package/dist/proto/micro/v1/coin/data_general_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/data_general_messages_pb.d.ts +118 -0
- package/dist/proto/micro/v1/coin/data_general_messages_pb.js +259 -0
- package/dist/proto/micro/v1/coin/data_microservice_messages_nest.d.ts +43 -0
- package/dist/proto/micro/v1/coin/data_microservice_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/data_microservice_messages_pb.d.ts +91 -0
- package/dist/proto/micro/v1/coin/data_microservice_messages_pb.js +199 -0
- package/dist/proto/micro/v1/coin/etf_messages_nest.d.ts +98 -0
- package/dist/proto/micro/v1/coin/etf_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/etf_messages_pb.d.ts +226 -0
- package/dist/proto/micro/v1/coin/etf_messages_pb.js +499 -0
- package/dist/proto/micro/v1/coin/index.d.ts +11 -0
- package/dist/proto/micro/v1/coin/index.js +15 -0
- package/dist/proto/micro/v1/coin/long_short_ratio_messages_nest.d.ts +55 -0
- package/dist/proto/micro/v1/coin/long_short_ratio_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/long_short_ratio_messages_pb.d.ts +115 -0
- package/dist/proto/micro/v1/coin/long_short_ratio_messages_pb.js +249 -0
- package/dist/proto/micro/v1/coin/rsi_messages_nest.d.ts +42 -0
- package/dist/proto/micro/v1/coin/rsi_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/rsi_messages_pb.d.ts +98 -0
- package/dist/proto/micro/v1/coin/rsi_messages_pb.js +216 -0
- package/dist/proto/micro/v1/coin/services_connect.d.ts +413 -0
- package/dist/proto/micro/v1/coin/services_connect.js +416 -0
- package/dist/proto/micro/v1/coin/services_nest.d.ts +200 -0
- package/dist/proto/micro/v1/coin/services_nest.js +244 -0
- package/dist/proto/micro/v1/coin/token_unlocks_messages_nest.d.ts +53 -0
- package/dist/proto/micro/v1/coin/token_unlocks_messages_nest.js +5 -0
- package/dist/proto/micro/v1/coin/token_unlocks_messages_pb.d.ts +101 -0
- package/dist/proto/micro/v1/coin/token_unlocks_messages_pb.js +214 -0
- package/dist/proto/micro/v1/data/daily_market_data_messages_nest.d.ts +18 -0
- package/dist/proto/micro/v1/data/daily_market_data_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/daily_market_data_messages_pb.d.ts +42 -0
- package/dist/proto/micro/v1/data/daily_market_data_messages_pb.js +92 -0
- package/dist/proto/micro/v1/data/dominance_messages_nest.d.ts +35 -0
- package/dist/proto/micro/v1/data/dominance_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/dominance_messages_pb.d.ts +75 -0
- package/dist/proto/micro/v1/data/dominance_messages_pb.js +164 -0
- package/dist/proto/micro/v1/data/exchanges_messages_nest.d.ts +153 -0
- package/dist/proto/micro/v1/data/exchanges_messages_nest.js +11 -0
- package/dist/proto/micro/v1/data/exchanges_messages_pb.d.ts +256 -0
- package/dist/proto/micro/v1/data/exchanges_messages_pb.js +546 -0
- package/dist/proto/micro/v1/data/funding_rate_messages_nest.d.ts +52 -0
- package/dist/proto/micro/v1/data/funding_rate_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/funding_rate_messages_pb.d.ts +68 -0
- package/dist/proto/micro/v1/data/funding_rate_messages_pb.js +131 -0
- package/dist/proto/micro/v1/data/global_stats_messages_nest.d.ts +17 -0
- package/dist/proto/micro/v1/data/global_stats_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/global_stats_messages_pb.d.ts +25 -0
- package/dist/proto/micro/v1/data/global_stats_messages_pb.js +53 -0
- package/dist/proto/micro/v1/data/homepage_messages_nest.d.ts +35 -0
- package/dist/proto/micro/v1/data/homepage_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/homepage_messages_pb.d.ts +83 -0
- package/dist/proto/micro/v1/data/homepage_messages_pb.js +183 -0
- package/dist/proto/micro/v1/data/index.d.ts +22 -0
- package/dist/proto/micro/v1/data/index.js +26 -0
- package/dist/proto/micro/v1/data/inflow_outflow_messages_nest.d.ts +72 -0
- package/dist/proto/micro/v1/data/inflow_outflow_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/inflow_outflow_messages_pb.d.ts +136 -0
- package/dist/proto/micro/v1/data/inflow_outflow_messages_pb.js +295 -0
- package/dist/proto/micro/v1/data/liquidation_heat_map_m2_messages_nest.d.ts +44 -0
- package/dist/proto/micro/v1/data/liquidation_heat_map_m2_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/liquidation_heat_map_m2_messages_pb.d.ts +100 -0
- package/dist/proto/micro/v1/data/liquidation_heat_map_m2_messages_pb.js +221 -0
- package/dist/proto/micro/v1/data/liquidation_v1_messages_nest.d.ts +34 -0
- package/dist/proto/micro/v1/data/liquidation_v1_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/liquidation_v1_messages_pb.d.ts +82 -0
- package/dist/proto/micro/v1/data/liquidation_v1_messages_pb.js +181 -0
- package/dist/proto/micro/v1/data/mvrvz_score_messages_nest.d.ts +10 -0
- package/dist/proto/micro/v1/data/mvrvz_score_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/mvrvz_score_messages_pb.d.ts +26 -0
- package/dist/proto/micro/v1/data/mvrvz_score_messages_pb.js +58 -0
- package/dist/proto/micro/v1/data/puell_multiple_messages_nest.d.ts +14 -0
- package/dist/proto/micro/v1/data/puell_multiple_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/puell_multiple_messages_pb.d.ts +30 -0
- package/dist/proto/micro/v1/data/puell_multiple_messages_pb.js +65 -0
- package/dist/proto/micro/v1/data/puppeteer_messages_nest.d.ts +24 -0
- package/dist/proto/micro/v1/data/puppeteer_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/puppeteer_messages_pb.d.ts +40 -0
- package/dist/proto/micro/v1/data/puppeteer_messages_pb.js +84 -0
- package/dist/proto/micro/v1/data/rainbow_messages_nest.d.ts +10 -0
- package/dist/proto/micro/v1/data/rainbow_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/rainbow_messages_pb.d.ts +26 -0
- package/dist/proto/micro/v1/data/rainbow_messages_pb.js +57 -0
- package/dist/proto/micro/v1/data/rsi_list_messages_nest.d.ts +23 -0
- package/dist/proto/micro/v1/data/rsi_list_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/rsi_list_messages_pb.d.ts +39 -0
- package/dist/proto/micro/v1/data/rsi_list_messages_pb.js +83 -0
- package/dist/proto/micro/v1/data/scrape_assets_messages_nest.d.ts +20 -0
- package/dist/proto/micro/v1/data/scrape_assets_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/scrape_assets_messages_pb.d.ts +36 -0
- package/dist/proto/micro/v1/data/scrape_assets_messages_pb.js +77 -0
- package/dist/proto/micro/v1/data/scrape_treasuries_messages_nest.d.ts +37 -0
- package/dist/proto/micro/v1/data/scrape_treasuries_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/scrape_treasuries_messages_pb.d.ts +69 -0
- package/dist/proto/micro/v1/data/scrape_treasuries_messages_pb.js +149 -0
- package/dist/proto/micro/v1/data/services_connect.d.ts +325 -0
- package/dist/proto/micro/v1/data/services_connect.js +328 -0
- package/dist/proto/micro/v1/data/services_nest.d.ts +207 -0
- package/dist/proto/micro/v1/data/services_nest.js +326 -0
- package/dist/proto/micro/v1/data/token_unlocks_connect.d.ts +19 -0
- package/dist/proto/micro/v1/data/token_unlocks_connect.js +22 -0
- package/dist/proto/micro/v1/data/token_unlocks_nest.d.ts +69 -0
- package/dist/proto/micro/v1/data/token_unlocks_nest.js +22 -0
- package/dist/proto/micro/v1/data/token_unlocks_pb.d.ts +109 -0
- package/dist/proto/micro/v1/data/token_unlocks_pb.js +234 -0
- package/dist/proto/micro/v1/data/two_hundred_week_moving_average_messages_nest.d.ts +15 -0
- package/dist/proto/micro/v1/data/two_hundred_week_moving_average_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/two_hundred_week_moving_average_messages_pb.d.ts +31 -0
- package/dist/proto/micro/v1/data/two_hundred_week_moving_average_messages_pb.js +68 -0
- package/dist/proto/micro/v1/data/two_year_ma_multipler_messages_nest.d.ts +15 -0
- package/dist/proto/micro/v1/data/two_year_ma_multipler_messages_nest.js +5 -0
- package/dist/proto/micro/v1/data/two_year_ma_multipler_messages_pb.d.ts +31 -0
- package/dist/proto/micro/v1/data/two_year_ma_multipler_messages_pb.js +67 -0
- package/dist/proto/micro/v1/education/education_messages_nest.d.ts +370 -0
- package/dist/proto/micro/v1/education/education_messages_nest.js +5 -0
- package/dist/proto/micro/v1/education/education_messages_pb.d.ts +610 -0
- package/dist/proto/micro/v1/education/education_messages_pb.js +1264 -0
- package/dist/proto/micro/v1/education/index.d.ts +3 -0
- package/dist/proto/micro/v1/education/index.js +7 -0
- package/dist/proto/micro/v1/education/services_connect.d.ts +375 -0
- package/dist/proto/micro/v1/education/services_connect.js +378 -0
- package/dist/proto/micro/v1/education/services_nest.d.ts +182 -0
- package/dist/proto/micro/v1/education/services_nest.js +198 -0
- package/dist/proto/micro/v1/general_nest.d.ts +115 -0
- package/dist/proto/micro/v1/general_nest.js +51 -0
- package/dist/proto/micro/v1/general_pb.d.ts +211 -0
- package/dist/proto/micro/v1/general_pb.js +460 -0
- package/dist/proto/micro/v1/index.d.ts +10 -0
- package/dist/proto/micro/v1/index.js +14 -0
- package/dist/proto/micro/v1/media/index.d.ts +3 -0
- package/dist/proto/micro/v1/media/index.js +7 -0
- package/dist/proto/micro/v1/media/media_messages_nest.d.ts +92 -0
- package/dist/proto/micro/v1/media/media_messages_nest.js +21 -0
- package/dist/proto/micro/v1/media/media_messages_pb.d.ts +202 -0
- package/dist/proto/micro/v1/media/media_messages_pb.js +447 -0
- package/dist/proto/micro/v1/media/services_connect.d.ts +55 -0
- package/dist/proto/micro/v1/media/services_connect.js +58 -0
- package/dist/proto/micro/v1/media/services_nest.d.ts +32 -0
- package/dist/proto/micro/v1/media/services_nest.js +45 -0
- package/dist/proto/micro/v1/news/app_version_message_nest.d.ts +40 -0
- package/dist/proto/micro/v1/news/app_version_message_nest.js +5 -0
- package/dist/proto/micro/v1/news/app_version_message_pb.d.ts +72 -0
- package/dist/proto/micro/v1/news/app_version_message_pb.js +150 -0
- package/dist/proto/micro/v1/news/blog_messages_nest.d.ts +162 -0
- package/dist/proto/micro/v1/news/blog_messages_nest.js +5 -0
- package/dist/proto/micro/v1/news/blog_messages_pb.d.ts +246 -0
- package/dist/proto/micro/v1/news/blog_messages_pb.js +495 -0
- package/dist/proto/micro/v1/news/calendar_messages_nest.d.ts +70 -0
- package/dist/proto/micro/v1/news/calendar_messages_nest.js +5 -0
- package/dist/proto/micro/v1/news/calendar_messages_pb.d.ts +98 -0
- package/dist/proto/micro/v1/news/calendar_messages_pb.js +193 -0
- package/dist/proto/micro/v1/news/economic_calendar_messages_nest.d.ts +28 -0
- package/dist/proto/micro/v1/news/economic_calendar_messages_nest.js +5 -0
- package/dist/proto/micro/v1/news/economic_calendar_messages_pb.d.ts +48 -0
- package/dist/proto/micro/v1/news/economic_calendar_messages_pb.js +100 -0
- package/dist/proto/micro/v1/news/index.d.ts +9 -0
- package/dist/proto/micro/v1/news/index.js +13 -0
- package/dist/proto/micro/v1/news/jr_blog_messages_nest.d.ts +321 -0
- package/dist/proto/micro/v1/news/jr_blog_messages_nest.js +5 -0
- package/dist/proto/micro/v1/news/jr_blog_messages_pb.d.ts +477 -0
- package/dist/proto/micro/v1/news/jr_blog_messages_pb.js +954 -0
- package/dist/proto/micro/v1/news/news_messages_nest.d.ts +270 -0
- package/dist/proto/micro/v1/news/news_messages_nest.js +5 -0
- package/dist/proto/micro/v1/news/news_messages_pb.d.ts +418 -0
- package/dist/proto/micro/v1/news/news_messages_pb.js +848 -0
- package/dist/proto/micro/v1/news/services_connect.d.ts +549 -0
- package/dist/proto/micro/v1/news/services_connect.js +552 -0
- package/dist/proto/micro/v1/news/services_nest.d.ts +244 -0
- package/dist/proto/micro/v1/news/services_nest.js +261 -0
- package/dist/proto/micro/v1/news/sundown_messages_nest.d.ts +99 -0
- package/dist/proto/micro/v1/news/sundown_messages_nest.js +5 -0
- package/dist/proto/micro/v1/news/sundown_messages_pb.d.ts +131 -0
- package/dist/proto/micro/v1/news/sundown_messages_pb.js +253 -0
- package/dist/proto/micro/v1/notification/index.d.ts +4 -0
- package/dist/proto/micro/v1/notification/index.js +8 -0
- package/dist/proto/micro/v1/notification/mail_messages_nest.d.ts +31 -0
- package/dist/proto/micro/v1/notification/mail_messages_nest.js +5 -0
- package/dist/proto/micro/v1/notification/mail_messages_pb.d.ts +63 -0
- package/dist/proto/micro/v1/notification/mail_messages_pb.js +138 -0
- package/dist/proto/micro/v1/notification/notification_messages_nest.d.ts +164 -0
- package/dist/proto/micro/v1/notification/notification_messages_nest.js +5 -0
- package/dist/proto/micro/v1/notification/notification_messages_pb.d.ts +356 -0
- package/dist/proto/micro/v1/notification/notification_messages_pb.js +783 -0
- package/dist/proto/micro/v1/notification/services_connect.d.ts +139 -0
- package/dist/proto/micro/v1/notification/services_connect.js +142 -0
- package/dist/proto/micro/v1/notification/services_nest.d.ts +65 -0
- package/dist/proto/micro/v1/notification/services_nest.js +70 -0
- package/dist/proto/micro/v1/portfolio/index.d.ts +5 -0
- package/dist/proto/micro/v1/portfolio/index.js +9 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_messages_nest.d.ts +17 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_messages_nest.js +5 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_messages_pb.d.ts +41 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_messages_pb.js +89 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_trasaction_messages_nest.d.ts +34 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_trasaction_messages_nest.js +5 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_trasaction_messages_pb.d.ts +82 -0
- package/dist/proto/micro/v1/portfolio/portfolio_coin_trasaction_messages_pb.js +180 -0
- package/dist/proto/micro/v1/portfolio/portfolio_messages_nest.d.ts +154 -0
- package/dist/proto/micro/v1/portfolio/portfolio_messages_nest.js +5 -0
- package/dist/proto/micro/v1/portfolio/portfolio_messages_pb.d.ts +370 -0
- package/dist/proto/micro/v1/portfolio/portfolio_messages_pb.js +820 -0
- package/dist/proto/micro/v1/portfolio/services_connect.d.ts +140 -0
- package/dist/proto/micro/v1/portfolio/services_connect.js +143 -0
- package/dist/proto/micro/v1/portfolio/services_nest.d.ts +66 -0
- package/dist/proto/micro/v1/portfolio/services_nest.js +74 -0
- package/dist/proto/micro/v1/puppeteer/index.d.ts +3 -0
- package/dist/proto/micro/v1/puppeteer/index.js +7 -0
- package/dist/proto/micro/v1/puppeteer/puppeteer_messages_nest.d.ts +2 -0
- package/dist/proto/micro/v1/puppeteer/puppeteer_messages_nest.js +5 -0
- package/dist/proto/micro/v1/puppeteer/services_connect.d.ts +89 -0
- package/dist/proto/micro/v1/puppeteer/services_connect.js +92 -0
- package/dist/proto/micro/v1/puppeteer/services_nest.d.ts +47 -0
- package/dist/proto/micro/v1/puppeteer/services_nest.js +63 -0
- package/dist/proto/micro/v1/user/auth_messages_nest.d.ts +87 -0
- package/dist/proto/micro/v1/user/auth_messages_nest.js +5 -0
- package/dist/proto/micro/v1/user/auth_messages_pb.d.ts +263 -0
- package/dist/proto/micro/v1/user/auth_messages_pb.js +590 -0
- package/dist/proto/micro/v1/user/authorization_messages_nest.d.ts +47 -0
- package/dist/proto/micro/v1/user/authorization_messages_nest.js +5 -0
- package/dist/proto/micro/v1/user/authorization_messages_pb.d.ts +111 -0
- package/dist/proto/micro/v1/user/authorization_messages_pb.js +245 -0
- package/dist/proto/micro/v1/user/index.d.ts +6 -0
- package/dist/proto/micro/v1/user/index.js +10 -0
- package/dist/proto/micro/v1/user/services_connect.d.ts +315 -0
- package/dist/proto/micro/v1/user/services_connect.js +318 -0
- package/dist/proto/micro/v1/user/services_nest.d.ts +151 -0
- package/dist/proto/micro/v1/user/services_nest.js +172 -0
- package/dist/proto/micro/v1/user/site_settings_messages_nest.d.ts +19 -0
- package/dist/proto/micro/v1/user/site_settings_messages_nest.js +12 -0
- package/dist/proto/micro/v1/user/site_settings_messages_pb.d.ts +42 -0
- package/dist/proto/micro/v1/user/site_settings_messages_pb.js +93 -0
- package/dist/proto/micro/v1/user/user_messages_nest.d.ts +175 -0
- package/dist/proto/micro/v1/user/user_messages_nest.js +12 -0
- package/dist/proto/micro/v1/user/user_messages_pb.d.ts +358 -0
- package/dist/proto/micro/v1/user/user_messages_pb.js +784 -0
- package/dist/utils/constants.d.ts +45 -0
- package/dist/utils/constants.js +48 -0
- package/dist/utils/functions.d.ts +70 -0
- package/dist/utils/functions.js +425 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/logger_names.d.ts +8 -0
- package/dist/utils/logger_names.js +41 -0
- package/dist/utils/minimatch/assert_valid_pattern.d.ts +1 -0
- package/dist/utils/minimatch/assert_valid_pattern.js +13 -0
- package/dist/utils/minimatch/ast.d.ts +19 -0
- package/dist/utils/minimatch/ast.js +446 -0
- package/dist/utils/minimatch/balanced_match.d.ts +2 -0
- package/dist/utils/minimatch/balanced_match.js +57 -0
- package/dist/utils/minimatch/brace_expansion.d.ts +1 -0
- package/dist/utils/minimatch/brace_expansion.js +181 -0
- package/dist/utils/minimatch/brace_expressions.d.ts +7 -0
- package/dist/utils/minimatch/brace_expressions.js +119 -0
- package/dist/utils/minimatch/escape.d.ts +2 -0
- package/dist/utils/minimatch/escape.js +9 -0
- package/dist/utils/minimatch/index.d.ts +93 -0
- package/dist/utils/minimatch/index.js +788 -0
- package/dist/utils/minimatch/matcher_collection.d.ts +9 -0
- package/dist/utils/minimatch/matcher_collection.js +30 -0
- package/dist/utils/minimatch/unescape.d.ts +2 -0
- package/dist/utils/minimatch/unescape.js +11 -0
- package/dist/utils/types.d.ts +70 -0
- package/dist/utils/types.js +22 -0
- package/dist/utils/walk_sync.d.ts +25 -0
- package/dist/utils/walk_sync.js +184 -0
- package/package.json +87 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createHttpServer = exports.createTestingModule = exports.createGrpcMicro = exports.AppMicroModule = exports.moduleMetadataTestingFactory = exports.moduleMetadataFactory = exports.getDefaultCacheModule = exports.getTestingConfigModule = exports.getDefaultConfigModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const cache_manager_1 = require("@nestjs/cache-manager");
|
|
6
|
+
const config_1 = require("@nestjs/config");
|
|
7
|
+
const core_1 = require("@nestjs/core");
|
|
8
|
+
const jwt_1 = require("@nestjs/jwt");
|
|
9
|
+
const testing_1 = require("@nestjs/testing");
|
|
10
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
11
|
+
const getDefaultConfigModule = (appConfig) => {
|
|
12
|
+
const result = config_1.ConfigModule.forRoot({
|
|
13
|
+
isGlobal: true,
|
|
14
|
+
load: appConfig,
|
|
15
|
+
envFilePath: ['.env'],
|
|
16
|
+
cache: true,
|
|
17
|
+
expandVariables: true,
|
|
18
|
+
validationOptions: {
|
|
19
|
+
allowUnknown: true,
|
|
20
|
+
abortEarly: true,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
exports.getDefaultConfigModule = getDefaultConfigModule;
|
|
26
|
+
const getTestingConfigModule = (appConfig) => config_1.ConfigModule.forRoot({
|
|
27
|
+
isGlobal: true,
|
|
28
|
+
load: appConfig,
|
|
29
|
+
envFilePath: ['.env.test'],
|
|
30
|
+
cache: true,
|
|
31
|
+
expandVariables: true,
|
|
32
|
+
validationOptions: {
|
|
33
|
+
allowUnknown: true,
|
|
34
|
+
abortEarly: true,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
exports.getTestingConfigModule = getTestingConfigModule;
|
|
38
|
+
const getDefaultCacheModule = () => cache_manager_1.CacheModule.registerAsync({
|
|
39
|
+
imports: [config_1.ConfigModule],
|
|
40
|
+
useFactory: async (configService) => {
|
|
41
|
+
const options = {};
|
|
42
|
+
options.ttl = 60;
|
|
43
|
+
options.isGlobal = true;
|
|
44
|
+
return options;
|
|
45
|
+
},
|
|
46
|
+
inject: [config_1.ConfigService],
|
|
47
|
+
});
|
|
48
|
+
exports.getDefaultCacheModule = getDefaultCacheModule;
|
|
49
|
+
const moduleMetadataFactory = (inputMeta, appConfig) => {
|
|
50
|
+
const moduleMetadata = {
|
|
51
|
+
imports: [
|
|
52
|
+
(0, exports.getDefaultConfigModule)(appConfig),
|
|
53
|
+
(0, exports.getDefaultCacheModule)(),
|
|
54
|
+
...(inputMeta.imports ?? []),
|
|
55
|
+
],
|
|
56
|
+
controllers: [...(inputMeta.controllers ?? [])],
|
|
57
|
+
providers: [...(inputMeta.providers ?? [])],
|
|
58
|
+
};
|
|
59
|
+
return moduleMetadata;
|
|
60
|
+
};
|
|
61
|
+
exports.moduleMetadataFactory = moduleMetadataFactory;
|
|
62
|
+
const moduleMetadataTestingFactory = (inputMeta, appConfig) => {
|
|
63
|
+
const moduleMetadata = {
|
|
64
|
+
imports: [
|
|
65
|
+
config_1.ConfigModule.forRoot({
|
|
66
|
+
isGlobal: true,
|
|
67
|
+
load: appConfig,
|
|
68
|
+
envFilePath: ['.env.test'],
|
|
69
|
+
cache: true,
|
|
70
|
+
expandVariables: true,
|
|
71
|
+
validationOptions: {
|
|
72
|
+
allowUnknown: true,
|
|
73
|
+
abortEarly: true,
|
|
74
|
+
},
|
|
75
|
+
}),
|
|
76
|
+
cache_manager_1.CacheModule.register({
|
|
77
|
+
isGlobal: true,
|
|
78
|
+
}),
|
|
79
|
+
...(inputMeta.imports ?? []),
|
|
80
|
+
],
|
|
81
|
+
controllers: [...(inputMeta.controllers ?? [])],
|
|
82
|
+
providers: [...(inputMeta.providers ?? [])],
|
|
83
|
+
};
|
|
84
|
+
return moduleMetadata;
|
|
85
|
+
};
|
|
86
|
+
exports.moduleMetadataTestingFactory = moduleMetadataTestingFactory;
|
|
87
|
+
class AppMicroModule {
|
|
88
|
+
}
|
|
89
|
+
exports.AppMicroModule = AppMicroModule;
|
|
90
|
+
const createGrpcMicro = async (moduleMetadata, config, grpcOptions) => {
|
|
91
|
+
const objectAppModule = {
|
|
92
|
+
module: AppMicroModule,
|
|
93
|
+
imports: [
|
|
94
|
+
config_1.ConfigModule.forRoot({
|
|
95
|
+
isGlobal: true,
|
|
96
|
+
validate: () => config,
|
|
97
|
+
envFilePath: [path_1.default.join(process.cwd(), '.env')],
|
|
98
|
+
cache: true,
|
|
99
|
+
expandVariables: true,
|
|
100
|
+
validationOptions: {
|
|
101
|
+
allowUnknown: true,
|
|
102
|
+
abortEarly: true,
|
|
103
|
+
},
|
|
104
|
+
}),
|
|
105
|
+
cache_manager_1.CacheModule.register({
|
|
106
|
+
isGlobal: true,
|
|
107
|
+
ttl: 60,
|
|
108
|
+
}),
|
|
109
|
+
...(moduleMetadata.imports ?? []),
|
|
110
|
+
],
|
|
111
|
+
controllers: [...(moduleMetadata.controllers ?? [])],
|
|
112
|
+
providers: [...(moduleMetadata.providers ?? [])],
|
|
113
|
+
};
|
|
114
|
+
const app = await core_1.NestFactory.createMicroservice(objectAppModule, {
|
|
115
|
+
abortOnError: true,
|
|
116
|
+
...grpcOptions,
|
|
117
|
+
});
|
|
118
|
+
app.enableShutdownHooks();
|
|
119
|
+
return app;
|
|
120
|
+
};
|
|
121
|
+
exports.createGrpcMicro = createGrpcMicro;
|
|
122
|
+
const createTestingModule = async (moduleMetadata, config) => {
|
|
123
|
+
const objectAppModule = {
|
|
124
|
+
module: AppMicroModule,
|
|
125
|
+
imports: [
|
|
126
|
+
config_1.ConfigModule.forRoot({
|
|
127
|
+
isGlobal: true,
|
|
128
|
+
validate: () => config,
|
|
129
|
+
envFilePath: [path_1.default.join(process.cwd(), '.env')],
|
|
130
|
+
cache: true,
|
|
131
|
+
expandVariables: true,
|
|
132
|
+
validationOptions: {
|
|
133
|
+
allowUnknown: true,
|
|
134
|
+
abortEarly: true,
|
|
135
|
+
},
|
|
136
|
+
}),
|
|
137
|
+
cache_manager_1.CacheModule.register({
|
|
138
|
+
isGlobal: true,
|
|
139
|
+
ttl: 60,
|
|
140
|
+
}),
|
|
141
|
+
...(moduleMetadata.imports ?? []),
|
|
142
|
+
],
|
|
143
|
+
controllers: [...(moduleMetadata.controllers ?? [])],
|
|
144
|
+
providers: [...(moduleMetadata.providers ?? [])],
|
|
145
|
+
};
|
|
146
|
+
const module = await testing_1.Test.createTestingModule(objectAppModule);
|
|
147
|
+
return await module.compile();
|
|
148
|
+
};
|
|
149
|
+
exports.createTestingModule = createTestingModule;
|
|
150
|
+
const createHttpServer = async (moduleMetadata, config, fastifyAdapter) => {
|
|
151
|
+
const objectAppModule = {
|
|
152
|
+
module: AppMicroModule,
|
|
153
|
+
imports: [
|
|
154
|
+
config_1.ConfigModule.forRoot({
|
|
155
|
+
isGlobal: true,
|
|
156
|
+
validate: () => config,
|
|
157
|
+
envFilePath: [path_1.default.join(process.cwd(), '.env')],
|
|
158
|
+
cache: true,
|
|
159
|
+
expandVariables: true,
|
|
160
|
+
validationOptions: {
|
|
161
|
+
allowUnknown: true,
|
|
162
|
+
abortEarly: true,
|
|
163
|
+
},
|
|
164
|
+
}),
|
|
165
|
+
cache_manager_1.CacheModule.register({
|
|
166
|
+
isGlobal: true,
|
|
167
|
+
ttl: 60,
|
|
168
|
+
}),
|
|
169
|
+
jwt_1.JwtModule.register({
|
|
170
|
+
global: true,
|
|
171
|
+
secret: config.jwt_secret,
|
|
172
|
+
signOptions: { expiresIn: '3h' },
|
|
173
|
+
}),
|
|
174
|
+
...(moduleMetadata.imports ?? []),
|
|
175
|
+
],
|
|
176
|
+
controllers: [...(moduleMetadata.controllers ?? [])],
|
|
177
|
+
providers: [...(moduleMetadata.providers ?? [])],
|
|
178
|
+
};
|
|
179
|
+
const app = await core_1.NestFactory.create(objectAppModule, fastifyAdapter, {
|
|
180
|
+
forceCloseConnections: true,
|
|
181
|
+
abortOnError: true,
|
|
182
|
+
});
|
|
183
|
+
app.enableShutdownHooks();
|
|
184
|
+
return app;
|
|
185
|
+
};
|
|
186
|
+
exports.createHttpServer = createHttpServer;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FactoryProvider } from '@nestjs/common';
|
|
2
|
+
import { Redis, RedisOptions } from 'ioredis';
|
|
3
|
+
export type RedisClientCreatorFnType = () => Redis;
|
|
4
|
+
export declare const REDIS_CLIENT_CREATOR = "REDIS_CLIENT_CREATOR";
|
|
5
|
+
export declare const redisClientFactory: (config: RedisOptions) => FactoryProvider<RedisClientCreatorFnType>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redisClientFactory = exports.REDIS_CLIENT_CREATOR = void 0;
|
|
4
|
+
const ioredis_1 = require("ioredis");
|
|
5
|
+
exports.REDIS_CLIENT_CREATOR = 'REDIS_CLIENT_CREATOR';
|
|
6
|
+
const redisClientFactory = (config) => {
|
|
7
|
+
const obj = {
|
|
8
|
+
provide: exports.REDIS_CLIENT_CREATOR,
|
|
9
|
+
useFactory: () => {
|
|
10
|
+
return () => {
|
|
11
|
+
const redisInstance = new ioredis_1.Redis(config);
|
|
12
|
+
redisInstance.on('error', (e) => {
|
|
13
|
+
throw new Error(`Redis connection failed: ${e}`);
|
|
14
|
+
});
|
|
15
|
+
return redisInstance;
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
inject: [],
|
|
19
|
+
};
|
|
20
|
+
return obj;
|
|
21
|
+
};
|
|
22
|
+
exports.redisClientFactory = redisClientFactory;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FactoryProvider } from '@nestjs/common';
|
|
2
|
+
import { Cluster, ClusterNode, ClusterOptions } from 'ioredis';
|
|
3
|
+
export type RedisClusterCreatorFnType = () => Cluster;
|
|
4
|
+
export declare const REDIS_CLUSTER_CREATOR = "REDIS_CLUSTER_CREATOR";
|
|
5
|
+
export declare const redisClusterFactory: (nodes: ClusterNode[], clusterOptions: ClusterOptions) => FactoryProvider<RedisClusterCreatorFnType>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redisClusterFactory = exports.REDIS_CLUSTER_CREATOR = void 0;
|
|
4
|
+
const ioredis_1 = require("ioredis");
|
|
5
|
+
exports.REDIS_CLUSTER_CREATOR = 'REDIS_CLUSTER_CREATOR';
|
|
6
|
+
const redisClusterFactory = (nodes, clusterOptions) => {
|
|
7
|
+
return {
|
|
8
|
+
provide: exports.REDIS_CLUSTER_CREATOR,
|
|
9
|
+
useFactory: () => {
|
|
10
|
+
return () => {
|
|
11
|
+
const clusterInstance = new ioredis_1.Cluster(nodes, clusterOptions);
|
|
12
|
+
clusterInstance.on('error', (err) => {
|
|
13
|
+
console.error(`KeyDB Cluster connection error: ${err.message}`);
|
|
14
|
+
});
|
|
15
|
+
clusterInstance.on('connect', () => {
|
|
16
|
+
console.log('Connected to KeyDB Cluster');
|
|
17
|
+
});
|
|
18
|
+
return clusterInstance;
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
inject: [],
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.redisClusterFactory = redisClusterFactory;
|
|
25
|
+
;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
|
|
2
|
+
import { RpcException } from '@nestjs/microservices';
|
|
3
|
+
import { EmptyResponse } from '../../proto/micro/v1/general_nest';
|
|
4
|
+
export declare class GrpcExceptionFilter implements ExceptionFilter {
|
|
5
|
+
catch(exception: RpcException, host: ArgumentsHost): Promise<EmptyResponse>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GrpcExceptionFilter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
let GrpcExceptionFilter = class GrpcExceptionFilter {
|
|
7
|
+
async catch(exception, host) {
|
|
8
|
+
const ctx = host.switchToRpc();
|
|
9
|
+
const data = ctx.getData();
|
|
10
|
+
const message = exception.message;
|
|
11
|
+
console.log('>> GrpcExceptionFilter exception', exception);
|
|
12
|
+
const errors = [message];
|
|
13
|
+
const inputs = {};
|
|
14
|
+
const result = {
|
|
15
|
+
status: {
|
|
16
|
+
code: 400,
|
|
17
|
+
error: { errors, inputs },
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.GrpcExceptionFilter = GrpcExceptionFilter;
|
|
24
|
+
exports.GrpcExceptionFilter = GrpcExceptionFilter = tslib_1.__decorate([
|
|
25
|
+
(0, common_1.Catch)()
|
|
26
|
+
], GrpcExceptionFilter);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as grpc_exceptions_filter from './grpc_exceptions_filter';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppAuthGuard = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const functions_1 = require("../../utils/functions");
|
|
6
|
+
class AppAuthGuard {
|
|
7
|
+
logger = new common_1.Logger(AppAuthGuard.name);
|
|
8
|
+
async canActivate(context) {
|
|
9
|
+
const type = context.getType();
|
|
10
|
+
const prefix = 'Bearer ';
|
|
11
|
+
let header = '';
|
|
12
|
+
if (type === 'rpc') {
|
|
13
|
+
const metadata = context.getArgByIndex(1);
|
|
14
|
+
if (!metadata) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
header = metadata.get('Authorization')[0];
|
|
18
|
+
}
|
|
19
|
+
else if (type === 'http') {
|
|
20
|
+
const request = context.switchToHttp().getRequest();
|
|
21
|
+
header = request.headers.authorization + '';
|
|
22
|
+
}
|
|
23
|
+
if (!header || !header?.startsWith(prefix)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const user = (0, functions_1.getBearerUser)(header);
|
|
27
|
+
if (user) {
|
|
28
|
+
if (type === 'rpc') {
|
|
29
|
+
context.switchToRpc().getData().user = user;
|
|
30
|
+
}
|
|
31
|
+
else if (type === 'http') {
|
|
32
|
+
context.switchToHttp().getRequest().user = user;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return !!user;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.AppAuthGuard = AppAuthGuard;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppInternalGuard = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
7
|
+
const constants_1 = require("../../utils/constants");
|
|
8
|
+
const functions_1 = require("../../utils/functions");
|
|
9
|
+
class AppInternalGuard {
|
|
10
|
+
logger = new common_1.Logger(AppInternalGuard.name);
|
|
11
|
+
async canActivate(context) {
|
|
12
|
+
const type = context.getType();
|
|
13
|
+
const prefix = 'Bearer ';
|
|
14
|
+
let header = '';
|
|
15
|
+
if (type === 'rpc') {
|
|
16
|
+
const metadata = context.getArgByIndex(1);
|
|
17
|
+
if (!metadata) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
header = metadata.get(constants_1.X_INTERNAL_HASH)[0] + '';
|
|
21
|
+
}
|
|
22
|
+
else if (type === 'http') {
|
|
23
|
+
const request = context.switchToHttp().getRequest();
|
|
24
|
+
header = request.headers[constants_1.X_INTERNAL_HASH] + '';
|
|
25
|
+
}
|
|
26
|
+
if (!header || !header?.startsWith(prefix)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const token = header.slice(header.indexOf(' ') + 1);
|
|
30
|
+
const validHash = crypto_1.default
|
|
31
|
+
.createHash('md5')
|
|
32
|
+
.update((0, functions_1.getEnv)('JWT_SECRET'))
|
|
33
|
+
.digest('hex')
|
|
34
|
+
.toLowerCase();
|
|
35
|
+
return token === validHash;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.AppInternalGuard = AppInternalGuard;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppRoleGuard = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const functions_1 = require("../../utils/functions");
|
|
6
|
+
const AppRoleGuard = (rawRole) => {
|
|
7
|
+
class AppRoleGuardMixin {
|
|
8
|
+
logger = new common_1.Logger(AppRoleGuardMixin.name);
|
|
9
|
+
async canActivate(context) {
|
|
10
|
+
const type = context.getType();
|
|
11
|
+
const prefix = 'Bearer ';
|
|
12
|
+
const requiredRoles = typeof rawRole === 'string'
|
|
13
|
+
? rawRole.split('|').map((item) => item.trim())
|
|
14
|
+
: rawRole.map((item) => item.trim());
|
|
15
|
+
let header = '';
|
|
16
|
+
if (type === 'rpc') {
|
|
17
|
+
const metadata = context.getArgByIndex(1);
|
|
18
|
+
if (!metadata) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
header = metadata.get('Authorization')[0];
|
|
22
|
+
}
|
|
23
|
+
else if (type === 'http') {
|
|
24
|
+
const request = context.switchToHttp().getRequest();
|
|
25
|
+
header = request.headers.authorization + '';
|
|
26
|
+
}
|
|
27
|
+
if (!header || !header?.startsWith(prefix)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const user = (0, functions_1.getBearerUser)(header);
|
|
31
|
+
if (user && user.roles) {
|
|
32
|
+
const foundRoles = user.roles.filter((userRole) => requiredRoles.includes(userRole.trim()));
|
|
33
|
+
if (foundRoles.length > 0) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const guard = (0, common_1.mixin)(AppRoleGuardMixin);
|
|
41
|
+
return guard;
|
|
42
|
+
};
|
|
43
|
+
exports.AppRoleGuard = AppRoleGuard;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jwt_auth_user_decorator = exports.app_role_guard = exports.app_internal_guard = exports.app_auth_guard = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
exports.app_auth_guard = tslib_1.__importStar(require("./app_auth_guard"));
|
|
6
|
+
exports.app_internal_guard = tslib_1.__importStar(require("./app_internal_guard"));
|
|
7
|
+
exports.app_role_guard = tslib_1.__importStar(require("./app_role_guard"));
|
|
8
|
+
exports.jwt_auth_user_decorator = tslib_1.__importStar(require("./jwt_auth_user_decorator"));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const JwtAuthUser: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JwtAuthUser = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const functions_1 = require("../../utils/functions");
|
|
6
|
+
exports.JwtAuthUser = (0, common_1.createParamDecorator)(async (data, context) => {
|
|
7
|
+
const type = context.getType();
|
|
8
|
+
const prefix = 'Bearer ';
|
|
9
|
+
let header = '';
|
|
10
|
+
if (type === 'rpc') {
|
|
11
|
+
const metadata = context.getArgByIndex(1);
|
|
12
|
+
if (!metadata) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
header = metadata.get('Authorization')[0];
|
|
16
|
+
}
|
|
17
|
+
else if (type === 'http') {
|
|
18
|
+
const request = context.switchToHttp().getRequest();
|
|
19
|
+
header = request.headers.authorization + '';
|
|
20
|
+
}
|
|
21
|
+
if (!header || !header?.startsWith(prefix)) {
|
|
22
|
+
throw new Error('Invalid jwt token.');
|
|
23
|
+
}
|
|
24
|
+
const user = (0, functions_1.getBearerUser)(header);
|
|
25
|
+
if (user) {
|
|
26
|
+
return user;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error('Invalid jwt token.');
|
|
30
|
+
}
|
|
31
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * as dto from './dto';
|
|
2
|
+
export * as exception from './exception';
|
|
3
|
+
export * as factory from './factory';
|
|
4
|
+
export * as filters from './filters';
|
|
5
|
+
export * as guards from './guards';
|
|
6
|
+
export * as interceptors from './interceptors';
|
|
7
|
+
export * as kafka from './kafka';
|
|
8
|
+
export * as service from './service';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.service = exports.kafka = exports.interceptors = exports.guards = exports.filters = exports.factory = exports.exception = exports.dto = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
exports.dto = tslib_1.__importStar(require("./dto"));
|
|
6
|
+
exports.exception = tslib_1.__importStar(require("./exception"));
|
|
7
|
+
exports.factory = tslib_1.__importStar(require("./factory"));
|
|
8
|
+
exports.filters = tslib_1.__importStar(require("./filters"));
|
|
9
|
+
exports.guards = tslib_1.__importStar(require("./guards"));
|
|
10
|
+
exports.interceptors = tslib_1.__importStar(require("./interceptors"));
|
|
11
|
+
exports.kafka = tslib_1.__importStar(require("./kafka"));
|
|
12
|
+
exports.service = tslib_1.__importStar(require("./service"));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, HttpException, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { BaseException } from '../../exception/base_exception';
|
|
3
|
+
export declare class GrpcErrorsInterceptor implements NestInterceptor {
|
|
4
|
+
private readonly logger;
|
|
5
|
+
intercept(_context: ExecutionContext, next: CallHandler): import("rxjs").Observable<any>;
|
|
6
|
+
getHttpException(httpException: HttpException): BaseException;
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var GrpcErrorsInterceptor_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GrpcErrorsInterceptor = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const rxjs_1 = require("rxjs");
|
|
8
|
+
const operators_1 = require("rxjs/operators");
|
|
9
|
+
const base_exception_1 = require("../../exception/base_exception");
|
|
10
|
+
let GrpcErrorsInterceptor = GrpcErrorsInterceptor_1 = class GrpcErrorsInterceptor {
|
|
11
|
+
logger = new common_1.Logger(GrpcErrorsInterceptor_1.name);
|
|
12
|
+
intercept(_context, next) {
|
|
13
|
+
return next.handle().pipe((0, operators_1.catchError)((err) => {
|
|
14
|
+
if (err instanceof common_1.InternalServerErrorException) {
|
|
15
|
+
this.logger.error(err.message, err.stack);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
this.logger.log(err.message, err.stack);
|
|
19
|
+
}
|
|
20
|
+
if (err instanceof common_1.HttpException) {
|
|
21
|
+
return (0, rxjs_1.throwError)(() => this.getHttpException(err));
|
|
22
|
+
}
|
|
23
|
+
return (0, rxjs_1.throwError)(() => err);
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
getHttpException(httpException) {
|
|
27
|
+
const status = httpException.getStatus();
|
|
28
|
+
const response = httpException.getResponse();
|
|
29
|
+
return new base_exception_1.BaseException('error', status, response);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.GrpcErrorsInterceptor = GrpcErrorsInterceptor;
|
|
33
|
+
exports.GrpcErrorsInterceptor = GrpcErrorsInterceptor = GrpcErrorsInterceptor_1 = tslib_1.__decorate([
|
|
34
|
+
(0, common_1.Injectable)()
|
|
35
|
+
], GrpcErrorsInterceptor);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as grpc_error_interceptors from './grpc_error_interceptors';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, HttpException, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { BaseException } from '../../exception/base_exception';
|
|
3
|
+
export declare class HttpErrorsInterceptor implements NestInterceptor {
|
|
4
|
+
private readonly logger;
|
|
5
|
+
intercept(_context: ExecutionContext, next: CallHandler): import("rxjs").Observable<any>;
|
|
6
|
+
getHttpException(httpException: HttpException): BaseException;
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var HttpErrorsInterceptor_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.HttpErrorsInterceptor = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const rxjs_1 = require("rxjs");
|
|
8
|
+
const operators_1 = require("rxjs/operators");
|
|
9
|
+
const base_exception_1 = require("../../exception/base_exception");
|
|
10
|
+
let HttpErrorsInterceptor = HttpErrorsInterceptor_1 = class HttpErrorsInterceptor {
|
|
11
|
+
logger = new common_1.Logger(HttpErrorsInterceptor_1.name);
|
|
12
|
+
intercept(_context, next) {
|
|
13
|
+
return next.handle().pipe((0, operators_1.catchError)((err) => {
|
|
14
|
+
this.logger.error(err.message, err.stack);
|
|
15
|
+
if (err instanceof common_1.HttpException) {
|
|
16
|
+
return (0, rxjs_1.throwError)(() => this.getHttpException(err));
|
|
17
|
+
}
|
|
18
|
+
return (0, rxjs_1.throwError)(() => err);
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
getHttpException(httpException) {
|
|
22
|
+
const status = httpException.getStatus();
|
|
23
|
+
const response = httpException.getResponse();
|
|
24
|
+
return new base_exception_1.BaseException('', status, response);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.HttpErrorsInterceptor = HttpErrorsInterceptor;
|
|
28
|
+
exports.HttpErrorsInterceptor = HttpErrorsInterceptor = HttpErrorsInterceptor_1 = tslib_1.__decorate([
|
|
29
|
+
(0, common_1.Injectable)()
|
|
30
|
+
], HttpErrorsInterceptor);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
export declare class HttpResponseInterceptor implements NestInterceptor {
|
|
3
|
+
intercept(_context: ExecutionContext, next: CallHandler): import("rxjs").Observable<{
|
|
4
|
+
status: string;
|
|
5
|
+
data: any;
|
|
6
|
+
}>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpResponseInterceptor = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const operators_1 = require("rxjs/operators");
|
|
7
|
+
let HttpResponseInterceptor = class HttpResponseInterceptor {
|
|
8
|
+
intercept(_context, next) {
|
|
9
|
+
return next.handle().pipe((0, operators_1.map)((response) => {
|
|
10
|
+
return {
|
|
11
|
+
status: 'success',
|
|
12
|
+
data: response,
|
|
13
|
+
};
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.HttpResponseInterceptor = HttpResponseInterceptor;
|
|
18
|
+
exports.HttpResponseInterceptor = HttpResponseInterceptor = tslib_1.__decorate([
|
|
19
|
+
(0, common_1.Injectable)()
|
|
20
|
+
], HttpResponseInterceptor);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.http_response_interceptors = exports.http_error_interceptors = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
exports.http_error_interceptors = tslib_1.__importStar(require("./http_error_interceptors"));
|
|
6
|
+
exports.http_response_interceptors = tslib_1.__importStar(require("./http_response_interceptors"));
|