| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- from typing import List
- from passlib.hash import sha256_crypt
- from sqlalchemy.orm import Session
- from models.users import User as UserModel
- from schemas.users import User as UserSchema
- def get_user(db: Session, user_id: int) -> UserModel:
- return db.query(UserModel).filter(UserModel.id == user_id).first()
- def get_users(db: Session, skip: int = 0, limit: int = 100) -> List[UserModel]:
- return db.query(UserModel).offset(skip).limit(limit).all()
- def get_user_by_username(db: Session, username: str) -> UserModel:
- return db.query(UserModel).filter(UserModel.username == username).first()
- def get_user_by_token(db: Session, token: str) -> UserModel:
- return db.query(UserModel).filter(UserModel.token == token).first()
- def create_user(db: Session, user: UserSchema) -> UserModel:
- hashed_password = sha256_crypt.encrypt(user.password)
- db_user = UserModel(
- username=user.username,
- password=hashed_password,
- token=user.token,
- company_id=user.company_id,
- )
- db.add(db_user)
- db.commit()
- db.refresh(db_user)
- return db_user
- def update_password(db: Session, db_user: UserModel, new_password: str) -> UserModel:
- new_hashed_password = sha256_crypt.encrypt(new_password)
- db_user.password = new_hashed_password
- db.commit()
- db.refresh(db_user)
- return db_user
|