from fuware.core.security.hasher import get_hasher from fuware.db.models.users.users import User from fuware.schemas import UserCreate from sqlalchemy.orm import Session class RepositoryUsers: def __init__(self): self.user = User() def get_all(self, skip: int = 0, limit: int = 100): return self.user.query.offset(skip).limit(limit).all() def get_by_username(self, username: str): return self.user.query.filter_by(username=username).first() def create(self, db: Session, user: UserCreate): try: hasher = get_hasher() db_user = User(username=user.username, password=hasher.hash(user.password), name=user.name) db.add(db_user) db.commit() except Exception: db.rollback() raise db.refresh(db_user) return db_user