from fastapi import APIRouter, Depends, Query from sqlalchemy.orm import Session from backend.repository.db_init import get_db from backend.schemas.game_schema import ( AncestorDeathCreate, DeathRecordRequest, AncestorDeathResponse, DialogueResponse, SkillCreateRequest, SkillCreateResponse ) from backend.services import game_service router = APIRouter(prefix="/api/game", tags=["Game"]) @router.post("/death", response_model=AncestorDeathResponse) def record_death(req: DeathRecordRequest, db: Session = Depends(get_db)): return game_service.create_death_history(db=db, cause_of_death=req.cause_of_death) @router.get("/npc-dialogue", response_model=DialogueResponse) def get_npc_dialogue(current_generation: int = Query(..., description="현재 플레이어 세대"), db: Session = Depends(get_db)): dialogue_text = game_service.generate_npc_dialogue(db=db, current_generation=current_generation) return DialogueResponse(dialogue=dialogue_text) @router.post("/generate-skill", response_model=SkillCreateResponse) def create_skill(req: SkillCreateRequest): return game_service.generate_ai_skill(prompt=req.prompt, player_level=req.player_level)