def get_logged_in_user(new_request):
     # get the auth token
     auth_token = new_request.headers.get('Authorization')
     if auth_token:
         resp = User.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             user = User.find_user_with_id(_id=resp)
             response_object = {
                 'status': 'success',
                 'data': {
                     'public_id': user['public_id'],
                     'email': user['email'],
                     'admin': user['admin'],
                     'registered_on': str(user['registered_on'])
                 }
             }
             return response_object, 200
         response_object = {'status': 'fail', 'message': resp}
         return response_object, 401
     else:
         response_object = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return response_object, 401
def get_logged_in_user(new_request):
    # get the auth token
    auth_token = new_request.headers.get('Authorization')
    if auth_token:
        resp = User.decode_auth_token(auth_token)
        if not isinstance(resp, str):
            user = User.find_user_with_id(_id=resp)
            return user
 def test_decode_auth_token(self):
     user = ({
         'email': '*****@*****.**',
         'password': '******',
         'registered_on': datetime.datetime.now()
     })
     test.insert_one(user)
     item = test.find_one({'email': '*****@*****.**'})
     auth_token = User.encode_auth_token(item.get('_id'))
     self.assertTrue(isinstance(auth_token, bytes))
     self.assertTrue(
         User.decode_auth_token(auth_token.decode("utf-8")) == user['_id'])
 def test_encode_auth_token(self):
     user = ({
         'email': '*****@*****.**',
         'password': '******',
         'registered_on': datetime.datetime.now()
     })
     user = test.insert_one(user)
     auth_token = User.encode_auth_token(user.inserted_id)
     self.assertTrue(isinstance(auth_token, bytes))
    def login_user(data):
        try:
            user = User.check_user(data)
            authorized = User.check_password(user, data.get('password'))
            if not authorized:
                return UnauthorizedError

            auth_token = User.encode_auth_token(user.id)
            if auth_token:
                response_object = {
                    'status': 'success',
                    'message': 'Successfully logged in.',
                    'Authorization': auth_token.decode()
                }
                return response_object, 200

        except Exception as e:
            print(e)
            return InternalServerError
def save_new_user(data):

    user = User.check_user(data)
    if user:
        return EmailAlreadyExistsError
    try:
        save_changes(data)

    except Exception as e:
        print(e)
        raise InternalServerError

    else:
        return generate_token(user)
def generate_token(user):
    try:
        # generate the auth token
        auth_token = User.encode_auth_token(user)
        response_object = {
            'status': 'success',
            'message': 'Successfully registered.',
            'Authorization': auth_token.decode()
        }
        return response_object, 201
    except Exception as e:
        response_object = {
            'status': 'fail',
            'message': 'Some error occurred. Please try again.'
        }
        return response_object, 401
 def logout_user(data):
     if data:
         auth_token = data.split(" ")[1]
     else:
         auth_token = ''
     if auth_token:
         resp = User.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             # mark the token as blacklisted
             return save_token(token=auth_token)
         else:
             response_object = {'status': 'fail', 'message': resp}
             return response_object, 401
     else:
         response_object = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return response_object, 403
def get_a_user(public_id):
    return User.get_a_user(public_id)
def get_all_users():
    return User.get_all_user()
示例#11
0
def save_user(data):
    user = User()
    user.store_user(data)
示例#12
0
def save_admin(data):
    user = User()
    user.store_admin(data)