From a5ef5749b105bce3638f15a0ab4068027b69c04e Mon Sep 17 00:00:00 2001 From: DigiServer Developer Date: Mon, 8 Sep 2025 14:04:13 +0300 Subject: [PATCH] upload feedbackto server --- app/app.py | 22 + app/models/__init__.py | 3 +- app/models/player_feedback.py | 11 + app/templates/upload_content.html | 111 +-- app/utils/uploads.py | 37 +- code player/get_playlists.py | 336 +++++++++ code player/player.py | 1091 +++++++++++++++++++++++++++++ docker-compose.yml | 7 +- 8 files changed, 1567 insertions(+), 51 deletions(-) create mode 100644 app/models/player_feedback.py create mode 100644 code player/get_playlists.py create mode 100644 code player/player.py diff --git a/app/app.py b/app/app.py index 8246250..c3ba1f2 100755 --- a/app/app.py +++ b/app/app.py @@ -1,3 +1,25 @@ +# Player feedback API +from models.player_feedback import PlayerFeedback +# --- API route to receive player feedback --- +@app.route('/api/player-feedback', methods=['POST']) +def api_player_feedback(): + data = request.get_json() + required_fields = ['player_name', 'quickconnect_code', 'message', 'status', 'timestamp'] + if not all(field in data for field in required_fields): + return jsonify({'error': 'Missing required fields'}), 400 + + feedback = PlayerFeedback( + player_name=data['player_name'], + quickconnect_code=data['quickconnect_code'], + message=data['message'], + status=data['status'], + timestamp=data['timestamp'], + playlist_version=data.get('playlist_version'), + error_details=data.get('error_details') + ) + db.session.add(feedback) + db.session.commit() + return jsonify({'success': True, 'feedback_id': feedback.id}), 200 import os import click import psutil diff --git a/app/models/__init__.py b/app/models/__init__.py index 8bea2f1..1052514 100644 --- a/app/models/__init__.py +++ b/app/models/__init__.py @@ -2,4 +2,5 @@ from .user import User from .player import Player from .group import Group, group_player from .content import Content -from .server_log import ServerLog \ No newline at end of file +from .server_log import ServerLog +from .player_feedback import PlayerFeedback \ No newline at end of file diff --git a/app/models/player_feedback.py b/app/models/player_feedback.py new file mode 100644 index 0000000..6c25405 --- /dev/null +++ b/app/models/player_feedback.py @@ -0,0 +1,11 @@ +from extensions import db + +class PlayerFeedback(db.Model): + id = db.Column(db.Integer, primary_key=True) + player_name = db.Column(db.String(255), nullable=False) + quickconnect_code = db.Column(db.String(255), nullable=False) + message = db.Column(db.Text, nullable=False) + status = db.Column(db.String(50), nullable=False) + timestamp = db.Column(db.DateTime, nullable=False) + playlist_version = db.Column(db.Integer, nullable=True) + error_details = db.Column(db.Text, nullable=True) \ No newline at end of file diff --git a/app/templates/upload_content.html b/app/templates/upload_content.html index 99e141b..519d583 100644 --- a/app/templates/upload_content.html +++ b/app/templates/upload_content.html @@ -223,61 +223,82 @@