Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

38 wiersze
1008 B

  1. # Creating a new user in the database
  2. from sqlalchemy.orm import Session
  3. from schemas.user import UserCreate
  4. from db.models.user import User
  5. from core.hashing import Hasher
  6. def create_new_user(user: UserCreate, db: Session):
  7. user_object = User(
  8. Email=user.Email,
  9. Name=user.Name,
  10. MiddleName=user.MiddleName,
  11. LastName=user.LastName,
  12. BirthDate=user.BirthDate,
  13. ContactNumber=user.ContactNumber,
  14. Role=user.Role,
  15. HashedPassword=Hasher.get_password_hash(user.Password),
  16. )
  17. db.add(user_object)
  18. db.commit()
  19. db.refresh(user_object)
  20. return user_object
  21. def verify_driver_exists(driver_id: int, db: Session):
  22. driver = db.query(User).filter(User.Id == driver_id).first()
  23. if not driver:
  24. return False
  25. if driver.Role != "Driver":
  26. return False
  27. return True
  28. def list_users(db: Session, role: str = "Any"):
  29. users = db.query(User).filter((User.Role == role) | (role == "Any")).all()
  30. return users