Add authorization

This commit is contained in:
2024-05-14 20:55:35 +04:00
parent 0565efdd15
commit 090897a11f
15 changed files with 255 additions and 24 deletions

View File

@@ -7,6 +7,14 @@ from .. import schemas as sch
from ..database import add_transaction
async def get_games(db: AsyncSession):
return (await db.execute(select(mdl.Game))).scalars().all()
async def get_game(db: AsyncSession, game_id: int):
return await db.get(mdl.Game, game_id)
async def add_game(db: AsyncSession,
game_info: sch.GameCreate,
user_id: int):
@@ -21,18 +29,16 @@ async def edit_game(db: AsyncSession,
game_id: int,
game_info: sch.GameCreate):
game = await db.get(mdl.Game, game_id)
game_fields = [c.name for c in mdl.Game.__table__.columns]
new_game_info = {
**{k: v for k, v in vars(game).items() if k in game_fields},
**game_info.model_dump()}
print(game_fields, new_game_info)
game = mdl.Game(**new_game_info)
for key, value in vars(game_info).items():
if (value and value is not None and getattr(game, key) != value):
setattr(game, key, value)
await db.commit()
return game
async def get_games(db: AsyncSession):
return (await db.execute(select(mdl.Game))).scalars().all()
async def get_game(db: AsyncSession, game_id: int):
return await db.get(mdl.Game, game_id)
async def delete_game(db: AsyncSession,
game_id: int):
game = await get_game(db, game_id)
await db.delete(game)
await db.commit()
return game