from flask import request, Blueprint, render_template, session, redirect, url_for import os from .auth_route import route from Database.sql_provider import SQLProvider import json sql_provider = SQLProvider(os.path.join(os.path.dirname(__file__), 'sql')) auth_bp = Blueprint('auth_bp', __name__, template_folder='templates') db_config_path = os.path.join(os.path.dirname(__file__), os.pardir, 'Database/config.json') with open(db_config_path) as f: config = json.load(f) @auth_bp.route('/', methods=['GET', 'POST']) def auth(): if request.method == 'GET': return render_template('auth.html') else: data = request.form.to_dict() auth_data = route(config, data, sql_provider, 'auth.sql') if auth_data.status: session.update({ 'login': auth_data.result[0]['login'], 'role': auth_data.result[0]['role'], 'db_config': config, 'permanent': True }) return redirect(url_for('index')) else: return render_template('error.html', error_message=auth_data.error_message)