WIP: Current state before PVP combat investigation

This commit is contained in:
Joan
2026-02-03 12:19:28 +01:00
parent 7f42fd6b7f
commit 0b0a23f500
36 changed files with 2423 additions and 1472 deletions

View File

@@ -2,9 +2,11 @@
Character management router.
Handles character creation, selection, and deletion.
"""
from fastapi import APIRouter, HTTPException, Depends, status
from fastapi import APIRouter, HTTPException, Depends, status, Request
from fastapi.security import HTTPAuthorizationCredentials
from ..services.helpers import get_game_message
from ..core.security import decode_token, create_access_token, security
from ..services.models import CharacterCreate, CharacterSelect
from .. import database as db
@@ -51,10 +53,12 @@ async def list_characters(credentials: HTTPAuthorizationCredentials = Depends(se
@router.post("")
async def create_character_endpoint(
character: CharacterCreate,
request: Request,
credentials: HTTPAuthorizationCredentials = Depends(security)
):
"""Create a new character"""
token = credentials.credentials
locale = request.headers.get('Accept-Language', 'en')
payload = decode_token(token)
account_id = payload.get("account_id")
@@ -120,7 +124,7 @@ async def create_character_endpoint(
)
return {
"message": "Character created successfully",
"message": get_game_message('character_created', locale),
"character": {
"id": new_character["id"],
"name": new_character["name"],
@@ -203,10 +207,12 @@ async def select_character(
@router.delete("/{character_id}")
async def delete_character_endpoint(
character_id: int,
request: Request,
credentials: HTTPAuthorizationCredentials = Depends(security)
):
"""Delete a character"""
token = credentials.credentials
locale = request.headers.get('Accept-Language', 'en')
payload = decode_token(token)
account_id = payload.get("account_id")
@@ -234,5 +240,5 @@ async def delete_character_endpoint(
await db.delete_character(character_id)
return {
"message": f"Character '{character['name']}' deleted successfully"
"message": get_game_message('character_deleted', locale, name=character['name'])
}