From 975ee98909cc5563b5dd69e7b88fc7d9f2fb1c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Am=C4=93lija=20I?= Date: Tue, 17 Dec 2024 20:30:08 +0200 Subject: [PATCH] initial commit --- server.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 server.py diff --git a/server.py b/server.py new file mode 100644 index 0000000..39d32e0 --- /dev/null +++ b/server.py @@ -0,0 +1,33 @@ +from flask import Flask, request, jsonify +from pymongo import MongoClient +from flask_cors import CORS + +app = Flask(__name__) +CORS(app) + +uri = 'mongodb+srv://amelija:This_is_what_u_need@extension.5qftc.mongodb.net/?retryWrites=true&w=majority&appName=Extension' + +mongo_client = MongoClient(uri) +db = mongo_client["user_interactions"] +collection = db["user_events"] + +def validate_event(event): + required_keys = ["@version", "type", "TimeStamp", "data", "@timestamp"] + return all(key in event for key in required_keys) + +@app.route('/submit', methods=['POST']) +def submit_event(): + try: + event = request.get_json() + + if not event or not validate_event(event): + return jsonify({"error": "Неверный формат"}), 400 + + collection.insert_one(event) + + return jsonify({"message": "Действие успешно сохранено"}), 200 + except Exception as e: + return jsonify({"error": str(e)}), 500 + +if __name__ == '__main__': + app.run(debug=True, host='0.0.0.0', port=5000) \ No newline at end of file