Initial App Commit with Login and Auth

This commit is contained in:
2025-02-11 02:16:46 +01:00
parent 8d88d265a8
commit 348f95d4f5
17 changed files with 927 additions and 3 deletions

View File

@ -0,0 +1,12 @@
from flask import Blueprint
import os
import importlib
main = Blueprint('main', __name__)
controllers_dir = os.path.dirname(__file__)
for filename in os.listdir(controllers_dir):
if filename.endswith('.py') and filename != '__init__.py':
module_name = f'app.controllers.{filename[:-3]}'
importlib.import_module(module_name)

View File

@ -0,0 +1,31 @@
from flask import Blueprint, request, redirect, url_for, flash, render_template
from flask_login import login_user, logout_user
from app.models.users import User
auth = Blueprint('auth', __name__)
def _authenticate(username, password):
user = User.query.filter_by(username=username).first()
if user and user.password == password:
return user
return None
def login():
if request.method == 'POST':
username = request.form.get('username')
password = request.form.get('password')
user = _authenticate(username, password)
if user:
login_user(user)
flash('Logged in successfully!', 'success')
return redirect(url_for('main.users_route'))
else:
flash('Invalid username or password.', 'danger')
return render_template('login.html')
def logout():
logout_user()
flash('You have been logged out.', 'info')
return redirect(url_for('main.login_route'))

View File

@ -0,0 +1,7 @@
from flask import render_template
from app.models.users import User
def get_users():
users = User.query.all()
return render_template('users.html', users=users)