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
package/README.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Common Classes & Items & Proto Files
|
|
2
|
+
|
|
3
|
+
Grpc module configurations, necessary types etc. Also proto files and
|
|
4
|
+
generated typescript files.
|
|
5
|
+
|
|
6
|
+
### Note about VSCode integration for proto files
|
|
7
|
+
|
|
8
|
+
You need to add these lines to `.vscode/settings.json` file:
|
|
9
|
+
|
|
10
|
+
```json
|
|
11
|
+
{
|
|
12
|
+
"protoc": {
|
|
13
|
+
"options": ["--proto_path=${workspaceRoot}/proto"]
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Important links
|
|
19
|
+
|
|
20
|
+
- Npm dependency line for this package:
|
|
21
|
+
`"@bergx/jr-common-micro": "git+ssh://git@github.com/BergX-Team/jr-common-micro.git#main"`
|
|
22
|
+
|
|
23
|
+
- Buf configs: https://buf.build/docs/configuration/v1/buf-gen-yaml
|
|
24
|
+
|
|
25
|
+
- Buf and Nodejs blog: https://slavovojacek.medium.com/grpc-on-node-js-with-buf-and-typescript-part-1-5aad61bab03b
|
|
26
|
+
|
|
27
|
+
- ❗ Never upgrade bufbuild and its plugins versions. Because they made significant changes and it breaking our structure.
|
|
28
|
+
|
|
29
|
+
- https://github.com/bufbuild/buf/issues/2987
|
|
30
|
+
- https://github.com/bufbuild/buf/releases
|
|
31
|
+
|
|
32
|
+
- This library is creating awesome types: `type-fest`
|
|
33
|
+
- https://github.com/sindresorhus/type-fest
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const ByIdRequestDto_base: import("nestjs-zod").ZodDto<{
|
|
3
|
+
id: string;
|
|
4
|
+
}, z.ZodObjectDef<{
|
|
5
|
+
id: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny>, {
|
|
7
|
+
id: string;
|
|
8
|
+
}>;
|
|
9
|
+
export declare class ByIdRequestDto extends ByIdRequestDto_base {
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ByIdRequestDto = void 0;
|
|
4
|
+
const nestjs_zod_1 = require("nestjs-zod");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
class ByIdRequestDto extends (0, nestjs_zod_1.createZodDto)(zod_1.z.object({
|
|
7
|
+
id: zod_1.z.string().min(1),
|
|
8
|
+
})) {
|
|
9
|
+
}
|
|
10
|
+
exports.ByIdRequestDto = ByIdRequestDto;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.paginate_request_dto = exports.paginate_from_request_dto = exports.by_id_request_dto = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
exports.by_id_request_dto = tslib_1.__importStar(require("./by_id_request_dto"));
|
|
6
|
+
exports.paginate_from_request_dto = tslib_1.__importStar(require("./paginate_from_request_dto"));
|
|
7
|
+
exports.paginate_request_dto = tslib_1.__importStar(require("./paginate_request_dto"));
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const PaginateFromRequestDto_base: import("nestjs-zod").ZodDto<{
|
|
3
|
+
id: string;
|
|
4
|
+
perPage: string;
|
|
5
|
+
sort?: {
|
|
6
|
+
name: string;
|
|
7
|
+
direction: "asc" | "desc";
|
|
8
|
+
}[] | undefined;
|
|
9
|
+
filters?: {
|
|
10
|
+
name: string;
|
|
11
|
+
value: string;
|
|
12
|
+
operator: string;
|
|
13
|
+
}[] | undefined;
|
|
14
|
+
columns?: string[] | undefined;
|
|
15
|
+
}, z.ZodObjectDef<{
|
|
16
|
+
id: z.ZodString;
|
|
17
|
+
perPage: z.ZodString;
|
|
18
|
+
filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
value: z.ZodString;
|
|
21
|
+
operator: z.ZodString;
|
|
22
|
+
}, "strip", z.ZodTypeAny, {
|
|
23
|
+
name: string;
|
|
24
|
+
value: string;
|
|
25
|
+
operator: string;
|
|
26
|
+
}, {
|
|
27
|
+
name: string;
|
|
28
|
+
value: string;
|
|
29
|
+
operator: string;
|
|
30
|
+
}>, "many">>;
|
|
31
|
+
sort: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
32
|
+
name: z.ZodString;
|
|
33
|
+
direction: z.ZodEnum<["asc", "desc"]>;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
name: string;
|
|
36
|
+
direction: "asc" | "desc";
|
|
37
|
+
}, {
|
|
38
|
+
name: string;
|
|
39
|
+
direction: "asc" | "desc";
|
|
40
|
+
}>, "many">>;
|
|
41
|
+
columns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
42
|
+
}, "strip", z.ZodTypeAny>, {
|
|
43
|
+
id: string;
|
|
44
|
+
perPage: string;
|
|
45
|
+
sort?: {
|
|
46
|
+
name: string;
|
|
47
|
+
direction: "asc" | "desc";
|
|
48
|
+
}[] | undefined;
|
|
49
|
+
filters?: {
|
|
50
|
+
name: string;
|
|
51
|
+
value: string;
|
|
52
|
+
operator: string;
|
|
53
|
+
}[] | undefined;
|
|
54
|
+
columns?: string[] | undefined;
|
|
55
|
+
}>;
|
|
56
|
+
export declare class PaginateFromRequestDto extends PaginateFromRequestDto_base {
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginateFromRequestDto = void 0;
|
|
4
|
+
const nestjs_zod_1 = require("nestjs-zod");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
class PaginateFromRequestDto extends (0, nestjs_zod_1.createZodDto)(zod_1.z.object({
|
|
7
|
+
id: zod_1.z.string().min(1),
|
|
8
|
+
perPage: zod_1.z.string().min(1),
|
|
9
|
+
filters: zod_1.z
|
|
10
|
+
.array(zod_1.z.object({
|
|
11
|
+
name: zod_1.z.string(),
|
|
12
|
+
value: zod_1.z.string(),
|
|
13
|
+
operator: zod_1.z.string(),
|
|
14
|
+
}))
|
|
15
|
+
.optional(),
|
|
16
|
+
sort: zod_1.z
|
|
17
|
+
.array(zod_1.z.object({ name: zod_1.z.string(), direction: zod_1.z.enum(['asc', 'desc']) }))
|
|
18
|
+
.optional(),
|
|
19
|
+
columns: zod_1.z.array(zod_1.z.string()).optional(),
|
|
20
|
+
})) {
|
|
21
|
+
}
|
|
22
|
+
exports.PaginateFromRequestDto = PaginateFromRequestDto;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const PaginateRequestDto_base: import("nestjs-zod").ZodDto<{
|
|
3
|
+
sort: string;
|
|
4
|
+
perPage: string;
|
|
5
|
+
filters: string;
|
|
6
|
+
page: string;
|
|
7
|
+
columns?: string[] | undefined;
|
|
8
|
+
}, z.ZodObjectDef<{
|
|
9
|
+
page: z.ZodString;
|
|
10
|
+
perPage: z.ZodString;
|
|
11
|
+
filters: z.ZodString;
|
|
12
|
+
sort: z.ZodString;
|
|
13
|
+
columns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
|
+
}, "strip", z.ZodTypeAny>, {
|
|
15
|
+
sort: string;
|
|
16
|
+
perPage: string;
|
|
17
|
+
filters: string;
|
|
18
|
+
page: string;
|
|
19
|
+
columns?: string[] | undefined;
|
|
20
|
+
}>;
|
|
21
|
+
export declare class PaginateRequestDto extends PaginateRequestDto_base {
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginateRequestDto = void 0;
|
|
4
|
+
const nestjs_zod_1 = require("nestjs-zod");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
class PaginateRequestDto extends (0, nestjs_zod_1.createZodDto)(zod_1.z.object({
|
|
7
|
+
page: zod_1.z.string().min(1),
|
|
8
|
+
perPage: zod_1.z.string().min(1),
|
|
9
|
+
filters: zod_1.z.string().min(1),
|
|
10
|
+
sort: zod_1.z.string().min(1),
|
|
11
|
+
columns: zod_1.z.array(zod_1.z.string()).optional(),
|
|
12
|
+
})) {
|
|
13
|
+
}
|
|
14
|
+
exports.PaginateRequestDto = PaginateRequestDto;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseException = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
class BaseException extends common_1.HttpException {
|
|
6
|
+
constructor(message, status, additionalData = null) {
|
|
7
|
+
super({
|
|
8
|
+
message,
|
|
9
|
+
statusCode: status,
|
|
10
|
+
data: additionalData,
|
|
11
|
+
}, status);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.BaseException = BaseException;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as base_exception from './base_exception';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DynamicModule } from '@nestjs/common';
|
|
2
|
+
import { NestMicroserviceOptions } from '@nestjs/common/interfaces/microservices/nest-microservice-options.interface';
|
|
3
|
+
import { ConfigService } from '@nestjs/config';
|
|
4
|
+
import { ClientGrpcProxy, GrpcOptions } from '@nestjs/microservices';
|
|
5
|
+
export type GrpcClientCreatorFnType = () => DynamicModule;
|
|
6
|
+
export declare const GRPC_CLIENT_CREATOR = "GRPC_CLIENT_CREATOR";
|
|
7
|
+
type GrpcProvideName = `${Uppercase<string>}_MICRO`;
|
|
8
|
+
type GrpcPackageName = `micro.${Lowercase<string>}`;
|
|
9
|
+
export declare const grpcClientFactory: (provide: GrpcProvideName, grpcPackage: GrpcPackageName, hostKey: string, portKey: string) => {
|
|
10
|
+
provide: `${Uppercase<string>}_MICRO`;
|
|
11
|
+
inject: (typeof ConfigService)[];
|
|
12
|
+
useFactory: (config: ConfigService) => Promise<ClientGrpcProxy>;
|
|
13
|
+
};
|
|
14
|
+
export declare const grpcServerOptions: (grpcPackage: GrpcPackageName, grpcHost: string, grpcPort: string) => GrpcOptions & NestMicroserviceOptions;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.grpcServerOptions = exports.grpcClientFactory = exports.GRPC_CLIENT_CREATOR = void 0;
|
|
4
|
+
const config_1 = require("@nestjs/config");
|
|
5
|
+
const microservices_1 = require("@nestjs/microservices");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const walk_sync_1 = require("../../utils/walk_sync");
|
|
8
|
+
exports.GRPC_CLIENT_CREATOR = 'GRPC_CLIENT_CREATOR';
|
|
9
|
+
const grpcClientFactory = (provide, grpcPackage, hostKey, portKey) => {
|
|
10
|
+
return {
|
|
11
|
+
provide,
|
|
12
|
+
inject: [config_1.ConfigService],
|
|
13
|
+
useFactory: async (config) => {
|
|
14
|
+
return new microservices_1.ClientGrpcProxy({
|
|
15
|
+
url: config.get(hostKey) + ':' + config.get(portKey),
|
|
16
|
+
channelOptions: {
|
|
17
|
+
'grpc.min_reconnect_backoff_ms': 1000,
|
|
18
|
+
'grpc.max_reconnect_backoff_ms': 10000,
|
|
19
|
+
},
|
|
20
|
+
keepalive: {
|
|
21
|
+
keepaliveTimeMs: 1e3 * 60 * 2,
|
|
22
|
+
keepaliveTimeoutMs: 1e3 * 20,
|
|
23
|
+
http2MinTimeBetweenPingsMs: 1e3 * 60 * 2,
|
|
24
|
+
http2MaxPingsWithoutData: 0,
|
|
25
|
+
keepalivePermitWithoutCalls: 1,
|
|
26
|
+
},
|
|
27
|
+
package: grpcPackage,
|
|
28
|
+
protoPath: (0, walk_sync_1.walkSync)((0, path_1.join)(process.cwd(), 'node_modules/@bergx/jr-common-micro/proto'), { includeBasePath: true, globs: ['**/*.proto'] }),
|
|
29
|
+
loader: {
|
|
30
|
+
keepCase: true,
|
|
31
|
+
enums: String,
|
|
32
|
+
oneofs: true,
|
|
33
|
+
includeDirs: [
|
|
34
|
+
(0, path_1.join)(process.cwd(), 'node_modules/@bergx/jr-common-micro/proto'),
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
exports.grpcClientFactory = grpcClientFactory;
|
|
42
|
+
const grpcServerOptions = (grpcPackage, grpcHost, grpcPort) => {
|
|
43
|
+
return {
|
|
44
|
+
logger: process.env.NODE_ENV === 'development'
|
|
45
|
+
? ['log', 'debug', 'error', 'verbose', 'warn', 'fatal']
|
|
46
|
+
: ['log', 'debug', 'error', 'verbose', 'warn', 'fatal'],
|
|
47
|
+
transport: microservices_1.Transport.GRPC,
|
|
48
|
+
options: {
|
|
49
|
+
url: grpcHost + ':' + grpcPort,
|
|
50
|
+
package: grpcPackage,
|
|
51
|
+
protoPath: (0, walk_sync_1.walkSync)((0, path_1.join)(process.cwd(), 'node_modules/@bergx/jr-common-micro/proto'), { includeBasePath: true, globs: ['**/*.proto'] }),
|
|
52
|
+
loader: {
|
|
53
|
+
keepCase: true,
|
|
54
|
+
enums: String,
|
|
55
|
+
oneofs: true,
|
|
56
|
+
includeDirs: [
|
|
57
|
+
(0, path_1.join)(process.cwd(), 'node_modules/@bergx/jr-common-micro/proto'),
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
exports.grpcServerOptions = grpcServerOptions;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * as grpc_options_factory from './grpc_options_factory';
|
|
2
|
+
export * as logger from './logger';
|
|
3
|
+
export * as module_metadata_factory from './module_metadata_factory';
|
|
4
|
+
export * as redis_client_factory from './redis_client_factory';
|
|
5
|
+
export * as redis_cluster_factory from './redis_cluster_factory';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redis_cluster_factory = exports.redis_client_factory = exports.module_metadata_factory = exports.logger = exports.grpc_options_factory = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
exports.grpc_options_factory = tslib_1.__importStar(require("./grpc_options_factory"));
|
|
6
|
+
exports.logger = tslib_1.__importStar(require("./logger"));
|
|
7
|
+
exports.module_metadata_factory = tslib_1.__importStar(require("./module_metadata_factory"));
|
|
8
|
+
exports.redis_client_factory = tslib_1.__importStar(require("./redis_client_factory"));
|
|
9
|
+
exports.redis_cluster_factory = tslib_1.__importStar(require("./redis_cluster_factory"));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.winston_config = exports.kafka_transport = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
exports.kafka_transport = tslib_1.__importStar(require("./kafka_transport"));
|
|
6
|
+
exports.winston_config = tslib_1.__importStar(require("./winston_config"));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Kafka, LogEntry, ProducerConfig } from 'kafkajs';
|
|
2
|
+
import Transport from 'winston-transport';
|
|
3
|
+
interface KafkaTransportOptions extends Transport.TransportStreamOptions {
|
|
4
|
+
kafka: Kafka;
|
|
5
|
+
topic: string;
|
|
6
|
+
producerConfig?: ProducerConfig;
|
|
7
|
+
}
|
|
8
|
+
export declare class KafkaTransport extends Transport {
|
|
9
|
+
private producer;
|
|
10
|
+
private topic;
|
|
11
|
+
constructor(opts: KafkaTransportOptions);
|
|
12
|
+
private initProducer;
|
|
13
|
+
log(info: LogEntry, callback: () => void): Promise<void>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaTransport = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const winston_transport_1 = tslib_1.__importDefault(require("winston-transport"));
|
|
6
|
+
class KafkaTransport extends winston_transport_1.default {
|
|
7
|
+
producer;
|
|
8
|
+
topic;
|
|
9
|
+
constructor(opts) {
|
|
10
|
+
super(opts);
|
|
11
|
+
this.producer = opts.kafka.producer(opts.producerConfig);
|
|
12
|
+
this.topic = opts.topic;
|
|
13
|
+
this.initProducer();
|
|
14
|
+
}
|
|
15
|
+
async initProducer() {
|
|
16
|
+
try {
|
|
17
|
+
await this.producer.connect();
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.error('Failed to connect to Kafka:', error);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async log(info, callback) {
|
|
24
|
+
setImmediate(() => {
|
|
25
|
+
this.emit('logged', info);
|
|
26
|
+
});
|
|
27
|
+
const messagePayload = {
|
|
28
|
+
topic: this.topic,
|
|
29
|
+
messages: [{ value: JSON.stringify(info) }],
|
|
30
|
+
};
|
|
31
|
+
try {
|
|
32
|
+
await this.producer.send(messagePayload);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
if (error?.message?.includes('disconnected')) {
|
|
36
|
+
try {
|
|
37
|
+
await this.producer.connect();
|
|
38
|
+
await this.producer.send(messagePayload);
|
|
39
|
+
}
|
|
40
|
+
catch (reconnectError) {
|
|
41
|
+
console.error('Error sending log to Kafka after reconnect attempt:', reconnectError);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.error('Error sending log to Kafka:', error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
callback();
|
|
49
|
+
}
|
|
50
|
+
async close() {
|
|
51
|
+
await this.producer.disconnect();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.KafkaTransport = KafkaTransport;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
interface SystemMetadata {
|
|
3
|
+
hostname: string;
|
|
4
|
+
ip: string;
|
|
5
|
+
cpu_usage: number;
|
|
6
|
+
memory_used_mb: number;
|
|
7
|
+
memory_total_mb: number;
|
|
8
|
+
memory_usage_percent: number;
|
|
9
|
+
platform: string;
|
|
10
|
+
uptime_seconds: number;
|
|
11
|
+
}
|
|
12
|
+
interface Metadata extends SystemMetadata {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
export interface LogMessage {
|
|
16
|
+
text: string;
|
|
17
|
+
metadata?: Metadata;
|
|
18
|
+
data?: any;
|
|
19
|
+
misc?: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
export declare const createLogger: (serviceName: string, brokers?: string[]) => Logger;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createLogger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const kafkajs_1 = require("kafkajs");
|
|
7
|
+
const nest_winston_1 = require("nest-winston");
|
|
8
|
+
const os = tslib_1.__importStar(require("os"));
|
|
9
|
+
const os_1 = require("os");
|
|
10
|
+
const winston = tslib_1.__importStar(require("winston"));
|
|
11
|
+
const functions_1 = require("../../../utils/functions");
|
|
12
|
+
const kafka_transport_1 = require("./kafka_transport");
|
|
13
|
+
const net = require('net');
|
|
14
|
+
const tls = require('tls');
|
|
15
|
+
const getPrimaryIp = () => {
|
|
16
|
+
const interfaces = os.networkInterfaces();
|
|
17
|
+
for (const interfaceName of Object.keys(interfaces)) {
|
|
18
|
+
const interface_ = interfaces[interfaceName];
|
|
19
|
+
if (interface_) {
|
|
20
|
+
const nonInternalIpv4 = interface_.find((addr) => addr.family === 'IPv4' && !addr.internal);
|
|
21
|
+
if (nonInternalIpv4) {
|
|
22
|
+
return nonInternalIpv4.address;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return 'unknown';
|
|
27
|
+
};
|
|
28
|
+
const getCpuUsage = () => {
|
|
29
|
+
const cpus = os.cpus();
|
|
30
|
+
let totalIdle = 0;
|
|
31
|
+
let totalTick = 0;
|
|
32
|
+
cpus.forEach((cpu) => {
|
|
33
|
+
for (const type in cpu.times) {
|
|
34
|
+
totalTick += cpu.times[type];
|
|
35
|
+
}
|
|
36
|
+
totalIdle += cpu.times.idle;
|
|
37
|
+
});
|
|
38
|
+
return Number(((1 - totalIdle / totalTick) * 100).toFixed(2));
|
|
39
|
+
};
|
|
40
|
+
const getSystemMetadata = () => {
|
|
41
|
+
const totalMemory = os.totalmem();
|
|
42
|
+
const freeMemory = os.freemem();
|
|
43
|
+
const usedMemory = totalMemory - freeMemory;
|
|
44
|
+
return {
|
|
45
|
+
hostname: os.hostname(),
|
|
46
|
+
ip: getPrimaryIp(),
|
|
47
|
+
cpu_usage: getCpuUsage(),
|
|
48
|
+
memory_used_mb: Math.round(usedMemory / (1024 * 1024)),
|
|
49
|
+
memory_total_mb: Math.round(totalMemory / (1024 * 1024)),
|
|
50
|
+
memory_usage_percent: Number(((usedMemory / totalMemory) * 100).toFixed(2)),
|
|
51
|
+
platform: os.platform(),
|
|
52
|
+
uptime_seconds: Math.round(os.uptime()),
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
const formatMessage = (message, ...args) => {
|
|
56
|
+
const systemMetadata = getSystemMetadata();
|
|
57
|
+
if (typeof message === 'object' &&
|
|
58
|
+
('text' in message || 'metadata' in message || 'data' in message)) {
|
|
59
|
+
return {
|
|
60
|
+
...message,
|
|
61
|
+
metadata: {
|
|
62
|
+
...systemMetadata,
|
|
63
|
+
...message.metadata,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (typeof message === 'string') {
|
|
68
|
+
const result = {
|
|
69
|
+
text: message,
|
|
70
|
+
metadata: systemMetadata,
|
|
71
|
+
};
|
|
72
|
+
if (args.length === 1 && typeof args[0] === 'object') {
|
|
73
|
+
result.metadata = {
|
|
74
|
+
...systemMetadata,
|
|
75
|
+
...args[0],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
else if (args.length > 0) {
|
|
79
|
+
result.data = args.length === 1 ? args[0] : args;
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
if (typeof message === 'object') {
|
|
84
|
+
return {
|
|
85
|
+
text: JSON.stringify(message),
|
|
86
|
+
data: message,
|
|
87
|
+
metadata: systemMetadata,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
text: String(message),
|
|
92
|
+
metadata: systemMetadata,
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
const createLogger = (serviceName, brokers) => {
|
|
96
|
+
const instanceId = `${serviceName}-${(0, os_1.hostname)()}`;
|
|
97
|
+
const kafka = (0, functions_1.createKafka)(instanceId);
|
|
98
|
+
const winstonLogger = nest_winston_1.WinstonModule.createLogger({
|
|
99
|
+
format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
|
|
100
|
+
defaultMeta: {
|
|
101
|
+
service: serviceName,
|
|
102
|
+
instance: instanceId,
|
|
103
|
+
},
|
|
104
|
+
transports: [
|
|
105
|
+
new winston.transports.Console({
|
|
106
|
+
format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
|
|
107
|
+
}),
|
|
108
|
+
new kafka_transport_1.KafkaTransport({
|
|
109
|
+
kafka,
|
|
110
|
+
topic: 'logs',
|
|
111
|
+
level: 'info',
|
|
112
|
+
producerConfig: {
|
|
113
|
+
createPartitioner: kafkajs_1.Partitioners.DefaultPartitioner,
|
|
114
|
+
},
|
|
115
|
+
}),
|
|
116
|
+
],
|
|
117
|
+
});
|
|
118
|
+
const logger = new common_1.Logger(serviceName);
|
|
119
|
+
logger.log = (message, ...args) => winstonLogger.log({
|
|
120
|
+
level: 'info',
|
|
121
|
+
message: formatMessage(message, ...args),
|
|
122
|
+
});
|
|
123
|
+
logger.error = (message, ...args) => winstonLogger.log({
|
|
124
|
+
level: 'error',
|
|
125
|
+
message: formatMessage(message, ...args),
|
|
126
|
+
});
|
|
127
|
+
logger.warn = (message, ...args) => winstonLogger.log({
|
|
128
|
+
level: 'warn',
|
|
129
|
+
message: formatMessage(message, ...args),
|
|
130
|
+
});
|
|
131
|
+
logger.debug = (message, ...args) => winstonLogger.log({
|
|
132
|
+
level: 'debug',
|
|
133
|
+
message: formatMessage(message, ...args),
|
|
134
|
+
});
|
|
135
|
+
logger.fatal = (message, ...args) => winstonLogger.log({
|
|
136
|
+
level: 'error',
|
|
137
|
+
message: formatMessage(message, ...args),
|
|
138
|
+
});
|
|
139
|
+
return logger;
|
|
140
|
+
};
|
|
141
|
+
exports.createLogger = createLogger;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DynamicModule, ModuleMetadata } from '@nestjs/common';
|
|
2
|
+
import { ConfigFactory } from '@nestjs/config';
|
|
3
|
+
import { GrpcOptions } from '@nestjs/microservices';
|
|
4
|
+
import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
|
|
5
|
+
export type AppBaseConfig = {
|
|
6
|
+
environment: string;
|
|
7
|
+
jwt_secret: string;
|
|
8
|
+
redis_host: string;
|
|
9
|
+
redis_port: number;
|
|
10
|
+
redis_db: number;
|
|
11
|
+
redis_username: string;
|
|
12
|
+
redis_password: string;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
export declare const getDefaultConfigModule: (appConfig: Array<ConfigFactory>) => Promise<DynamicModule>;
|
|
16
|
+
export declare const getTestingConfigModule: (appConfig: Array<ConfigFactory>) => Promise<DynamicModule>;
|
|
17
|
+
export declare const getDefaultCacheModule: () => DynamicModule;
|
|
18
|
+
export declare const moduleMetadataFactory: (inputMeta: ModuleMetadata, appConfig: Array<ConfigFactory>) => ModuleMetadata;
|
|
19
|
+
export declare const moduleMetadataTestingFactory: (inputMeta: ModuleMetadata, appConfig: Array<ConfigFactory>) => ModuleMetadata;
|
|
20
|
+
export declare class AppMicroModule {
|
|
21
|
+
}
|
|
22
|
+
export declare const createGrpcMicro: (moduleMetadata: ModuleMetadata, config: AppBaseConfig, grpcOptions: GrpcOptions) => Promise<import("@nestjs/common").INestMicroservice>;
|
|
23
|
+
export declare const createTestingModule: (moduleMetadata: ModuleMetadata, config: AppBaseConfig) => Promise<import("@nestjs/testing").TestingModule>;
|
|
24
|
+
export declare const createHttpServer: (moduleMetadata: ModuleMetadata, config: AppBaseConfig, fastifyAdapter: FastifyAdapter) => Promise<NestFastifyApplication<import("fastify").RawServerDefault>>;
|