From 842ac5aae2d126ceae0a60b388319bf77163fc78 Mon Sep 17 00:00:00 2001 From: Karl Date: Tue, 15 Jul 2025 16:56:48 +0100 Subject: [PATCH] update expiry --- ktvmanager/lib/checker.py | 9 ++++++++- ktvmanager/lib/database.py | 13 +++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ktvmanager/lib/checker.py b/ktvmanager/lib/checker.py index 1ec8209..1f54066 100644 --- a/ktvmanager/lib/checker.py +++ b/ktvmanager/lib/checker.py @@ -86,6 +86,8 @@ def validate_account() -> Tuple[Response, int]: data = request.get_json() username = data.get("username") password = data.get("password") + expiry_date = data.get("expiry_date") + stream = data.get("stream") if not all([username, password]): return jsonify({"message": "Missing required fields"}), 400 @@ -95,6 +97,11 @@ def validate_account() -> Tuple[Response, int]: result = single_account_check(account_data, stream_urls) if result: - return jsonify({"message": "Account is valid"}), 200 + if expiry_date and stream and result["data"]["user_info"]["exp_date"] != expiry_date: + from ktvmanager.lib.database import update_expiry_date + update_expiry_date( + username, stream, result["data"]["user_info"]["exp_date"] + ) + return jsonify({"message": "Account is valid", "data": result}), 200 else: return jsonify({"message": "Account is invalid"}), 401 \ No newline at end of file diff --git a/ktvmanager/lib/database.py b/ktvmanager/lib/database.py index 8e2f678..3b8af6a 100644 --- a/ktvmanager/lib/database.py +++ b/ktvmanager/lib/database.py @@ -140,6 +140,19 @@ def add_account(user_id: int) -> Response: return jsonify(result) +def update_expiry_date(username: str, stream: str, expiry_date: str) -> None: + """Updates the expiry date of an account. + + Args: + username: The username of the account. + stream: The stream of the account. + expiry_date: The new expiry date. + """ + query = "UPDATE userAccounts SET expiaryDate = %s WHERE username = %s AND stream = %s" + params = (expiry_date, username, stream) + _execute_query(query, params) + + def delete_account(user_id: int) -> Response: """Deletes an account for a user.