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