示例#1
0
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
示例#2
0
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()
示例#3
0
    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()
示例#4
0
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()
示例#5
0
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
  )
示例#6
0
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()
示例#7
0
    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)
示例#8
0
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()
示例#9
0
def get_users_statistics(id):
  user = User.first(id=id)
  if user is None:
    raise InvalidUsage.user_not_found()
  return user.statistics
示例#10
0
def get_user_profile(username):
  user = User.first(username=username, email=username)
  if user is None:
    raise InvalidUsage.user_not_found()
  return user
示例#11
0
def get_profile(username):
    user = User.query.filter_by(username=username).first()
    if not user:
        raise InvalidUsage.user_not_found()
    return user.profile