mirror of
https://github.com/StepanovPlaton/torrent_backend.git
synced 2026-04-03 20:30:38 +04:00
Add game card
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
1
database/schemas/__init__.py
Normal file
1
database/schemas/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .games import *
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user