Compare commits
No commits in common. "07d32958cb6a91a0d41a11d7f9b10507ae00bffa" and "050904dde57fdbe5c1fd6a70a473577f3c8a8180" have entirely different histories.
07d32958cb
...
050904dde5
@ -1,5 +1,5 @@
|
|||||||
[tool.bumpversion]
|
[tool.bumpversion]
|
||||||
current_version = "1.3.2"
|
current_version = "1.3.1"
|
||||||
commit = true
|
commit = true
|
||||||
tag = true
|
tag = true
|
||||||
tag_name = "{new_version}"
|
tag_name = "{new_version}"
|
||||||
|
@ -2,8 +2,8 @@ import os
|
|||||||
from flask import Flask, jsonify
|
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 ktvmanager.routes.api import api_blueprint
|
from routes.api import api_blueprint
|
||||||
from ktvmanager.routes.dns import dns_bp
|
from routes.dns import dns_bp
|
||||||
from ktvmanager.lib.database import initialize_db_pool
|
from ktvmanager.lib.database import initialize_db_pool
|
||||||
from ktvmanager.account_checker import send_expiry_notifications
|
from ktvmanager.account_checker import send_expiry_notifications
|
||||||
from apscheduler.schedulers.background import BackgroundScheduler
|
from apscheduler.schedulers.background import BackgroundScheduler
|
||||||
|
47
ktvmanager/routes/dns.py
Normal file
47
ktvmanager/routes/dns.py
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
from flask import Blueprint, render_template, request, redirect, url_for, flash
|
||||||
|
import os
|
||||||
|
|
||||||
|
dns_bp = Blueprint('dns', __name__)
|
||||||
|
|
||||||
|
DNS_FILE = os.path.join(os.path.dirname(__file__), '..', 'lib', 'DNS_list.txt')
|
||||||
|
|
||||||
|
def read_dns_list():
|
||||||
|
if not os.path.exists(DNS_FILE):
|
||||||
|
return []
|
||||||
|
with open(DNS_FILE, 'r') as f:
|
||||||
|
return [line.strip() for line in f.readlines()]
|
||||||
|
|
||||||
|
def write_dns_list(dns_list):
|
||||||
|
with open(DNS_FILE, 'w') as f:
|
||||||
|
for item in dns_list:
|
||||||
|
f.write(f"{item}\n")
|
||||||
|
|
||||||
|
@dns_bp.route('/add_dns', methods=['POST'])
|
||||||
|
def add_dns():
|
||||||
|
dns_entry = request.form.get('dns_entry')
|
||||||
|
if dns_entry:
|
||||||
|
dns_list = read_dns_list()
|
||||||
|
if dns_entry not in dns_list:
|
||||||
|
dns_list.append(dns_entry)
|
||||||
|
write_dns_list(dns_list)
|
||||||
|
flash('DNS entry added successfully.', 'success')
|
||||||
|
else:
|
||||||
|
flash('DNS entry already exists.', 'info')
|
||||||
|
else:
|
||||||
|
flash('DNS entry cannot be empty.', 'danger')
|
||||||
|
return redirect(url_for('config_dashboard'))
|
||||||
|
|
||||||
|
@dns_bp.route('/remove_dns', methods=['POST'])
|
||||||
|
def remove_dns():
|
||||||
|
dns_entry = request.form.get('dns_entry')
|
||||||
|
if dns_entry:
|
||||||
|
dns_list = read_dns_list()
|
||||||
|
if dns_entry in dns_list:
|
||||||
|
dns_list.remove(dns_entry)
|
||||||
|
write_dns_list(dns_list)
|
||||||
|
flash('DNS entry removed successfully.', 'success')
|
||||||
|
else:
|
||||||
|
flash('DNS entry not found.', 'info')
|
||||||
|
else:
|
||||||
|
flash('DNS entry cannot be empty.', 'danger')
|
||||||
|
return redirect(url_for('config_dashboard'))
|
@ -1,60 +0,0 @@
|
|||||||
from flask import Blueprint, request, jsonify
|
|
||||||
import os
|
|
||||||
|
|
||||||
dns_bp = Blueprint('dns', __name__)
|
|
||||||
|
|
||||||
DNS_FILE = os.path.join(os.path.dirname(__file__), '..', 'ktvmanager', 'lib', 'DNS_list.txt')
|
|
||||||
|
|
||||||
def read_dns_list():
|
|
||||||
if not os.path.exists(DNS_FILE):
|
|
||||||
return []
|
|
||||||
with open(DNS_FILE, 'r') as f:
|
|
||||||
return [line.strip() for line in f.readlines() if line.strip()]
|
|
||||||
|
|
||||||
def write_dns_list(dns_list):
|
|
||||||
with open(DNS_FILE, 'w') as f:
|
|
||||||
for item in dns_list:
|
|
||||||
f.write(f"{item}\n")
|
|
||||||
|
|
||||||
@dns_bp.route('/dns', methods=['GET'])
|
|
||||||
def get_dns_list():
|
|
||||||
"""Gets the list of DNS entries."""
|
|
||||||
return jsonify(read_dns_list())
|
|
||||||
|
|
||||||
@dns_bp.route('/dns', methods=['POST'])
|
|
||||||
def add_dns():
|
|
||||||
"""Adds a new DNS entry."""
|
|
||||||
data = request.get_json()
|
|
||||||
if not data or 'dns_entry' not in data:
|
|
||||||
return jsonify({'error': 'Missing dns_entry in request body'}), 400
|
|
||||||
|
|
||||||
dns_entry = data.get('dns_entry')
|
|
||||||
if not dns_entry:
|
|
||||||
return jsonify({'error': 'DNS entry cannot be empty.'}), 400
|
|
||||||
|
|
||||||
dns_list = read_dns_list()
|
|
||||||
if dns_entry in dns_list:
|
|
||||||
return jsonify({'message': 'DNS entry already exists.'}), 200
|
|
||||||
|
|
||||||
dns_list.append(dns_entry)
|
|
||||||
write_dns_list(dns_list)
|
|
||||||
return jsonify({'message': 'DNS entry added successfully.'}), 201
|
|
||||||
|
|
||||||
@dns_bp.route('/dns', methods=['DELETE'])
|
|
||||||
def remove_dns():
|
|
||||||
"""Removes a DNS entry."""
|
|
||||||
data = request.get_json()
|
|
||||||
if not data or 'dns_entry' not in data:
|
|
||||||
return jsonify({'error': 'Missing dns_entry in request body'}), 400
|
|
||||||
|
|
||||||
dns_entry = data.get('dns_entry')
|
|
||||||
if not dns_entry:
|
|
||||||
return jsonify({'error': 'DNS entry cannot be empty.'}), 400
|
|
||||||
|
|
||||||
dns_list = read_dns_list()
|
|
||||||
if dns_entry not in dns_list:
|
|
||||||
return jsonify({'error': 'DNS entry not found.'}), 404
|
|
||||||
|
|
||||||
dns_list.remove(dns_entry)
|
|
||||||
write_dns_list(dns_list)
|
|
||||||
return jsonify({'message': 'DNS entry removed successfully.'}), 200
|
|
Loading…
x
Reference in New Issue
Block a user