26 lines
727 B
Python
26 lines
727 B
Python
from sqlalchemy import select, update
|
|
|
|
from src.models import UsersORM
|
|
from src.repository.base import BaseRepo
|
|
|
|
|
|
class UsersRepo(BaseRepo):
|
|
model = UsersORM
|
|
|
|
async def get_all_users(self) -> list[UsersORM]:
|
|
query = select(self.model)
|
|
result = await self.session.execute(query)
|
|
models = result.scalars().all()
|
|
return models
|
|
|
|
async def update_one(self, id: int, data: dict) -> UsersORM:
|
|
stmt = (
|
|
update(self.model)
|
|
.where(self.model.id == id)
|
|
.values(data.model_dump(exclude_unset=True))
|
|
.returning(self.model)
|
|
)
|
|
result = await self.session.execute(stmt)
|
|
model = result.scalar_one()
|
|
return model
|