from typing import Any from db_schema.schemas.apps import FailureLog as AppsFailureLog from sqlalchemy import inspect from sqlalchemy.orm import Session from delphi_slz_admin.modelviews import BaseFilterById, BaseModelView class FilterUnitOfWorkId(BaseFilterById): def __init__(self, **kwargs: Any) -> None: self.column = AppsFailureLog.unit_of_work_id self.name = 'Unit of Work ID' super().__init__(self.column, self.name, **kwargs) class AppsFailureLogModelView(BaseModelView): column_list = [c_attr.key for c_attr in inspect(AppsFailureLog).mapper.column_attrs] column_sortable_list = column_list column_filters = [FilterUnitOfWorkId()] def __init__(self, session: Session, **kwargs: Any) -> None: self.model = AppsFailureLog self.name = 'ETL Failure Log' self.endpoint = 'etl_failure_log' super().__init__(self.model, session, name=self.name, endpoint=self.endpoint, **kwargs)