Update game models

This commit is contained in:
2024-05-12 20:07:58 +04:00
parent ce1a706467
commit 6c40917220
6 changed files with 60 additions and 31 deletions

View File

@@ -11,6 +11,7 @@ async def add_game(db: AsyncSession,
game_info: sch.GameCreate,
user_id: int):
game = mdl.Game(**game_info.model_dump(),
update_date=strftime("%Y-%m-%d %H:%M:%S"),
upload_date=strftime("%Y-%m-%d %H:%M:%S"),
owner_id=user_id)
return await add_transaction(db, game)

View File

@@ -0,0 +1,2 @@
from .games import Game as Game
from .users import User as User

View File

@@ -1,23 +1,18 @@
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.orm import relationship
from .database import Base
from ..database import Base
class Game(Base):
__tablename__ = "games"
id = Column(Integer, primary_key=True)
cover = Column(String)
title = Column(String, nullable=False, unique=True)
cover = Column(String)
description = Column(String)
torrent_file = Column(String, nullable=False)
language = Column(String)
version = Column(String)
download_size = Column(String)
upload_date = Column(String, nullable=False)
release_date = Column(String)
trailer = Column(String)
system = Column(String)
processor = Column(String)
@@ -25,16 +20,12 @@ class Game(Base):
graphics = Column(String)
storage = Column(String)
version = Column(String)
update_date = Column(String, nullable=False)
developer = Column(String)
language = Column(String)
release_date = Column(String)
download_size = Column(String)
owner_id = Column(Integer, ForeignKey("users.id"))
owner = relationship("User", back_populates="games")
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
email = Column(String, nullable=False, unique=True)
name = Column(String, nullable=False)
hash_of_password = Column(String, nullable=False)
games = relationship("Game", back_populates="owner")

14
database/models/users.py Normal file
View File

@@ -0,0 +1,14 @@
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import relationship
from ..database import Base
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
email = Column(String, nullable=False, unique=True)
name = Column(String, nullable=False)
hash_of_password = Column(String, nullable=False)
games = relationship("Game", back_populates="owner")

View File

@@ -6,7 +6,7 @@ class GameCardBase(BaseModel):
title: str
cover: Optional[str] = None
description: Optional[str] = None
release_date: Optional[str] = None
version: Optional[str] = None
class GameCard(GameCardBase):
@@ -15,9 +15,7 @@ class GameCard(GameCardBase):
class GameBase(GameCardBase):
torrent_file: str
language: Optional[str] = None
version: Optional[str] = None
download_size: Optional[str] = None
trailer: Optional[str] = None
system: Optional[str] = None
processor: Optional[str] = None
@@ -25,6 +23,12 @@ class GameBase(GameCardBase):
graphics: Optional[str] = None
storage: Optional[str] = None
developer: Optional[str] = None
language: Optional[str] = None
release_date: Optional[str] = None
download_size: Optional[str] = None
class GameCreate(GameBase):
pass
@@ -32,7 +36,8 @@ class GameCreate(GameBase):
class Game(GameBase):
id: int
upload_date: str | None
update_date: str
upload_date: str
owner_id: int
class Config: