"""Abacus state model.""" from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy import Enum from sqlalchemy import Integer from sqlalchemy import String from moneyhub.constants.constants import ActionStatus from moneyhub.models.mysql_base import BaseModel class AbacusState(BaseModel): """Abacus state model.""" __tablename__ = 'abacus_state' abacus_state_id = Column(Integer, primary_key=True) parent_table_id = Column(Integer, nullable=False) parent_table_name = Column(String(32), nullable=False) action_name = Column(String(32), nullable=True) action_status = Column( Enum( *ActionStatus, name='action_status', create_type=False ), nullable=False) message = Column(String(180), nullable=True) created_at = Column(DateTime, nullable=True) created_by = Column(String(255), nullable=True) last_modified = Column(DateTime, nullable=True) last_modified_by = Column(String(255), nullable=True)