初始提交
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
from fastapi import Request, Response
|
||||
|
||||
from common.annotation.rate_limit_annotation import ApiRateLimit, ApiRateLimitPreset
|
||||
from common.aspect.interface_auth import UserInterfaceAuthDependency
|
||||
from common.aspect.pre_auth import PreAuthDependency
|
||||
from common.constant import ApiNamespace
|
||||
from common.router import APIRouterPro
|
||||
from common.vo import DataResponseModel
|
||||
from module_admin.entity.vo.transport_crypto_vo import (
|
||||
TransportCryptoFrontendConfigModel,
|
||||
TransportCryptoMonitorModel,
|
||||
TransportCryptoPublicKeyModel,
|
||||
)
|
||||
from module_admin.service.transport_crypto_service import TransportCryptoService
|
||||
from utils.log_util import logger
|
||||
from utils.response_util import ResponseUtil
|
||||
|
||||
transport_crypto_controller = APIRouterPro(prefix='/transport/crypto', order_num=15, tags=['传输加密模块'])
|
||||
|
||||
|
||||
@transport_crypto_controller.get(
|
||||
'/frontend-config',
|
||||
summary='获取前端传输加密配置接口',
|
||||
description='公开接口,用于向前端下发当前传输层加解密启用状态与运行模式,供前端统一跟随后端策略',
|
||||
response_model=DataResponseModel[TransportCryptoFrontendConfigModel],
|
||||
)
|
||||
@ApiRateLimit(namespace=ApiNamespace.TRANSPORT_CRYPTO_FRONTEND_CONFIG, preset=ApiRateLimitPreset.ANON_PUBLIC_METADATA)
|
||||
async def get_transport_frontend_config(request: Request) -> Response:
|
||||
"""
|
||||
获取当前前端传输层加解密运行配置
|
||||
|
||||
:param request: 当前请求对象
|
||||
:return: 前端传输层加解密运行配置响应
|
||||
"""
|
||||
transport_frontend_config = await TransportCryptoService.get_transport_frontend_config_services()
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(data=transport_frontend_config)
|
||||
|
||||
|
||||
@transport_crypto_controller.get(
|
||||
'/public-key',
|
||||
summary='获取传输加密公钥接口',
|
||||
description='公开接口,用于向前端下发当前可用的传输层加密公钥,已配置匿名限流保护',
|
||||
response_model=DataResponseModel[TransportCryptoPublicKeyModel],
|
||||
)
|
||||
@ApiRateLimit(namespace=ApiNamespace.TRANSPORT_CRYPTO_PUBLIC_KEY, preset=ApiRateLimitPreset.ANON_PUBLIC_METADATA)
|
||||
async def get_transport_public_key(request: Request) -> Response:
|
||||
"""
|
||||
获取当前传输层加密公钥
|
||||
|
||||
:param request: 当前请求对象
|
||||
:return: 公钥下发响应
|
||||
"""
|
||||
transport_public_key = await TransportCryptoService.get_transport_public_key_services()
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(data=transport_public_key)
|
||||
|
||||
|
||||
@transport_crypto_controller.get(
|
||||
'/monitor',
|
||||
summary='获取传输层加解密监控信息接口',
|
||||
description='用于获取基于Redis聚合的传输层加解密运行状态与统计信息',
|
||||
response_model=DataResponseModel[TransportCryptoMonitorModel],
|
||||
dependencies=[PreAuthDependency(), UserInterfaceAuthDependency('monitor:transportCrypto:list')],
|
||||
)
|
||||
async def get_transport_crypto_monitor_info(request: Request) -> Response:
|
||||
"""
|
||||
获取基于Redis聚合的传输层加解密监控信息
|
||||
|
||||
:param request: 当前请求对象
|
||||
:return: 传输层加解密监控信息响应
|
||||
"""
|
||||
transport_crypto_monitor_info = await TransportCryptoService.get_transport_crypto_monitor_info_services(request)
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(data=transport_crypto_monitor_info)
|
||||
Reference in New Issue
Block a user