Унификация использования конфигурации подключения к СУБД

This commit is contained in:
2024-12-06 15:12:21 +03:00
parent c1367bb47e
commit f8c79939b4
4 changed files with 27 additions and 9 deletions

View File

@@ -1,6 +1,8 @@
from dataclasses import dataclass
from Database.work import select_list, procedure
from Database.sql_provider import SQLProvider
from flask import current_app, session
from os import path
@@ -12,7 +14,9 @@ class InfoRespronse:
status: bool
def check_report(input_data: dict) -> bool:
result = procedure(current_app.config['db_config'], 'check_report', tuple(input_data.values()))
db_config = current_app.config['db_config']
result = procedure(db_config, 'check_report', tuple(input_data.values()))
if result is None or result['exist'] == 0:
return False
return True
@@ -32,9 +36,10 @@ def view_report_model(request, report_list: dict) -> InfoRespronse:
error_message = 'Отчет не найден',
status=False)
db_config = current_app.config['db_config']
view_script = report_list[id]['data']['view']
_sql = sql_provider.get(f'{view_script}.sql', data)
result = select_list(current_app.config['db_config'], _sql)
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
@@ -60,9 +65,10 @@ def create_report_model(request, report_list: dict) -> InfoRespronse:
error_message = 'Отчет уже существует',
status=False)
db_config = current_app.config['db_config']
proc_name = report_list[id]['data']['procedure']
args = tuple(data.values())
result = procedure(current_app.config['db_config'], proc_name, args)
result = procedure(db_config, proc_name, args)
if result is None:
return InfoRespronse((),

View File

@@ -1,6 +1,8 @@
from dataclasses import dataclass
from Database.work import select_list
from Database.sql_provider import SQLProvider
from flask import current_app
from os import path
@@ -12,8 +14,10 @@ class InfoRespronse:
status: bool
def sellers_names() -> InfoRespronse:
db_config = current_app.config['db_config']
_sql = sql_provider.get('sellers_names.sql', {})
result = select_list(current_app.config['db_config'], _sql)
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
@@ -21,8 +25,10 @@ def sellers_names() -> InfoRespronse:
return InfoRespronse(result, error_message='', status=True)
def materials_names() -> InfoRespronse:
db_config = current_app.config['db_config']
_sql = sql_provider.get('materials_names.sql', {})
result = select_list(current_app.config['db_config'], _sql)
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
@@ -30,9 +36,11 @@ def materials_names() -> InfoRespronse:
return InfoRespronse(result, error_message='', status=True)
def sklad(request) -> InfoRespronse:
db_config = current_app.config['db_config']
material = dict(request.form)
_sql = sql_provider.get('sklad_material.sql', material)
result = select_list(current_app.config['db_config'], _sql)
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
@@ -41,9 +49,11 @@ def sklad(request) -> InfoRespronse:
def materials_per_seller(request) -> InfoRespronse:
db_config = current_app.config['db_config']
seller = dict(request.form)
_sql = sql_provider.get('ship_seller.sql', seller)
result = select_list(current_app.config['db_config'], _sql)
result = select_list(db_config, _sql)
if result is None:
return InfoRespronse((),
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',

View File

@@ -1,4 +1,4 @@
from flask import request, Blueprint, render_template, session, redirect, url_for
from flask import Blueprint, render_template, redirect, url_for, session, request
from checker import check_auth
from .model import index_waybill, form_waybill, clear, button_click, transaction_order_model
from datetime import datetime

View File

@@ -1,5 +1,5 @@
from Database.sql_provider import SQLProvider
from Database.work import select_list, transaction
from Database.work import select_list
from Database.DBconnect import DBContextManager
from flask import current_app, session
@@ -41,6 +41,8 @@ def index_waybill() -> list:
cache_select = fetch_from_cache('items_cached', cache_config)(select_list)
_sql = sql_provider.get('goods.sql', {})
products = cache_select(db_config, _sql)
if products == None:
return []
return products