Files
Project-AI-Chronicle/ai-server/backend/routers/game_router.py
T

27 lines
1.1 KiB
Python

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,
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: AncestorDeathCreate, db: Session = Depends(get_db)):
return game_service.create_death_history(db=db, death_data=req)
@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)