from sqlalchemy.orm import Session from app import models, schemas from app.utils.encrypt import get_password_hash, verify_password def get_user(db: Session, username: str): return db.query(models.User).filter(models.User.username == username).first() def create_user(db: Session, user: schemas.UserCreate): hashed_password = get_password_hash(user.password) user = models.User( username=user.username, email=user.email, full_name=user.full_name, hashed_password=hashed_password, ) db.add(user) db.commit() return user def get_users(db: Session, skip: int = 0, limit: int = 100): return db.query(models.User).offset(skip).limit(limit).all() def authenticate_user(db: Session, username: str, password: str): user = get_user(db, username) if not user: return False if not verify_password(password, user.hashed_password): return False return user