Update flask_auth_routes.py

This commit is contained in:
MacRimi
2025-11-04 21:36:31 +01:00
parent fecbdf6190
commit fb588c0d60

View File

@@ -3,114 +3,112 @@ Flask Authentication Routes
Provides REST API endpoints for authentication management Provides REST API endpoints for authentication management
""" """
from flask import jsonify, request from flask import Blueprint, jsonify, request
import auth_manager import auth_manager
auth_bp = Blueprint('auth', __name__)
def register_auth_routes(app): @auth_bp.route('/api/auth/status', methods=['GET'])
"""Register authentication routes with the Flask app""" def auth_status():
"""Get current authentication status"""
@app.route('/api/auth/status', methods=['GET']) try:
def auth_status(): status = auth_manager.get_auth_status()
"""Get current authentication status""" return jsonify(status)
try: except Exception as e:
status = auth_manager.get_auth_status() return jsonify({"error": str(e)}), 500
return jsonify(status)
except Exception as e:
return jsonify({"error": str(e)}), 500
@app.route('/api/auth/setup', methods=['POST']) @auth_bp.route('/api/auth/setup', methods=['POST'])
def auth_setup(): def auth_setup():
"""Set up authentication with username and password""" """Set up authentication with username and password"""
try: try:
data = request.json data = request.json
username = data.get('username') username = data.get('username')
password = data.get('password') password = data.get('password')
success, message = auth_manager.setup_auth(username, password) success, message = auth_manager.setup_auth(username, password)
if success: if success:
return jsonify({"success": True, "message": message}) return jsonify({"success": True, "message": message})
else: else:
return jsonify({"success": False, "message": message}), 400 return jsonify({"success": False, "message": message}), 400
except Exception as e: except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 return jsonify({"success": False, "message": str(e)}), 500
@app.route('/api/auth/decline', methods=['POST']) @auth_bp.route('/api/auth/decline', methods=['POST'])
def auth_decline(): def auth_decline():
"""Decline authentication setup""" """Decline authentication setup"""
try: try:
success, message = auth_manager.decline_auth() success, message = auth_manager.decline_auth()
if success: if success:
return jsonify({"success": True, "message": message}) return jsonify({"success": True, "message": message})
else: else:
return jsonify({"success": False, "message": message}), 400 return jsonify({"success": False, "message": message}), 400
except Exception as e: except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 return jsonify({"success": False, "message": str(e)}), 500
@app.route('/api/auth/login', methods=['POST']) @auth_bp.route('/api/auth/login', methods=['POST'])
def auth_login(): def auth_login():
"""Authenticate user and return JWT token""" """Authenticate user and return JWT token"""
try: try:
data = request.json data = request.json
username = data.get('username') username = data.get('username')
password = data.get('password') password = data.get('password')
success, token, message = auth_manager.authenticate(username, password) success, token, message = auth_manager.authenticate(username, password)
if success: if success:
return jsonify({"success": True, "token": token, "message": message}) return jsonify({"success": True, "token": token, "message": message})
else: else:
return jsonify({"success": False, "message": message}), 401 return jsonify({"success": False, "message": message}), 401
except Exception as e: except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 return jsonify({"success": False, "message": str(e)}), 500
@app.route('/api/auth/enable', methods=['POST']) @auth_bp.route('/api/auth/enable', methods=['POST'])
def auth_enable(): def auth_enable():
"""Enable authentication""" """Enable authentication"""
try: try:
success, message = auth_manager.enable_auth() success, message = auth_manager.enable_auth()
if success: if success:
return jsonify({"success": True, "message": message}) return jsonify({"success": True, "message": message})
else: else:
return jsonify({"success": False, "message": message}), 400 return jsonify({"success": False, "message": message}), 400
except Exception as e: except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 return jsonify({"success": False, "message": str(e)}), 500
@app.route('/api/auth/disable', methods=['POST']) @auth_bp.route('/api/auth/disable', methods=['POST'])
def auth_disable(): def auth_disable():
"""Disable authentication""" """Disable authentication"""
try: try:
success, message = auth_manager.disable_auth() success, message = auth_manager.disable_auth()
if success: if success:
return jsonify({"success": True, "message": message}) return jsonify({"success": True, "message": message})
else: else:
return jsonify({"success": False, "message": message}), 400 return jsonify({"success": False, "message": message}), 400
except Exception as e: except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 return jsonify({"success": False, "message": str(e)}), 500
@app.route('/api/auth/change-password', methods=['POST']) @auth_bp.route('/api/auth/change-password', methods=['POST'])
def auth_change_password(): def auth_change_password():
"""Change authentication password""" """Change authentication password"""
try: try:
data = request.json data = request.json
old_password = data.get('old_password') old_password = data.get('old_password')
new_password = data.get('new_password') new_password = data.get('new_password')
success, message = auth_manager.change_password(old_password, new_password) success, message = auth_manager.change_password(old_password, new_password)
if success: if success:
return jsonify({"success": True, "message": message}) return jsonify({"success": True, "message": message})
else: else:
return jsonify({"success": False, "message": message}), 400 return jsonify({"success": False, "message": message}), 400
except Exception as e: except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 return jsonify({"success": False, "message": str(e)}), 500