"""
    Table defining different owner attributes. For example, a link for an owner that will be passed as
    a hyperlink to the DAGs view
    """
    __tablename__ = "dag_owner_attributes"
    dag_id = Column(
        StringID(),
        ForeignKey("dag.dag_id", name="dag.dag_id", ondelete="CASCADE"),
        nullable=False,
        primary_key=True,
    )
    owner = Column(String(500), primary_key=True, nullable=False)
    link = Column(String(500), nullable=False)
    def __repr__(self):
        return f"<DagOwnerAttributes: dag_id={self.dag_id}, owner={self.owner}, link={self.link}>"
    @classmethod
    def get_all(cls, session) -> dict[str, dict[str, str]]:
        dag_links: dict = collections.defaultdict(dict)
        for obj in session.query(cls):
            dag_links[obj.dag_id].update({obj.owner: obj.link})
        return dag_links
class DagModel(Base):