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 @auth_bp.route('/api/auth/setup', methods=['POST'])
def auth_setup():
"""Set up authentication with username and password"""
@app.route('/api/auth/setup', methods=['POST']) try:
def auth_setup(): data = request.json
"""Set up authentication with username and password""" username = data.get('username')
try: password = data.get('password')
data = request.json
username = data.get('username') success, message = auth_manager.setup_auth(username, password)
password = data.get('password')
if success:
success, message = auth_manager.setup_auth(username, password) return jsonify({"success": True, "message": message})
else:
if success: return jsonify({"success": False, "message": message}), 400
return jsonify({"success": True, "message": message}) except Exception as e:
else: return jsonify({"success": False, "message": str(e)}), 500
return jsonify({"success": False, "message": message}), 400
except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 @auth_bp.route('/api/auth/decline', methods=['POST'])
def auth_decline():
"""Decline authentication setup"""
@app.route('/api/auth/decline', methods=['POST']) try:
def auth_decline(): success, message = auth_manager.decline_auth()
"""Decline authentication setup"""
try: if success:
success, message = auth_manager.decline_auth() return jsonify({"success": True, "message": message})
else:
if success: return jsonify({"success": False, "message": message}), 400
return jsonify({"success": True, "message": message}) except Exception as e:
else: return jsonify({"success": False, "message": str(e)}), 500
return jsonify({"success": False, "message": message}), 400
except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 @auth_bp.route('/api/auth/login', methods=['POST'])
def auth_login():
"""Authenticate user and return JWT token"""
@app.route('/api/auth/login', methods=['POST']) try:
def auth_login(): data = request.json
"""Authenticate user and return JWT token""" username = data.get('username')
try: password = data.get('password')
data = request.json
username = data.get('username') success, token, message = auth_manager.authenticate(username, password)
password = data.get('password')
if success:
success, token, message = auth_manager.authenticate(username, password) return jsonify({"success": True, "token": token, "message": message})
else:
if success: return jsonify({"success": False, "message": message}), 401
return jsonify({"success": True, "token": token, "message": message}) except Exception as e:
else: return jsonify({"success": False, "message": str(e)}), 500
return jsonify({"success": False, "message": message}), 401
except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 @auth_bp.route('/api/auth/enable', methods=['POST'])
def auth_enable():
"""Enable authentication"""
@app.route('/api/auth/enable', methods=['POST']) try:
def auth_enable(): success, message = auth_manager.enable_auth()
"""Enable authentication"""
try: if success:
success, message = auth_manager.enable_auth() return jsonify({"success": True, "message": message})
else:
if success: return jsonify({"success": False, "message": message}), 400
return jsonify({"success": True, "message": message}) except Exception as e:
else: return jsonify({"success": False, "message": str(e)}), 500
return jsonify({"success": False, "message": message}), 400
except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 @auth_bp.route('/api/auth/disable', methods=['POST'])
def auth_disable():
"""Disable authentication"""
@app.route('/api/auth/disable', methods=['POST']) try:
def auth_disable(): success, message = auth_manager.disable_auth()
"""Disable authentication"""
try: if success:
success, message = auth_manager.disable_auth() return jsonify({"success": True, "message": message})
else:
if success: return jsonify({"success": False, "message": message}), 400
return jsonify({"success": True, "message": message}) except Exception as e:
else: return jsonify({"success": False, "message": str(e)}), 500
return jsonify({"success": False, "message": message}), 400
except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500 @auth_bp.route('/api/auth/change-password', methods=['POST'])
def auth_change_password():
"""Change authentication password"""
@app.route('/api/auth/change-password', methods=['POST']) try:
def auth_change_password(): data = request.json
"""Change authentication password""" old_password = data.get('old_password')
try: new_password = data.get('new_password')
data = request.json
old_password = data.get('old_password') success, message = auth_manager.change_password(old_password, new_password)
new_password = data.get('new_password')
if success:
success, message = auth_manager.change_password(old_password, new_password) return jsonify({"success": True, "message": message})
else:
if success: return jsonify({"success": False, "message": message}), 400
return jsonify({"success": True, "message": message}) except Exception as e:
else: return jsonify({"success": False, "message": str(e)}), 500
return jsonify({"success": False, "message": message}), 400
except Exception as e:
return jsonify({"success": False, "message": str(e)}), 500