| 23 | |
| 24 | |
| 25 | def update_user(*, session: Session, db_user: User, user_in: UserUpdate) -> Any: |
| 26 | user_data = user_in.model_dump(exclude_unset=True) |
| 27 | extra_data = {} |
| 28 | if "password" in user_data: |
| 29 | password = user_data["password"] |
| 30 | hashed_password = get_password_hash(password) |
| 31 | extra_data["hashed_password"] = hashed_password |
| 32 | db_user.sqlmodel_update(user_data, update=extra_data) |
| 33 | session.add(db_user) |
| 34 | session.commit() |
| 35 | session.refresh(db_user) |
| 36 | return db_user |
| 37 | |
| 38 | |
| 39 | def get_user_by_id(*, session: Session, user_id: uuid.UUID) -> User | None: |