checkpoint: require_redis 显式 503 守卫——存储类接口(AI配置/在线/缓存/验证码)接线
- dependencies: require_redis 改标准 FastAPI 依赖(Depends(redis_getter)),Redis 不可用显式 503 而非 500/静默空数据 - AI配置 5 端点 / 在线监控 5 端点 / 缓存监控 6 端点切到 require_redis - 免认证验证码端点(captcha/get、slider/complete)也接线:Redis 挂时返回 503 而非 500 - login/token/oauth 保留 redis_getter(服务层内联 503 守卫语义不变)
This commit is contained in:
@@ -9,7 +9,7 @@ from redis.asyncio import Redis
|
||||
from app.common.response import ResponseSchema, SuccessResponse
|
||||
from app.core.base_schema import AuthSchema, PaginationQueryParam
|
||||
from app.core.database import async_db_session
|
||||
from app.core.dependencies import AuthPermission, _authenticate, redis_getter
|
||||
from app.core.dependencies import AuthPermission, _authenticate, require_redis
|
||||
from app.core.exceptions import CustomException
|
||||
from app.core.logger import logger
|
||||
from app.core.router_class import OperationLogRoute
|
||||
@@ -110,7 +110,7 @@ async def ai_chat_controller(
|
||||
|
||||
@ChatRouter.get("/model", summary="获取 AI 模型配置列表", response_model=ResponseSchema[AiModelConfigListResponse])
|
||||
async def list_model_config_controller(
|
||||
redis: Annotated[Redis, Depends(redis_getter)],
|
||||
redis: Annotated[Redis, Depends(require_redis)],
|
||||
auth: Annotated[AuthSchema, Security(AuthPermission(["module_ai:chat:query"]))],
|
||||
) -> JSONResponse:
|
||||
service = AiModelConfigService(auth, redis)
|
||||
@@ -120,7 +120,7 @@ async def list_model_config_controller(
|
||||
|
||||
@ChatRouter.post("/model", status_code=status.HTTP_201_CREATED, summary="新增一个 AI 模型配置", response_model=ResponseSchema[dict[str, Any]])
|
||||
async def create_model_config_controller(
|
||||
redis: Annotated[Redis, Depends(redis_getter)],
|
||||
redis: Annotated[Redis, Depends(require_redis)],
|
||||
auth: Annotated[AuthSchema, Security(AuthPermission(["module_ai:chat:update"]))],
|
||||
data: Annotated[AiModelConfigUpdateSchema, Body(description="模型配置参数")],
|
||||
) -> JSONResponse:
|
||||
@@ -132,7 +132,7 @@ async def create_model_config_controller(
|
||||
|
||||
@ChatRouter.put("/model/{config_id}", summary="更新指定 ID 的 AI 模型配置", response_model=ResponseSchema[dict[str, Any]])
|
||||
async def update_model_config_controller(
|
||||
redis: Annotated[Redis, Depends(redis_getter)],
|
||||
redis: Annotated[Redis, Depends(require_redis)],
|
||||
auth: Annotated[AuthSchema, Security(AuthPermission(["module_ai:chat:update"]))],
|
||||
config_id: Annotated[str, Path(description="配置项 ID")],
|
||||
data: Annotated[AiModelConfigUpdateSchema, Body(description="模型配置参数")],
|
||||
@@ -145,7 +145,7 @@ async def update_model_config_controller(
|
||||
|
||||
@ChatRouter.delete("/model/{config_id}", summary="删除指定 ID 的 AI 模型配置", response_model=ResponseSchema[None])
|
||||
async def delete_model_config_controller(
|
||||
redis: Annotated[Redis, Depends(redis_getter)],
|
||||
redis: Annotated[Redis, Depends(require_redis)],
|
||||
auth: Annotated[AuthSchema, Security(AuthPermission(["module_ai:chat:update"]))],
|
||||
config_id: Annotated[str, Path(description="配置项 ID")],
|
||||
) -> JSONResponse:
|
||||
@@ -156,7 +156,7 @@ async def delete_model_config_controller(
|
||||
|
||||
@ChatRouter.post("/model/{config_id}/activate", summary="切换激活的 AI 模型配置", response_model=ResponseSchema[None])
|
||||
async def activate_model_config_controller(
|
||||
redis: Annotated[Redis, Depends(redis_getter)],
|
||||
redis: Annotated[Redis, Depends(require_redis)],
|
||||
auth: Annotated[AuthSchema, Security(AuthPermission(["module_ai:chat:update"]))],
|
||||
config_id: Annotated[str, Path(description="配置项 ID;传 __default__ 使用系统默认")],
|
||||
) -> JSONResponse:
|
||||
|
||||
Reference in New Issue
Block a user