criação inicial do corpo do projeto

This commit is contained in:
2026-05-18 17:54:09 -05:00
commit 7669a1c77b
12 changed files with 292 additions and 0 deletions

46
app/schemas/game.py Normal file
View File

@@ -0,0 +1,46 @@
from pydantic import BaseModel, HttpUrl
from typing import List, Optional, Dict, Any
class GameImages(BaseModel):
thumbnail: Optional[HttpUrl] = None
header: Optional[HttpUrl] = None
class SystemRequirements(BaseModel):
cpu: Optional[str] = None
gpu: Optional[str] = None
ram: Optional[str] = None
class GameBase(BaseModel):
title: str
description: str
genres: List[str]
platforms: List[str]
developer: str
images: Optional[GameImages] = None
system_requirements: Optional[SystemRequirements] = None
active: bool = True
class GameCreate(GameBase):
pass
class GameUpdate(BaseModel):
title: Optional[str] = None
description: Optional[str] = None
genres: Optional[List[str]] = None
platforms: Optional[List[str]] = None
developer: Optional[str] = None
images: Optional[GameImages] = None
system_requirements: Optional[SystemRequirements] = None
active: Optional[bool] = None
class GameResponse(GameBase):
id: str
slug: str
class Config:
from_attributes = True
class StandardResponse(BaseModel):
success: bool
message: str
data: Optional[Any] = None