Add game card

This commit is contained in:
2024-05-11 11:00:51 +04:00
parent fd5b19e6a9
commit 6ea6abad41
6 changed files with 35 additions and 25 deletions

View File

@@ -1,3 +1,4 @@
from time import strftime
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select
@@ -9,7 +10,9 @@ from ..database import add_transaction
async def add_game(db: AsyncSession,
game_info: sch.GameCreate,
user_id: int):
game = mdl.Game(**game_info.model_dump(), owner_id=user_id)
game = mdl.Game(**game_info.model_dump(),
upload_date=strftime("%Y-%m-%d %H:%M:%S"),
owner_id=user_id)
return await add_transaction(db, game)

View File

@@ -0,0 +1 @@
from .games import *

View File

@@ -1,15 +1,22 @@
from pydantic import BaseModel
class GameBase(BaseModel):
class GameCardBase(BaseModel):
title: str
cover: str | None = None
description: str | None = None
class GameCard(GameCardBase):
id: int
upload_date: str | None = None
class GameBase(GameCardBase):
torrent_file: str
language: str | None = None
version: str | None = None
download_size: str | None = None
upload_date: str | None = None
system: str | None = None
processor: str | None = None
@@ -24,24 +31,8 @@ class GameCreate(GameBase):
class Game(GameBase):
id: int
upload_date: str | None
owner_id: int
class Config:
from_attributes = True
class UserBase(BaseModel):
email: str
name: str
class UserCreate(UserBase):
password: str
class User(UserBase):
id: int
games: list[Game] = []
class Config:
from_attributes = True