29 lines
1.4 KiB
Python
29 lines
1.4 KiB
Python
from fastapi import APIRouter, Depends, HTTPException, status
|
|
from sqlalchemy.orm import Session
|
|
from typing import List, Optional
|
|
|
|
from app.schemas.game import GameCreate, GameUpdate, GameResponse, StandardResponse
|
|
from app.db.database import get_db
|
|
|
|
router = APIRouter()
|
|
|
|
@router.get("/", response_model=StandardResponse)
|
|
def read_games(skip: int = 0, limit: int = 100, genre: Optional[str] = None, platform: Optional[str] = None, db: Session = Depends(get_db)):
|
|
# Lógica de listagem e filtragem será implementada aqui
|
|
return {"success": True, "message": "Lista de jogos", "data": []}
|
|
|
|
@router.post("/", response_model=StandardResponse, status_code=status.HTTP_201_CREATED)
|
|
def create_game(game: GameCreate, db: Session = Depends(get_db)):
|
|
# Lógica de criação será implementada aqui
|
|
return {"success": True, "message": "Jogo criado com sucesso", "data": {}}
|
|
|
|
@router.get("/{id_ou_slug}", response_model=StandardResponse)
|
|
def read_game(id_ou_slug: str, db: Session = Depends(get_db)):
|
|
# Lógica de leitura de um único jogo será implementada aqui
|
|
return {"success": True, "message": "Detalhes do jogo", "data": {}}
|
|
|
|
@router.patch("/{id}", response_model=StandardResponse)
|
|
def update_game(id: str, game: GameUpdate, db: Session = Depends(get_db)):
|
|
# Lógica de atualização parcial será implementada aqui
|
|
return {"success": True, "message": "Jogo atualizado com sucesso", "data": {}}
|