31 lines
1009 B
Python
31 lines
1009 B
Python
from flask import Blueprint, render_template, request, redirect, url_for, flash, session
|
|
from app.controllers.auth_controller import authenticate_user
|
|
|
|
login_bp = Blueprint("login_form", __name__, template_folder="templates")
|
|
|
|
@login_bp.route("/", methods=["GET", "POST"])
|
|
def login():
|
|
"""Rota de login"""
|
|
if request.method == "POST":
|
|
email = request.form.get("email")
|
|
password = request.form.get("password")
|
|
|
|
user, token = authenticate_user(email, password)
|
|
|
|
if user:
|
|
session["user_id"] = user.id
|
|
session["user_email"] = user.email
|
|
flash("Login bem-sucedido!", "success")
|
|
return redirect(url_for("dashboard.dashboard"))
|
|
|
|
flash("Credenciais inválidas!", "danger")
|
|
|
|
return render_template("login.html")
|
|
|
|
@login_bp.route("/logout")
|
|
def logout():
|
|
"""Rota de logout"""
|
|
session.clear()
|
|
flash("Você saiu da conta.", "info")
|
|
return redirect(url_for("login_form.login"))
|