51 lines
2.3 KiB
Python
51 lines
2.3 KiB
Python
from dataclasses import dataclass
|
|
from .db.select import select_list
|
|
from .db.sql_provider import SQLProvider
|
|
from flask import current_app
|
|
from os import path
|
|
|
|
sql_provider = SQLProvider(path.join(path.dirname(__file__), 'sql'))
|
|
@dataclass
|
|
class InfoRespronse:
|
|
result: tuple
|
|
error_message: str
|
|
status: bool
|
|
|
|
def sellers_names() -> InfoRespronse:
|
|
_sql = sql_provider.get('sellers_names.sql', {})
|
|
result = select_list(current_app.config['db_config'], _sql)
|
|
if result is None:
|
|
return InfoRespronse((),
|
|
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
|
|
status=False)
|
|
return InfoRespronse(result, error_message='', status=True)
|
|
|
|
def materials_names() -> InfoRespronse:
|
|
_sql = sql_provider.get('materials_names.sql', {})
|
|
result = select_list(current_app.config['db_config'], _sql)
|
|
if result is None:
|
|
return InfoRespronse((),
|
|
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
|
|
status=False)
|
|
return InfoRespronse(result, error_message='', status=True)
|
|
|
|
def sklad(request) -> InfoRespronse:
|
|
material = dict(request.form)
|
|
_sql = sql_provider.get('sklad_material.sql', material)
|
|
result = select_list(current_app.config['db_config'], _sql)
|
|
if result is None:
|
|
return InfoRespronse((),
|
|
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
|
|
status=False)
|
|
return InfoRespronse(result, error_message='', status=True)
|
|
|
|
|
|
def materials_per_seller(request) -> InfoRespronse:
|
|
seller = dict(request.form)
|
|
_sql = sql_provider.get('ship_seller.sql', seller)
|
|
result = select_list(current_app.config['db_config'], _sql)
|
|
if result is None:
|
|
return InfoRespronse((),
|
|
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
|
|
status=False)
|
|
return InfoRespronse(result, error_message='', status=True) |