diff --git a/src/webqueue2api/api/resources/queue.py b/src/webqueue2api/api/resources/queue.py new file mode 100644 index 0000000..e900e0e --- /dev/null +++ b/src/webqueue2api/api/resources/queue.py @@ -0,0 +1,31 @@ +from flask_restful import Resource +from flask_jwt_extended import jwt_required +# To avoid naming conflicts +from webqueue2api.parser import Queue as _Queue +from webqueue2api.parser.errors import QueueDoesNotExistError + + + +class Queue(Resource): + # @jwt_required + def get(self, queues: str) -> tuple: + """Returns the JSON representation of the queue requested. + + Return Codes: + 200 (OK): On success. + + Args: + queues (str): Plus (+) deliminited list of queues. + + Returns: + tuple: Queues as JSON and HTTP response code. + """ + queues_requested = queues.split("+") + + try: + queue_list = [] + for queue in queues_requested: + queue_list.append(_Queue(queue).toJson()) + return (queue_list, 200) + except QueueDoesNotExistError: + return ({"message": f"Queue {queue} not found."}, 404) \ No newline at end of file