From f5f86a2bc737c3ae804e2c495bd35614dd56b658 Mon Sep 17 00:00:00 2001 From: Cipher Vance Date: Tue, 9 Sep 2025 08:32:15 -0500 Subject: [PATCH] refactor(api): unify auth endpoints under /api, enhance signup --- routes/user_auth/auth.py | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/routes/user_auth/auth.py b/routes/user_auth/auth.py index 366642f..899d7ba 100644 --- a/routes/user_auth/auth.py +++ b/routes/user_auth/auth.py @@ -1,19 +1,35 @@ from flask import Blueprint, request, jsonify, session from services.UserService.user import UserService -auth_bp = Blueprint("auth", __name__, url_prefix="/auth") +auth_bp = Blueprint("auth", __name__, url_prefix="/api") user_service = UserService() - @auth_bp.route("/signup", methods=["POST"]) def signup(): data = request.get_json() + if not data: + return jsonify({"message": "No data provided"}), 400 + + required_fields = ['username', 'password'] + for field in required_fields: + if not data.get(field): + return jsonify({"message": f"{field} is required"}), 400 + try: - new_user = user_service.create_user(data["username"], data["password"]) - return ( - jsonify({"message": "User created successfully", "username": new_user.username}), - 201, + new_user = user_service.create_user( + username=data["username"], + password=data["password"], + email=data.get("email"), + first_name=data.get("first_name"), + last_name=data.get("last_name") ) + + return jsonify({ + "message": "User created successfully", + "username": new_user.username, + "user_id": new_user.id + }), 201 + except ValueError as e: return jsonify({"message": str(e)}), 400 except Exception as e: @@ -21,15 +37,12 @@ def signup(): print(f"Signup error: {e}") return jsonify({"message": "Internal server error"}), 500 - @auth_bp.route("/login", methods=["POST"]) def login(): data = request.get_json() username = data.get("username") password = data.get("password") - print(f"Login attempt: username={username}, password={password}") - try: user = user_service.verify_user(username, password) session["user_id"] = user.id @@ -41,8 +54,7 @@ def login(): print(f"Login error: {e}") return jsonify({"error": "Internal server error"}), 500 - @auth_bp.route("/logout", methods=["POST"]) def logout(): session.clear() - return jsonify({"message": "Logout successful"}), 200 + return jsonify({"message": "Logout successful"}), 200 \ No newline at end of file