From fb588c0d608a3341199e7b161cc0be0f9961c1c4 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Tue, 4 Nov 2025 21:36:31 +0100 Subject: [PATCH] Update flask_auth_routes.py --- AppImage/scripts/flask_auth_routes.py | 214 +++++++++++++------------- 1 file changed, 106 insertions(+), 108 deletions(-) diff --git a/AppImage/scripts/flask_auth_routes.py b/AppImage/scripts/flask_auth_routes.py index 28ff338..1623a3d 100644 --- a/AppImage/scripts/flask_auth_routes.py +++ b/AppImage/scripts/flask_auth_routes.py @@ -3,114 +3,112 @@ Flask Authentication Routes Provides REST API endpoints for authentication management """ -from flask import jsonify, request +from flask import Blueprint, jsonify, request import auth_manager +auth_bp = Blueprint('auth', __name__) -def register_auth_routes(app): - """Register authentication routes with the Flask app""" - - @app.route('/api/auth/status', methods=['GET']) - def auth_status(): - """Get current authentication status""" - try: - status = auth_manager.get_auth_status() - return jsonify(status) - except Exception as e: - return jsonify({"error": str(e)}), 500 - - - @app.route('/api/auth/setup', methods=['POST']) - def auth_setup(): - """Set up authentication with username and password""" - try: - data = request.json - username = data.get('username') - password = data.get('password') - - success, message = auth_manager.setup_auth(username, password) - - if success: - return jsonify({"success": True, "message": message}) - else: - return jsonify({"success": False, "message": message}), 400 - except Exception as e: - return jsonify({"success": False, "message": str(e)}), 500 - - - @app.route('/api/auth/decline', methods=['POST']) - def auth_decline(): - """Decline authentication setup""" - try: - success, message = auth_manager.decline_auth() - - if success: - return jsonify({"success": True, "message": message}) - else: - return jsonify({"success": False, "message": message}), 400 - except Exception as e: - return jsonify({"success": False, "message": str(e)}), 500 - - - @app.route('/api/auth/login', methods=['POST']) - def auth_login(): - """Authenticate user and return JWT token""" - try: - data = request.json - username = data.get('username') - password = data.get('password') - - success, token, message = auth_manager.authenticate(username, password) - - if success: - return jsonify({"success": True, "token": token, "message": message}) - else: - return jsonify({"success": False, "message": message}), 401 - except Exception as e: - return jsonify({"success": False, "message": str(e)}), 500 - - - @app.route('/api/auth/enable', methods=['POST']) - def auth_enable(): - """Enable authentication""" - try: - success, message = auth_manager.enable_auth() - - if success: - return jsonify({"success": True, "message": message}) - else: - return jsonify({"success": False, "message": message}), 400 - except Exception as e: - return jsonify({"success": False, "message": str(e)}), 500 - - - @app.route('/api/auth/disable', methods=['POST']) - def auth_disable(): - """Disable authentication""" - try: - success, message = auth_manager.disable_auth() - - if success: - return jsonify({"success": True, "message": message}) - else: - return jsonify({"success": False, "message": message}), 400 - except Exception as e: - return jsonify({"success": False, "message": str(e)}), 500 - - - @app.route('/api/auth/change-password', methods=['POST']) - def auth_change_password(): - """Change authentication password""" - try: - data = request.json - old_password = data.get('old_password') - new_password = data.get('new_password') - - success, message = auth_manager.change_password(old_password, new_password) - - if success: - return jsonify({"success": True, "message": message}) - else: - return jsonify({"success": False, "message": message}), 400 - except Exception as e: - return jsonify({"success": False, "message": str(e)}), 500 +@auth_bp.route('/api/auth/status', methods=['GET']) +def auth_status(): + """Get current authentication status""" + try: + status = auth_manager.get_auth_status() + 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""" + try: + data = request.json + username = data.get('username') + password = data.get('password') + + success, message = auth_manager.setup_auth(username, password) + + if success: + return jsonify({"success": True, "message": message}) + else: + 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""" + try: + success, message = auth_manager.decline_auth() + + if success: + return jsonify({"success": True, "message": message}) + else: + 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""" + try: + data = request.json + username = data.get('username') + password = data.get('password') + + success, token, message = auth_manager.authenticate(username, password) + + if success: + return jsonify({"success": True, "token": token, "message": message}) + else: + 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""" + try: + success, message = auth_manager.enable_auth() + + if success: + return jsonify({"success": True, "message": message}) + else: + 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""" + try: + success, message = auth_manager.disable_auth() + + if success: + return jsonify({"success": True, "message": message}) + else: + 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""" + try: + data = request.json + old_password = data.get('old_password') + new_password = data.get('new_password') + + success, message = auth_manager.change_password(old_password, new_password) + + if success: + return jsonify({"success": True, "message": message}) + else: + return jsonify({"success": False, "message": message}), 400 + except Exception as e: + return jsonify({"success": False, "message": str(e)}), 500