diff --git a/app.py b/app.py index c0f3d87d8a..e51cc75ce2 100644 --- a/app.py +++ b/app.py @@ -1,14 +1,65 @@ -from flask import Flask -import os +from flask import Flask, request, jsonify +import mysql.connector app = Flask(__name__) -@app.route('/') -def hello(): - return "Hello World!" +def get_db(): + return mysql.connector.connect( + host="mysql", + user="f832139", + password="password", + database="sampledb" + ) -if __name__ == '__main__': - port = os.environ.get('FLASK_PORT') or 8080 - port = int(port) +# INSERT +@app.route("/insert", methods=["POST"]) +def insert_row(): + data = request.json + name = data.get("name") + role = data.get("role") - app.run(port=port,host='0.0.0.0') \ No newline at end of file + conn = get_db() + cursor = conn.cursor() + cursor.execute("INSERT INTO employees (name, role) VALUES (%s, %s)", (name, role)) + conn.commit() + + return jsonify({"message": "Row inserted", "id": cursor.lastrowid}) + +# UPDATE +@app.route("/update/", methods=["PUT"]) +def update_row(emp_id): + data = request.json + name = data.get("name") + role = data.get("role") + + conn = get_db() + cursor = conn.cursor() + cursor.execute( + "UPDATE employees SET name=%s, role=%s WHERE id=%s", + (name, role, emp_id) + ) + conn.commit() + + return jsonify({"message": "Row updated"}) + +# DELETE +@app.route("/delete/", methods=["DELETE"]) +def delete_row(emp_id): + conn = get_db() + cursor = conn.cursor() + cursor.execute("DELETE FROM employees WHERE id=%s", (emp_id,)) + conn.commit() + + return jsonify({"message": "Row deleted"}) + +# OPTIONAL: fetch all rows +@app.route("/employees", methods=["GET"]) +def get_all(): + conn = get_db() + cursor = conn.cursor(dictionary=True) + cursor.execute("SELECT * FROM employees") + rows = cursor.fetchall() + return jsonify(rows) + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=8081, debug=True) diff --git a/requirements.txt b/requirements.txt index 51c32f3429..f11d3ae29a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ -Flask==3.1.2 \ No newline at end of file +Flask==3.1.2 +mysql-connector-python