Add DTO that contains decision from bot as well as the previous DTO (hard-coded bot decision for now)
This commit is contained in:
13
app.py
13
app.py
@ -5,6 +5,7 @@ from flask_cors import cross_origin
|
|||||||
|
|
||||||
import config
|
import config
|
||||||
from dto.requests import GameStartRequestDTO, GameDecisionRequestDTO
|
from dto.requests import GameStartRequestDTO, GameDecisionRequestDTO
|
||||||
|
from dto.responses import GameStartResponseWithBotDecisionDTO
|
||||||
from services.julius_baer_api_client import JuliusBaerApiClient
|
from services.julius_baer_api_client import JuliusBaerApiClient
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@ -18,7 +19,17 @@ def new_game():
|
|||||||
game_start_request = GameStartRequestDTO(player_name=config.API_TEAM)
|
game_start_request = GameStartRequestDTO(player_name=config.API_TEAM)
|
||||||
res = jb_client.start_game(game_start_request)
|
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'])
|
@app.route('/next', methods=['POST'])
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from typing import Dict, Optional, Any
|
from typing import Dict, Optional, Any, Literal
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
|
|
||||||
|
|
||||||
@ -12,6 +12,16 @@ class GameStartResponseDTO(BaseModel):
|
|||||||
client_data: Dict[str, Any]
|
client_data: Dict[str, Any]
|
||||||
score: int
|
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):
|
class GameDecisionResponseDTO(BaseModel):
|
||||||
"""Response model for a game decision result."""
|
"""Response model for a game decision result."""
|
||||||
|
Reference in New Issue
Block a user