Add module docstrings to login routes for improved documentation and clarity; streamline login status check

This commit is contained in:
voldemort 2025-07-23 01:42:17 +07:00
parent c82e493ef1
commit c756361da0

View File

@ -1,3 +1,5 @@
"""Module to handle the login process."""
from flask import Blueprint, request, jsonify, session from flask import Blueprint, request, jsonify, session
from custom_functions.database.user_db import verify_user from custom_functions.database.user_db import verify_user
@ -9,37 +11,32 @@ login_bp = Blueprint(
@login_bp.route("/login", methods=["POST"]) @login_bp.route("/login", methods=["POST"])
def login(): def login():
if request.method == "POST": """Handle the login process."""
data = request.get_json() data = request.get_json()
for required_field in ["username", "password"]: for required_field in ["username", "password"]:
if required_field not in data: if required_field not in data:
return ( return (
jsonify({"error": f"Missing required field: {required_field}"}), jsonify({"error": f"Missing required field: {required_field}"}),
400, 400,
) )
if verify_user(data["username"], data["password"]): if verify_user(data["username"], data["password"]):
session["username"] = data[ session["username"] = data[
"username" "username"
].lower() # Stored securely in a signed cookie ].lower() # Stored securely in a signed cookie
return jsonify({"message": "Successfully logged in!"}) return jsonify({"message": "Successfully logged in!"})
else: return jsonify({"error": "Invalid username or password!"}), 401
return jsonify({"error": "Invalid username or password!"}), 401
@login_bp.route("/login/status", methods=["POST"]) @login_bp.route("/login/status", methods=["POST"])
def login_status(): def login_status():
try: """Check if the user is logged in."""
username = session.get("username") username = session.get("username")
if username: return jsonify({"message": "True" if username else "False"})
return jsonify({"message": "True"})
else:
return jsonify({"message": "False"})
except:
return jsonify({"message": "False"})
@login_bp.route("/logout", methods=["POST"]) @login_bp.route("/logout", methods=["POST"])
def logout(): def logout():
"""Logout the user."""
session.pop("username", None) session.pop("username", None)
return jsonify({"message": "Successfully logged out!"}) return jsonify({"message": "Successfully logged out!"})