17 lines
529 B
Python
17 lines
529 B
Python
from sqlalchemy import select
|
|
from app.database import async_session
|
|
from app.models.player import Player
|
|
|
|
async def get_or_create_player(telegram_id: int):
|
|
async with async_session() as session:
|
|
result = await session.execute(
|
|
select(Player).where(Player.telegram_id == telegram_id)
|
|
)
|
|
player = result.scalar_one_or_none()
|
|
|
|
if not player:
|
|
player = Player(telegram_id=telegram_id)
|
|
session.add(player)
|
|
await session.commit()
|
|
|
|
return player |