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
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
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
def get_all_users(): return list(User.objects()), 200