chat_back/app/users/dao.py

21 lines
688 B
Python

from sqlalchemy import update, select
from sqlalchemy.exc import SQLAlchemyError
from app.dao.base import BaseDAO
from app.database import async_session_maker
from app.users.models import Users
class UserDAO(BaseDAO):
model = Users
@classmethod
async def change_data(cls, user_id: int, **data_to_change):
query = update(Users).where(Users.id == user_id).values(**data_to_change)
async with async_session_maker() as session:
await session.execute(query)
await session.commit()
query = select(Users.username).where(Users.id == user_id)
result = await session.execute(query)
return result.scalar()