def unfollow_user(username): user = User.query.filter_by(username=username).first() if not user: raise InvalidUsage.user_not_found() current_user.profile.unfollow(user.profile) current_user.profile.save() return user.profile
def login_user(email, password, **kwargs): user = User.query.filter_by(email=email).first() if user is not None and user.check_password(password): user.token = create_access_token(identity=user, fresh=True) return user else: raise InvalidUsage.user_not_found()
def cancel(self): if not current_user: raise InvalidUsage.user_not_found() self.cancelled = True self.cancelled_by_id = current_user.id self.date_cancelled = datetime.now(tz=current_app.config["TZ"]) db.session.commit()
def verify_reset_password_token(token): if token is None: raise InvalidUsage.unknown_error() user = get_user_from_token(token) if user is not None: auth = AuthModel.create(identity=user) return TokenizedUser(user, auth) raise InvalidUsage.user_not_found()
def get_user_sessions(id): user = User.first(id=id) if user is None: raise InvalidUsage.user_not_found() page = request.args.get('page', 1, type=int) pagination = user.sessions.paginate( page, per_page=25, error_out=False ) sessions = pagination.items return PaginationModel( page=page, data=sessions, total_pages=max(pagination.total // 25, 1), total_results=pagination.total )
def reset_password_request(username, callback_url=None, **kwargs): user = User.first(username=username, email=username, **kwargs) token = generate_password_token(user) pin = generate_pin_code() if callback_url is not None: if callback_url.endswith('/'): callback_url += token else: callback_url = f'{callback_url}/{token}' send_reset_password(user, pin, callback_url) if user is not None: return jsonify({ 'token': token, 'pin': pin }) raise InvalidUsage.user_not_found()
def __init__(self, **kwargs) -> None: if not current_user and not kwargs.get("added_by_id", None): raise InvalidUsage.user_not_found() self.added_by_id = kwargs.get("added_by", current_user.id)
def login(username, password, **kwargsa): user = User.first(username=username, email=username) if user is not None and user.verify_password(password): auth = AuthModel.create(identity=user) return TokenizedUser(auth, user) raise InvalidUsage.user_not_found()
def get_users_statistics(id): user = User.first(id=id) if user is None: raise InvalidUsage.user_not_found() return user.statistics
def get_user_profile(username): user = User.first(username=username, email=username) if user is None: raise InvalidUsage.user_not_found() return user
def get_profile(username): user = User.query.filter_by(username=username).first() if not user: raise InvalidUsage.user_not_found() return user.profile