from enum import Enum import json from sqlalchemy import Integer, String, Column, Boolean, DateTime from sqlalchemy.orm import declarative_base from models.models_helpers import DeclarativeBaseToDict class MtrAdditionalNodesModel(declarative_base(), DeclarativeBaseToDict): __tablename__ = 'mtr_additional_nodes' id = Column(Integer, primary_key=True, index=True) test_servers = Column(Boolean, default=False) name = Column(String(50)) hostname = Column(String(100)) enabled = Column(Boolean) description = Column(String(500)) parameters = Column(String(200)) class Config: orm_mode = True class MtrNodesReport(Enum): STATUS_NO_CHANGE = "no" STATUS_NEW = "new" STATUS_CHANGE = "status or hostname change" STATUS_NOT_CHECKED = "deleted" class MtrNodesModel(declarative_base(), DeclarativeBaseToDict): __tablename__ = 'mtr_nodes' id = Column(Integer, primary_key=True, index=True) from_tas = Column(String(255)) to_server_name = Column(String(255)) to_server_hostname = Column(String(255)) status = Column(String(100)) last_change = Column(DateTime) report = Column(String(255)) parameters = Column(String(255))