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(input_data) -> InfoRespronse: _sql = sql_provider.get('sklad_material.sql', input_data) print("sql = ", _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_per_seller(input_data) -> InfoRespronse: _sql = sql_provider.get('ship_seller.sql', input_data) 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)