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 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)