def update_user_info(db_session: Session, *, user: User, data: UserUpdate, otp: int = None) -> User: """If `otp` sent is not None: `user.otp = otp` `user.email_verified = False` `user.otp_created_at = datetime.utcnow()` """ data = jsonable_encoder(data, exclude_none=True) for field in data: setattr(user, field, data[field]) if otp: user.otp = otp user.email_verified = False user.otp_created_at = datetime.utcnow() db_session.add(user) db_session.commit() db_session.refresh(user) return user
def user_email_verified(db_session: Session, *, user: User) -> User: user.email_verified = True db_session.commit() return user