Hiring-Task-Shy-Badger/ShyBadger/src/endpoints/BasketEndpoint.py

32 lines
967 B
Python
Raw Normal View History

2024-08-15 16:21:53 +00:00
from flask_restful import Resource
from flask import session, Response, request
import uuid
from src.services import BasketService
class Basket(Resource):
basket_service = BasketService()
def get_session_id():
# 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()
return Response(
{"total": self.basket_service.total()}, mimetype="application/json"
)
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 Response(HTTPStatus=201)