def get_all_blood_banks(): # per_page = int(request.args.get('per_page',None)) page = request.args.get('page', None) if page: page = int(page) all_blood_bank_data = BloodBankService.get_paginated_blood_banks( formatted=True, page=page) if all_blood_bank_data: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, all_blood_bank_data).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks data found", None).to_json()), 201 all_blood_bank_data = BloodBankService.get_all_blood_banks(True) if all_blood_bank_data: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, all_blood_bank_data).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks data found", None).to_json()), 201
def get_city_by_state(state): cities = BloodBankService.get_city_by_state(state) if cities: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, cities).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no cities found", None).to_json()), 201
def get_all_states(): states = BloodBankService.get_all_states() if states: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, states).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no states found", None).to_json()), 201
def post_blood_bank(): post_json = request.get_json() blood_bank = BloodBankService.create_blood_bank(post_json, formatted=True) if blood_bank: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, blood_bank).to_json()), 201 return jsonify( BaseResponse(0, ResponseCode.INVALID_REQUEST_DATA, "correct data not sent by user", None).to_json()), 400
def find_by_city(city): if city: blood_banks = BloodBankService.find_by_city(city, True) if blood_banks: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, blood_banks).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks found", None).to_json()), 201 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks found", None).to_json()), 201
def get_blood_banks_by_state(state): if state: blood_banks = BloodBankService.find_by_state(state, True) if blood_banks: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, blood_banks).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks found", None).to_json()), 201 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks found", None).to_json()), 201
def get_filtered_blood_banks(blood_type): if blood_type: blood_banks = BloodBankService.get_blood_bank_avail_btype( blood_type, formatted=True) if blood_banks: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, None, blood_banks).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks found", None).to_json()), 201 return jsonify( BaseResponse(0, ResponseCode.RESOURCE_NOT_FOUND, "no blood banks found", None).to_json()), 201
def post_register(): post_data = request.get_json() if post_data.get("email", None) and post_data.get("password", None): user_exists = UserService.find_by_email(post_data.get("email")) if user_exists: return jsonify( BaseResponse(0, ResponseCode.UNKNOWN_ERROR, "User already exists", None).to_json()), 409 user = UserService.create_user(post_data) if user: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, "User created successfully", user).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.UNKNOWN_ERROR, "There was some unknown error while creating the user", None).to_json()), 500
def post_login(): if current_user.is_authenticated: return jsonify( BaseResponse(1, ResponseCode.SUCCESS, "User already logged in", None).to_json()), 200 post_data = request.get_json() if post_data.get("email", None) and post_data.get("password", None): print("got email and password") user = UserService.find_by_email(post_data.get("email")) if user and (user.password_hash == get_hash_string( str(post_data.get("password")) + Config.SALT_KEY, HashMethod.SHA256)): print("user authenticated") user_data = user.to_json() login_user(user) return jsonify( BaseResponse(1, ResponseCode.SUCCESS, "User logged in successfully", user_data).to_json()), 200 return jsonify( BaseResponse(0, ResponseCode.AUTHENTICATION_FAILED, "Authentication Failed", None).to_json()), 401
def post_logout(): logout_user() return jsonify( BaseResponse(1, ResponseCode.SUCCESS, "User logged out successfully", None).to_json()), 200