/
nollieundergrob
/
PythonPackageStorage
Обзор
Документация
Войти
/
nollieundergrob
/
PythonPackageStorage
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
backend/src/data/models/user.py
65 строк
2 KB
nollieundergrob
SPLIT
13 мар 2025, 23:11
13 мар 2025, 23:11
ad00f30
Код
Авторство
О чём код?
from sqlalchemy import Column, String, Boolean from data.base import Base as BaseModel from sqlalchemy import select from sqlalchemy.engine import Result from sqlalchemy.ext.asyncio import AsyncSession from schemas.user import UserCreate class Users(BaseModel): name = Column( String, ) email = Column( String, unique=True, nullable=False, ) username = Column( String, unique=True, nullable=False, ) is_staff = Column( Boolean, default=False, nullable=False, ) is_active = Column( Boolean, default=False, nullable=False, ) is_admin = Column( Boolean, default=False, nullable=False, ) password = Column(String, nullable=False) class UserCRUD: @staticmethod async def get_all(session: AsyncSession) -> list[Users]: stmt = select(Users).order_by(Users.id) result: Result = await session.execute(stmt) users = result.scalars().all() return list(users) @staticmethod async def get_detail(session: AsyncSession, user_id: int) -> Users: return await session.get(Users, user_id) @staticmethod async def create(session: AsyncSession, user_in: UserCreate) -> Users: user = Users(**user_in.model_dump()) session.add(user) await session.commit() await session.refresh(user) return user @staticmethod async def replace(session: AsyncSession, user_id: int, user_in: UserCreate): user = select(Users).where(id=user_id).one() print(user)