From 1c3918354c0842e370f4e7692258f46ea74345e6 Mon Sep 17 00:00:00 2001 From: Karl Date: Mon, 14 Jul 2025 19:18:47 +0100 Subject: [PATCH] adding and deleting account is working --- ktvmanager/lib/checker.py | 3 ++- ktvmanager/lib/database.py | 16 +++++++++------- routes/api.py | 6 ++++-- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/ktvmanager/lib/checker.py b/ktvmanager/lib/checker.py index e4c2128..661fb3d 100644 --- a/ktvmanager/lib/checker.py +++ b/ktvmanager/lib/checker.py @@ -6,7 +6,8 @@ def build_url(stream_url, username, password): def check_url(url): try: - tr = RequestsTor() + # tr = RequestsTor() + tr = requests response = tr.get(url, timeout=5) response.raise_for_status() if response.json().get("user_info", {}).get("auth"): diff --git a/ktvmanager/lib/database.py b/ktvmanager/lib/database.py index a202ad6..647d2b3 100644 --- a/ktvmanager/lib/database.py +++ b/ktvmanager/lib/database.py @@ -2,6 +2,7 @@ import mysql.connector.pooling from flask import jsonify, request, current_app from ktvmanager.lib.checker import single_account_check from ktvmanager.lib.encryption import encrypt_password, decrypt_password +from ktvmanager.lib.get_urls import get_latest_urls_from_dns db_pool = None @@ -65,17 +66,18 @@ def single_check(): return jsonify(result) return jsonify({"message": "All checks failed"}), 400 -def add_account(): - data = request.get_json() +def add_account(user_id): + data = request.form + res = single_account_check(data, get_latest_urls_from_dns()) encrypted_password = encrypt_password(data['password']) query = "INSERT INTO userAccounts (username, stream, streamURL, expiaryDate, password, userID) VALUES (%s, %s, %s, %s, %s, %s)" - params = (data['username'], data['stream'], data['streamURL'], data['expiaryDate'], encrypted_password, data['userID']) + params = (data['username'], data['stream'], res['url'], res['data']['user_info']['exp_date'], encrypted_password, user_id) result = _execute_query(query, params) return jsonify(result) -def delete_account(): - data = request.get_json() - query = "DELETE FROM userAccounts WHERE id = %s" - params = (data['id'],) +def delete_account(user_id): + data = request.form + query = "DELETE FROM userAccounts WHERE username = %s AND stream = %s AND userId = %s" + params = (data['user'],data['stream'],user_id) result = _execute_query(query, params) return jsonify(result) diff --git a/routes/api.py b/routes/api.py index 3b01911..95482a9 100644 --- a/routes/api.py +++ b/routes/api.py @@ -31,9 +31,11 @@ def single_check_route(username): @api_blueprint.route("/addAccount", methods=["POST"]) @requires_basic_auth def add_account_route(username): - return add_account() + user_id = get_user_id_from_username(username) + return add_account(user_id) @api_blueprint.route("/deleteAccount", methods=["POST"]) @requires_basic_auth def delete_account_route(username): - return delete_account() \ No newline at end of file + user_id = get_user_id_from_username(username) + return delete_account(user_id) \ No newline at end of file