diff --git a/app/routes.py b/app/routes.py index 8aa3782..ae00f1a 100644 --- a/app/routes.py +++ b/app/routes.py @@ -1,19 +1,38 @@ -from flask import json, jsonify -from app import app -from app import db +from flask import jsonify, request +from app import app, db from app.models import Menu +# Health check @app.route('/') def home(): - return jsonify({ "status": "ok" }) + return jsonify({"status": "ok"}), 200 -@app.route('/menu') -def menu(): - today = Menu.query.first() + +# Get today's menu +@app.route('/menu', methods=['GET']) +def get_menu(): + today = Menu.query.first() # Adjust filter logic if needed if today: - body = { "today_special": today.name } - status = 200 + return jsonify({ + "menu": today.serialize(), # Make sure Menu model has serialize() method + "status": "available" + }), 200 else: - body = { "error": "Sorry, the service is not available today." } - status = 404 - return jsonify(body), status \ No newline at end of file + return jsonify({"error": "Sorry, the service is not available today."}), 404 + + +# Add or update menu +@app.route('/menu', methods=['POST']) +def add_menu(): + data = request.json + if not data or "name" not in data or "price" not in data: + return jsonify({"error": "Invalid data. 'name' and 'price' are required."}), 400 + + try: + menu_item = Menu(name=data["name"], price=data["price"]) + db.session.add(menu_item) + db.session.commit() + return jsonify({"message": "Menu item added successfully"}), 201 + except Exception as e: + db.session.rollback() + return jsonify({"error": str(e)}), 500 diff --git a/new-repo1 b/new-repo1 new file mode 160000 index 0000000..35115e7 --- /dev/null +++ b/new-repo1 @@ -0,0 +1 @@ +Subproject commit 35115e75771b8bf6b76176383bc0a54f45ac8844