54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
import abc
|
|
|
|
__all__ = "AbstractEngine"
|
|
|
|
|
|
class AbstractEngineClass(abc.ABC):
|
|
def __init__(self, table_engine):
|
|
self.model = table_engine.model
|
|
self.query_class = table_engine.query_class
|
|
self.input = table_engine.input
|
|
self.filter = table_engine.input.f
|
|
self.default_sort_by = table_engine.default_sort_by
|
|
self.custom_entities = []
|
|
self.joins = table_engine.joins
|
|
self.options = table_engine.options
|
|
self.search_cols = table_engine.search_cols
|
|
self.soft_deleted = table_engine.soft_deleted
|
|
self.unselect = table_engine.unselect
|
|
self.return_query = table_engine.return_query
|
|
|
|
@abc.abstractmethod
|
|
def exe(self):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def set_filters(self):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def set_sort(self):
|
|
pass
|
|
|
|
@staticmethod
|
|
@abc.abstractmethod
|
|
def get_expression_filter(col=None, op: str = 'eq', val: str = '') -> dict:
|
|
pass
|
|
|
|
@staticmethod
|
|
@abc.abstractmethod
|
|
def get_operator(op: str):
|
|
pass
|
|
|
|
def count(self):
|
|
pass
|
|
|
|
@staticmethod
|
|
@abc.abstractmethod
|
|
def generate_scope_filter(filters: list, general=False):
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def set_joins(self):
|
|
pass
|