refactor requests related dto with pydantic

This commit is contained in:
NoeBerdoz
2025-04-12 10:00:19 +02:00
parent 8e9db9f1da
commit 93fa2dd5ac
3 changed files with 9 additions and 14 deletions

5
app.py
View File

@ -1,7 +1,6 @@
from dotenv import load_dotenv
from flask import Flask
from dto.requests import GameStartRequest
from dto.requests import GameStartRequestDTO
from services.julius_baer_api_client import JuliusBaerApiClient
app = Flask(__name__)
@ -14,7 +13,7 @@ def hello_world(): # put application's code here
if __name__ == '__main__':
jb_client = JuliusBaerApiClient()
game_start_request = GameStartRequest("Welch")
game_start_request = GameStartRequestDTO(player_name="Welch")
res = jb_client.start_game(game_start_request)
print(res)

View File

@ -1,16 +1,14 @@
from dataclasses import dataclass
from pydantic import BaseModel
from typing import Literal
from uuid import UUID
@dataclass
class GameStartRequest:
class GameStartRequestDTO(BaseModel):
"""Request model for starting a new game."""
player_name: str
@dataclass
class GameDecisionRequest:
class GameDecisionRequestDTO(BaseModel):
"""Request model for making a game decision."""
decision: Literal["Accept", "Reject"]
session_id: UUID

View File

@ -1,9 +1,7 @@
from typing import Dict, Any
import requests
import config
from dto.requests import GameStartRequest, GameDecisionRequest
from typing import Dict, Any
from dto.requests import GameStartRequestDTO, GameDecisionRequestDTO
class JuliusBaerApiClient:
@ -18,7 +16,7 @@ class JuliusBaerApiClient:
self.api_key = config.API_KEY
self.api_team = config.API_TEAM
def start_game(self, game_start_request: GameStartRequest) -> Dict[str, Any]:
def start_game(self, game_start_request: GameStartRequestDTO) -> Dict[str, Any]:
"""
Start a new game session.
@ -47,7 +45,7 @@ class JuliusBaerApiClient:
return data
def make_decision(self, game_decision_request: GameDecisionRequest) -> Dict[str, Any]:
def make_decision(self, game_decision_request: GameDecisionRequestDTO) -> Dict[str, Any]:
"""
Make a game decision (Accept or Reject).