30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
from flask_restful import Resource
|
|
from flask import session, Response, request, make_response, jsonify
|
|
import uuid
|
|
|
|
from services.BasketService import BasketService
|
|
|
|
# API has not been tested
|
|
class Basket(Resource):
|
|
basket_service = BasketService()
|
|
|
|
def get_session_id(self):
|
|
# first interaction with server sets session_id
|
|
# would need to research if this is ideal
|
|
return str(uuid.uuid4())
|
|
|
|
def get(self):
|
|
if "session_id" not in session:
|
|
session["session_id"] = self.get_session_id()
|
|
total = self.basket_service.total(session["session_id"])
|
|
return make_response(jsonify({'total': total}), 200)
|
|
def post(self):
|
|
# expects something similar: {"items": [{"item_id": abc002}]}
|
|
|
|
if "session_id" not in session:
|
|
session["session_id"] = self.get_session_id()
|
|
jsonData = request.get_json(force=True)
|
|
for entry in jsonData["items"]:
|
|
self.basket_service.scan(entry["item_id"])
|
|
return make_response(201)
|