allow user to validate an account using checker

This commit is contained in:
Karl 2025-07-15 15:12:44 +01:00
parent 4267dfcb33
commit 26e26951da
2 changed files with 26 additions and 1 deletions

View File

@ -1,4 +1,6 @@
import requests import requests
from flask import request, jsonify
from ktvmanager.lib.get_urls import get_latest_urls_from_dns
def build_url(stream_url, username, password): def build_url(stream_url, username, password):
return f"{stream_url}/player_api.php?username={username}&password={password}" return f"{stream_url}/player_api.php?username={username}&password={password}"
@ -27,4 +29,21 @@ def single_account_check(account_data, stream_urls):
result = check_url(url) result = check_url(url)
if result: if result:
return {"url": stream_url, "data": result} return {"url": stream_url, "data": result}
return None return None
def validate_account():
data = request.get_json()
username = data.get("username")
password = data.get("password")
if not all([username, password]):
return jsonify({"message": "Missing required fields"}), 400
stream_urls = get_latest_urls_from_dns()
account_data = {"username": username, "password": password}
result = single_account_check(account_data, stream_urls)
if result:
return jsonify({"message": "Account is valid"})
else:
return jsonify({"message": "Account is invalid"}), 401

View File

@ -40,6 +40,12 @@ def delete_account_route(username, password):
user_id = get_user_id_from_username(username) user_id = get_user_id_from_username(username)
return delete_account(user_id) return delete_account(user_id)
@api_blueprint.route("/validateAccount", methods=["POST"])
@requires_basic_auth
def validate_account_route(username, password):
from ktvmanager.lib.checker import validate_account
return validate_account()
@api_blueprint.route("/Login") @api_blueprint.route("/Login")
@requires_basic_auth @requires_basic_auth
def login_route(username, password): def login_route(username, password):