Add DTO that contains decision from bot as well as the previous DTO (hard-coded bot decision for now)

This commit is contained in:
dylan
2025-04-12 21:36:09 +02:00
parent 470aba5990
commit 3f9de128be
2 changed files with 23 additions and 2 deletions

13
app.py
View File

@ -5,6 +5,7 @@ from flask_cors import cross_origin
import config
from dto.requests import GameStartRequestDTO, GameDecisionRequestDTO
from dto.responses import GameStartResponseWithBotDecisionDTO
from services.julius_baer_api_client import JuliusBaerApiClient
app = Flask(__name__)
@ -18,7 +19,17 @@ def new_game():
game_start_request = GameStartRequestDTO(player_name=config.API_TEAM)
res = jb_client.start_game(game_start_request)
return res.model_dump_json()
res_with_bot_decision = GameStartResponseWithBotDecisionDTO(
message=res.message,
session_id=res.session_id,
player_id=res.player_id,
client_id=res.client_id,
client_data=res.client_data,
score=res.score,
bot_decision="Accept" # TODO: Get decision from bot
)
return res_with_bot_decision.model_dump_json()
@app.route('/next', methods=['POST'])

View File

@ -1,5 +1,5 @@
from pydantic import BaseModel
from typing import Dict, Optional, Any
from typing import Dict, Optional, Any, Literal
from uuid import UUID
@ -12,6 +12,16 @@ class GameStartResponseDTO(BaseModel):
client_data: Dict[str, Any]
score: int
class GameStartResponseWithBotDecisionDTO(BaseModel):
"""Response model for to send to frontend after a new game started."""
message: str
session_id: UUID
player_id: str
client_id: UUID
client_data: Dict[str, Any]
score: int
bot_decision: Literal["Accept", "Reject"]
class GameDecisionResponseDTO(BaseModel):
"""Response model for a game decision result."""