Compare commits
No commits in common. "1c3918354c0842e370f4e7692258f46ea74345e6" and "2a49e280c266de1dd66266150bc59f142ba0a21d" have entirely different histories.
1c3918354c
...
2a49e280c2
@ -6,8 +6,7 @@ def build_url(stream_url, username, password):
|
|||||||
|
|
||||||
def check_url(url):
|
def check_url(url):
|
||||||
try:
|
try:
|
||||||
# tr = RequestsTor()
|
tr = RequestsTor()
|
||||||
tr = requests
|
|
||||||
response = tr.get(url, timeout=5)
|
response = tr.get(url, timeout=5)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
if response.json().get("user_info", {}).get("auth"):
|
if response.json().get("user_info", {}).get("auth"):
|
||||||
|
@ -1,16 +1,10 @@
|
|||||||
import mysql.connector.pooling
|
import mysql.connector
|
||||||
from flask import jsonify, request, current_app
|
from flask import jsonify, request, current_app
|
||||||
from ktvmanager.lib.checker import single_account_check
|
from ktvmanager.lib.checker import single_account_check
|
||||||
from ktvmanager.lib.encryption import encrypt_password, decrypt_password
|
from ktvmanager.lib.encryption import encrypt_password, decrypt_password
|
||||||
from ktvmanager.lib.get_urls import get_latest_urls_from_dns
|
|
||||||
|
|
||||||
db_pool = None
|
def _create_connection():
|
||||||
|
return mysql.connector.connect(
|
||||||
def initialize_db_pool():
|
|
||||||
global db_pool
|
|
||||||
db_pool = mysql.connector.pooling.MySQLConnectionPool(
|
|
||||||
pool_name="ktv_pool",
|
|
||||||
pool_size=5,
|
|
||||||
host=current_app.config["DBHOST"],
|
host=current_app.config["DBHOST"],
|
||||||
user=current_app.config["DBUSER"],
|
user=current_app.config["DBUSER"],
|
||||||
password=current_app.config["DBPASS"],
|
password=current_app.config["DBPASS"],
|
||||||
@ -19,7 +13,7 @@ def initialize_db_pool():
|
|||||||
)
|
)
|
||||||
|
|
||||||
def _execute_query(query, params=None):
|
def _execute_query(query, params=None):
|
||||||
conn = db_pool.get_connection()
|
conn = _create_connection()
|
||||||
cursor = conn.cursor(dictionary=True)
|
cursor = conn.cursor(dictionary=True)
|
||||||
try:
|
try:
|
||||||
cursor.execute(query, params)
|
cursor.execute(query, params)
|
||||||
@ -39,6 +33,7 @@ def get_user_id_from_username(username):
|
|||||||
if result:
|
if result:
|
||||||
return result[0]['id']
|
return result[0]['id']
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_user_accounts(user_id):
|
def get_user_accounts(user_id):
|
||||||
query = "SELECT * FROM userAccounts WHERE userID = %s"
|
query = "SELECT * FROM userAccounts WHERE userID = %s"
|
||||||
accounts = _execute_query(query, (user_id,))
|
accounts = _execute_query(query, (user_id,))
|
||||||
@ -66,18 +61,17 @@ def single_check():
|
|||||||
return jsonify(result)
|
return jsonify(result)
|
||||||
return jsonify({"message": "All checks failed"}), 400
|
return jsonify({"message": "All checks failed"}), 400
|
||||||
|
|
||||||
def add_account(user_id):
|
def add_account():
|
||||||
data = request.form
|
data = request.get_json()
|
||||||
res = single_account_check(data, get_latest_urls_from_dns())
|
|
||||||
encrypted_password = encrypt_password(data['password'])
|
encrypted_password = encrypt_password(data['password'])
|
||||||
query = "INSERT INTO userAccounts (username, stream, streamURL, expiaryDate, password, userID) VALUES (%s, %s, %s, %s, %s, %s)"
|
query = "INSERT INTO userAccounts (username, stream, streamURL, expiaryDate, password, userID) VALUES (%s, %s, %s, %s, %s, %s)"
|
||||||
params = (data['username'], data['stream'], res['url'], res['data']['user_info']['exp_date'], encrypted_password, user_id)
|
params = (data['username'], data['stream'], data['streamURL'], data['expiaryDate'], encrypted_password, data['userID'])
|
||||||
result = _execute_query(query, params)
|
result = _execute_query(query, params)
|
||||||
return jsonify(result)
|
return jsonify(result)
|
||||||
|
|
||||||
def delete_account(user_id):
|
def delete_account():
|
||||||
data = request.form
|
data = request.get_json()
|
||||||
query = "DELETE FROM userAccounts WHERE username = %s AND stream = %s AND userId = %s"
|
query = "DELETE FROM userAccounts WHERE id = %s"
|
||||||
params = (data['user'],data['stream'],user_id)
|
params = (data['id'],)
|
||||||
result = _execute_query(query, params)
|
result = _execute_query(query, params)
|
||||||
return jsonify(result)
|
return jsonify(result)
|
||||||
|
@ -3,7 +3,6 @@ from flask import Flask, jsonify
|
|||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from ktvmanager.config import DevelopmentConfig, ProductionConfig
|
from ktvmanager.config import DevelopmentConfig, ProductionConfig
|
||||||
from routes.api import api_blueprint
|
from routes.api import api_blueprint
|
||||||
from ktvmanager.lib.database import initialize_db_pool
|
|
||||||
|
|
||||||
def create_app():
|
def create_app():
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@ -14,9 +13,6 @@ def create_app():
|
|||||||
else:
|
else:
|
||||||
app.config.from_object(DevelopmentConfig)
|
app.config.from_object(DevelopmentConfig)
|
||||||
|
|
||||||
with app.app_context():
|
|
||||||
initialize_db_pool()
|
|
||||||
|
|
||||||
# Register blueprints
|
# Register blueprints
|
||||||
app.register_blueprint(api_blueprint)
|
app.register_blueprint(api_blueprint)
|
||||||
|
|
||||||
|
@ -31,11 +31,9 @@ def single_check_route(username):
|
|||||||
@api_blueprint.route("/addAccount", methods=["POST"])
|
@api_blueprint.route("/addAccount", methods=["POST"])
|
||||||
@requires_basic_auth
|
@requires_basic_auth
|
||||||
def add_account_route(username):
|
def add_account_route(username):
|
||||||
user_id = get_user_id_from_username(username)
|
return add_account()
|
||||||
return add_account(user_id)
|
|
||||||
|
|
||||||
@api_blueprint.route("/deleteAccount", methods=["POST"])
|
@api_blueprint.route("/deleteAccount", methods=["POST"])
|
||||||
@requires_basic_auth
|
@requires_basic_auth
|
||||||
def delete_account_route(username):
|
def delete_account_route(username):
|
||||||
user_id = get_user_id_from_username(username)
|
return delete_account()
|
||||||
return delete_account(user_id)
|
|
Loading…
x
Reference in New Issue
Block a user