This repository has been archived on 2025-10-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
RIS/App/Requests/requests_model.py
T
2024-11-04 21:57:55 +03:00

49 lines
2.3 KiB
Python

from dataclasses import dataclass
from Database.select import select_list
from Database.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 get_goods() -> InfoRespronse:
_sql = sql_provider.get('zagotovki.sql', {})
result = select_list(current_app.config['db_config'], _sql)
if result is None:
return InfoRespronse(result,
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)
def get_sellers() -> InfoRespronse:
_sql = sql_provider.get('sellers.sql', {})
result = select_list(current_app.config['db_config'], _sql)
if result is None:
return InfoRespronse(result,
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)
def sklad(input_data) -> InfoRespronse:
_sql = sql_provider.get('zapros1.sql', input_data)
print("sql = ", _sql)
result = select_list(current_app.config['db_config'], _sql)
if result is None:
return InfoRespronse(result,
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)
def materials_per_seller(input_data) -> InfoRespronse:
_sql = sql_provider.get('zapros3.sql', input_data)
result = select_list(current_app.config['db_config'], _sql)
if result is None:
return InfoRespronse(result,
error_message = 'Ошибка в подключении к базе данных. Свяжитесь с администратором',
status=False)
return InfoRespronse(result, error_message='', status=True)