初始化提交
This commit is contained in:
commit
887c1f449e
963 files changed
+166869
No files matched your search
@@ -0,0 +1,60 @@
|
||||
"""演化候选审核 API。"""
|
||||
|
||||
from fastapi import APIRouter, Query
|
||||
|
||||
from app.schemas.common import Page
|
||||
from app.schemas.evolution import EvolutionCandidateResponse
|
||||
from app.services.evolution import (
|
||||
approve_evolution_candidate,
|
||||
list_evolution_candidates,
|
||||
reject_evolution_candidate,
|
||||
)
|
||||
|
||||
router = APIRouter(tags=["evolution"])
|
||||
|
||||
|
||||
@router.get(
|
||||
"/characters/{character_id}/evolution-candidates",
|
||||
response_model=Page[EvolutionCandidateResponse],
|
||||
)
|
||||
async def list_evolution_candidates_endpoint(
|
||||
character_id: str,
|
||||
status: str | None = Query(
|
||||
default=None, description="按状态过滤:pending/approved/rejected/applied"
|
||||
),
|
||||
candidate_type: str | None = Query(
|
||||
default=None, alias="type", description="按候选类型过滤(契约字典 §12.1)"
|
||||
),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100),
|
||||
) -> Page[EvolutionCandidateResponse]:
|
||||
"""列出某人物的演化候选(大周天生成 + 审核状态)。"""
|
||||
return await list_evolution_candidates(
|
||||
character_id=character_id,
|
||||
status=status,
|
||||
candidate_type=candidate_type,
|
||||
page=page,
|
||||
page_size=page_size,
|
||||
)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/evolution-candidates/{candidate_id}/approve",
|
||||
response_model=EvolutionCandidateResponse,
|
||||
)
|
||||
async def approve_candidate(
|
||||
candidate_id: str,
|
||||
) -> EvolutionCandidateResponse:
|
||||
"""审核通过演化候选:派生到下游(人格版本/程序记忆等),status → applied。"""
|
||||
return await approve_evolution_candidate(candidate_id)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/evolution-candidates/{candidate_id}/reject",
|
||||
response_model=EvolutionCandidateResponse,
|
||||
)
|
||||
async def reject_candidate(
|
||||
candidate_id: str,
|
||||
) -> EvolutionCandidateResponse:
|
||||
"""驳回演化候选:status → rejected,不派生下游。"""
|
||||
return await reject_evolution_candidate(candidate_id)
|
||||
Reference in new issue
Block a user