diff --git a/App/Auth/__init__.py b/App/Auth/__init__.py index 402607f..ed7e55a 100644 --- a/App/Auth/__init__.py +++ b/App/Auth/__init__.py @@ -1,4 +1,4 @@ -from flask import request, Blueprint, render_template, session, current_app, redirect, url_for +from flask import Blueprint, render_template, redirect, url_for, request, session from .auth_model import auth_model auth_bp = Blueprint('auth_bp', __name__, template_folder='templates') diff --git a/App/Auth/auth_model.py b/App/Auth/auth_model.py index 7446ac6..b3cab0b 100644 --- a/App/Auth/auth_model.py +++ b/App/Auth/auth_model.py @@ -1,6 +1,8 @@ from dataclasses import dataclass -from .db.select import select_list -from .db.sql_provider import SQLProvider + +from Database.work import select_list +from Database.sql_provider import SQLProvider + from flask import current_app import os @@ -12,8 +14,10 @@ class InfoRespronse: status: bool def auth_model(input_data) -> InfoRespronse: + db_config = current_app.config['db_config'] + _sql = sql_provider.get('auth.sql', input_data) - user = select_list(current_app.config['db_config'], _sql) + user = select_list(db_config, _sql) if user is None: return InfoRespronse((), error_message = 'Ошибка при подключении к БД', diff --git a/App/Auth/db/DBconnect.py b/App/Auth/db/DBconnect.py deleted file mode 100644 index b335654..0000000 --- a/App/Auth/db/DBconnect.py +++ /dev/null @@ -1,34 +0,0 @@ -import pymysql -from pymysql.err import * -class DBContextManager: - def __init__(self, db_config : dict): - self.db_config = db_config - self.connection = None - self.cursor = None - - def __enter__(self): - try: - self.connection = pymysql.connect( - host=self.db_config['host'], - port=self.db_config['port'], - user=self.db_config['user'], - password=self.db_config['password'], - db=self.db_config['db'] - ) - self.cursor = self.connection.cursor() - return self.cursor - except (OperationalError, KeyError) as err: - print(err.args) - return None - - def __exit__(self, exc_type, exc_val, exc_tb): - if self.connection and self.cursor: - if exc_type: - print(exc_type, '\n', exc_val) - self.connection.rollback() - else: - self.connection.commit() - self.cursor.close() - self.connection.close() - return True - \ No newline at end of file diff --git a/App/Auth/db/__init__.py b/App/Auth/db/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/App/Auth/db/select.py b/App/Auth/db/select.py deleted file mode 100644 index 22cc3e7..0000000 --- a/App/Auth/db/select.py +++ /dev/null @@ -1,12 +0,0 @@ -from .DBconnect import DBContextManager - -def select_list(db_config, sql) -> list: - with DBContextManager(db_config) as cursor: - if cursor is None: - raise ValueError("Cursor not created") - else: - cursor.execute(sql) - result = cursor.fetchall() - schema = [item[0] for item in cursor.description] - lst = [dict(zip(schema, row)) for row in result] - return lst \ No newline at end of file diff --git a/App/Auth/db/sql_provider.py b/App/Auth/db/sql_provider.py deleted file mode 100644 index a3a1855..0000000 --- a/App/Auth/db/sql_provider.py +++ /dev/null @@ -1,14 +0,0 @@ -import os -from string import Template - -class SQLProvider: - def __init__(self, file_path): - self.scripts = {} - for file in os.listdir(file_path): - _sql = open(f'{file_path}/{file}').read() - self.scripts[file] = Template(_sql) - - def get(self, name, params) -> dict: - if name not in self.scripts: - raise ValueError(f'SQL template {name} not found') - return self.scripts[name].substitute(**params) \ No newline at end of file