forked from tpd94/CDRM-Project
		
	Add module docstrings to login routes for improved documentation and clarity; streamline login status check
This commit is contained in:
		
							parent
							
								
									c82e493ef1
								
							
						
					
					
						commit
						c756361da0
					
				@ -1,3 +1,5 @@
 | 
			
		||||
"""Module to handle the login process."""
 | 
			
		||||
 | 
			
		||||
from flask import Blueprint, request, jsonify, session
 | 
			
		||||
from custom_functions.database.user_db import verify_user
 | 
			
		||||
 | 
			
		||||
@ -9,37 +11,32 @@ login_bp = Blueprint(
 | 
			
		||||
 | 
			
		||||
@login_bp.route("/login", methods=["POST"])
 | 
			
		||||
def login():
 | 
			
		||||
    if request.method == "POST":
 | 
			
		||||
        data = request.get_json()
 | 
			
		||||
        for required_field in ["username", "password"]:
 | 
			
		||||
            if required_field not in data:
 | 
			
		||||
                return (
 | 
			
		||||
                    jsonify({"error": f"Missing required field: {required_field}"}),
 | 
			
		||||
                    400,
 | 
			
		||||
                )
 | 
			
		||||
    """Handle the login process."""
 | 
			
		||||
    data = request.get_json()
 | 
			
		||||
    for required_field in ["username", "password"]:
 | 
			
		||||
        if required_field not in data:
 | 
			
		||||
            return (
 | 
			
		||||
                jsonify({"error": f"Missing required field: {required_field}"}),
 | 
			
		||||
                400,
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        if verify_user(data["username"], data["password"]):
 | 
			
		||||
            session["username"] = data[
 | 
			
		||||
                "username"
 | 
			
		||||
            ].lower()  # Stored securely in a signed cookie
 | 
			
		||||
            return jsonify({"message": "Successfully logged in!"})
 | 
			
		||||
        else:
 | 
			
		||||
            return jsonify({"error": "Invalid username or password!"}), 401
 | 
			
		||||
    if verify_user(data["username"], data["password"]):
 | 
			
		||||
        session["username"] = data[
 | 
			
		||||
            "username"
 | 
			
		||||
        ].lower()  # Stored securely in a signed cookie
 | 
			
		||||
        return jsonify({"message": "Successfully logged in!"})
 | 
			
		||||
    return jsonify({"error": "Invalid username or password!"}), 401
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@login_bp.route("/login/status", methods=["POST"])
 | 
			
		||||
def login_status():
 | 
			
		||||
    try:
 | 
			
		||||
        username = session.get("username")
 | 
			
		||||
        if username:
 | 
			
		||||
            return jsonify({"message": "True"})
 | 
			
		||||
        else:
 | 
			
		||||
            return jsonify({"message": "False"})
 | 
			
		||||
    except:
 | 
			
		||||
        return jsonify({"message": "False"})
 | 
			
		||||
    """Check if the user is logged in."""
 | 
			
		||||
    username = session.get("username")
 | 
			
		||||
    return jsonify({"message": "True" if username else "False"})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@login_bp.route("/logout", methods=["POST"])
 | 
			
		||||
def logout():
 | 
			
		||||
    """Logout the user."""
 | 
			
		||||
    session.pop("username", None)
 | 
			
		||||
    return jsonify({"message": "Successfully logged out!"})
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user