def has_ordered(): with Backend() as backend: order_request_id = request.args['order_request_id'] has_ordered = backend.has_ordered(current_user.user_id, order_request_id) return jsonify(has_ordered=has_ordered), status.HTTP_200_OK
def authenticate(): # TODO change to pass credentials as authenticate header with Backend() as backend: req_body = request.json if "user_id" not in req_body: return jsonify(error="user_id not available in request" ), status.HTTP_400_BAD_REQUEST if "hashed_password" not in req_body: return jsonify(error="hashed_password not available in request" ), status.HTTP_400_BAD_REQUEST user_id = req_body["user_id"] hashed_password = req_body["hashed_password"] authenticated_user_id = backend.authenticate_user( user_id, hashed_password) if authenticated_user_id is not None: print("[authenticate] {user_id} access granted".format( user_id=user_id)) return jsonify(authenticated=True), status.HTTP_200_OK else: print("[authenticate] {user_id} access denied".format( user_id=user_id)) return jsonify(authenticated=False), status.HTTP_200_OK
def is_authenticated(self): if self.user_id is None or self.hashed_password is None \ or len(self.user_id) == 0 or len(self.hashed_password) == 0: return None with Backend() as backend: user_id = backend.authenticate_user(self.user_id, self.hashed_password) return user_id is not None
def get_all_order_requests(): with Backend() as backend: order_requests = backend.get_all_order_requests() order_requests = { "order_requests": order_requests, } return json.dumps(order_requests, default=str, indent=4, sort_keys=True), status.HTTP_200_OK
def order_request_for_single_user(): with Backend() as backend: order_requests = backend.get_users_order_requests(current_user.user_id) order_requests = { "order_requests": order_requests, } return json.dumps(order_requests, default=str, indent=4, sort_keys=True), status.HTTP_200_OK
def get_as_text(): with Backend() as backend: if 'file' not in request.files: return jsonify( error="file missing in request"), status.HTTP_400_BAD_REQUEST file = request.files['file'] if file.filename == '': return jsonify(error="No file name"), status.HTTP_400_BAD_REQUEST if file and is_image_file(file.filename): as_text = backend.image_to_text(file) formatted = " ".join(as_text.split()) return jsonify(text=formatted), status.HTTP_200_OK
def order_post(): with Backend() as backend: json_data = request.json order_request_id = json_data["orderRequestId"] has_ordered = backend.has_ordered(current_user.user_id, order_request_id) if has_ordered: return jsonify(status="Failure, order already placed!"), status.HTTP_200_OK order_id = backend.place_order(json_data, current_user.user_id) print("[order] user {user_id} placed order: \n" .format(user_id=current_user.user_id) + str(json.dumps(request.json, indent=2))) return jsonify(status="Success, order has been placed.", id=order_id), status.HTTP_200_OK
def create_account(): with Backend() as backend: req_body = request.json if "user_id" not in req_body: return jsonify(error="user_id not available in request" ), status_code.HTTP_400_BAD_REQUEST if "hashed_password" not in req_body: return jsonify(error="hashed_password not available in request" ), status_code.HTTP_400_BAD_REQUEST user_id = req_body["user_id"] hashed_password = req_body["hashed_password"] has_created = backend.create_user(user_id, hashed_password) status = "created" if has_created else "not created" return jsonify(status=status), status_code.HTTP_200_OK
def order_request_get_all_orders(): with Backend() as backend: orders = backend.get_placed_orders_merged(request.args['id']) return jsonify(orders), status.HTTP_200_OK
def add_new_order_request(): with Backend() as backend: added_order_request_id = backend.add_order_request(request.json) return jsonify( order_request_id=added_order_request_id), status.HTTP_200_OK
def order_get(): with Backend() as backend: placed_order_id = request.args["placed_order_id"] order = backend.get_placed_order(placed_order_id) return jsonify(order=order), status.HTTP_200_OK