Skip to content
Extraits de code Groupes Projets
crud.py 1,04 ko
Newer Older
  • Learn to ignore specific revisions
  • from sqlalchemy.orm import Session
    
    import models, schemas
    from hashing import Hasher
    
    
    def get_user(db: Session, user_id: int):
        return db.query(models.User).filter(models.User.id == user_id).first()
    
    
    def get_user_by_username(db: Session, username: str):
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
        return db.query(models.User).filter(models.User.username == username.lower()).first()
    
    
    
    def get_user_by_username_and_password(db: Session, username: str, password: str):
        user_db = get_user_by_username(db, username)
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
        if user_db is None:
            return None
    
        if not Hasher.verify_password(password, user_db.password):
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
            return None
        return user_db
    
    
    
    def get_users(db: Session, skip: int = 0, limit: int = 100):
        return db.query(models.User).offset(skip).limit(limit).all()
    
    
    def create_user(db: Session, user: schemas.UserCreate):
        password = Hasher.get_password_hash(user.password)
    
    Brieuc Dubois's avatar
    Brieuc Dubois a validé
        db_user = models.User(username=user.username.lower(), password=password, type=user.type, is_active=user.is_active)
    
        db.add(db_user)
        db.commit()
        db.refresh(db_user)
        return db_user