def delete_user(data):
    try:
        User.objects(publicId=data['publicId']).delete()
        response_object = {
            'status': Const.SUCCESS,
            'message': Const.USER_DELETE_SUCCESS
        }
        return response_object, Const.SUCCESS_CODE
    except Exception as e:
        response_object = {
            'status': Const.FAIL,
            'message': e
        }
        return response_object, Const.FAILURE_CODE
Example #2
0
    def login_user(data):
        try:
            # fetch the user data
            user = User.objects(email=data.get('email'))[0]
            if user and user.check_password(data.get('password')):
                auth_token = user.encode_auth_token(user.id)
                if auth_token:
                    response_object = {
                        'status': 'success',
                        'message': 'Successfully logged in.',
                        'Authorization': auth_token
                    }
                    return response_object, 200
            else:
                response_object = {
                    'status': 'fail',
                    'message': 'email or password does not match.'
                }
                return response_object, 401

        except Exception as e:
            response_object = {
                'status': 'fail',
                'message': 'Try again'
            }
            return response_object, 500
Example #3
0
 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.objects(id=resp)[0]
             response_object = {
                 'status': 'success',
                 'data': {
                     'user_id': user.id,
                     'email': user.email,
                     '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_user(public_id):
    query_set = User.objects(public_id=public_id)
    if query_set:
        user = query_set[0]
        del user.password
        return user
    else:
        return None
def upload_image(data):
    try:
        condition = {}
        # data['profile'] = data['file1'].filename
        if 'publicId' in data and data['publicId'] is not None:
            condition["publicId"] = uuid.UUID(data['publicId'])

            data_set = User.objects.aggregate(*[
                {"$match": condition},
                {"$project": {'publicId': 1, 'profile': 1}}
            ])
            UserData = list(data_set)
            if 'profile' in UserData[0] and UserData[0]['profile'] is not None:
                os.remove(os.path.join(Const.APP_ROOT + '\\files', UserData[0]['profile']))

            file = data['file1']

            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                unique_filename = data['publicId'] + '-' + filename
                data['profile'] = unique_filename
                file.save(os.path.join(Const.APP_ROOT + '\\files', unique_filename))
            del data['file1']
            User.objects(publicId=data['publicId']).update(**data)
            response_object = {
                'status': Const.SUCCESS,
                'message': Const.USER_UPLOAD_PROFILE_SUCCESS
            }
            return response_object, Const.SUCCESS_CODE

        else:
            response_object = {
                'status': Const.FAIL,
                'message': "Enter valid public id"
            }
            return response_object, Const.FAILURE_CODE

    except Exception as e:
        response_object = {
            'status': Const.FAIL,
            'message': e
        }
        return response_object, Const.FAILURE_CODE
def save_new_user(data):
    user = User.objects(email=data["email"])
    if not user:
        hashed_password = flask_bcrypt.generate_password_hash(
            data['password']).decode('utf-8')
        new_user = User(username=data["username"],
                        email=data["email"],
                        first_name=data["first_name"],
                        last_name=data["last_name"],
                        password=hashed_password)
        new_user.save()
        logger.debug("NEW USER CREATED: ", new_user)
        return generate_token(new_user)
    else:
        return ResponseObject.user_reg(success=False)
def update_user(data):
    try:
        print('service')
        print(data['publicId'])
        if 'publicId' in data:
            print('yes publicId found')
            if 'name.firstName' in data:
                data['fullName'] = data['name']['firstName'] + ' ' + data['name']['lastName']
            if 'roleId' in data:
                data_set = Role.objects.aggregate(
                    {'$match': {'publicId': uuid.UUID(data['roleId'])}},
                    {"$project": {'_id': 1}}
                )
                role_data = list(data_set)
                print(role_data[0]['_id'])
                data['roleId'] = role_data[0]['_id']
            print('asdasdasda')
            User.objects(publicId=data['publicId']).update(**data)
            response_object = {
                'status': Const.SUCCESS,
                'message': Const.USER_UPDATE_SUCCESS
            }
            return response_object, Const.SUCCESS_CODE
        else:
            response_object = {
                'status': Const.FAIL,
                'message': "publicId is required"
            }
            return response_object, Const.FAILURE_CODE

    except Exception as e:
        response_object = {
            'status': Const.FAIL,
            'message': e
        }
        return response_object, Const.FAILURE_CODE
def user_login(data):
    for item in User.objects(email=data['email']):
        verify = verify_password(data['password'], item['password'].encode('utf-8'),  item['passwordSalt'])
        if not verify:
            response_object = {
                'status': Const.FAIL,
                'message': 'Incorrect username or password.'
            }
            return response_object, Const.FAILURE_CODE
        token = generate_active_token(str(item['publicId']), item['roleId']['role'])
        response_object = {
            # 'status': Const.SUCCESS,
            'token': token,
            'publicId': str(item['publicId']),
            'role': item['roleId']['role'],
            'message': 'Successfully logged in.'
        }
        return response_object, Const.SUCCESS_CODE
    response_object = {
        'status': Const.FAIL,
        'message': 'Incorrect username or password.'
    }
    return response_object, Const.FAILURE_CODE
Example #9
0
def get_all_users():
    return list(User.objects()), 200