Source code for server.web.models.tool

"""Tool DB Table."""

from sqlalchemy import Integer, String
from sqlalchemy.orm import Mapped, mapped_column, relationship

from jobmon.core.serializers import SerializeClientTool
from jobmon.server.web.models import Base


[docs] class Tool(Base): """Tool DB Table."""
[docs] __tablename__ = "tool"
[docs] def to_wire_as_client_tool(self) -> tuple: """Serialize tool object.""" serialized = SerializeClientTool.to_wire(id=self.id, name=self.name) return serialized
[docs] id: Mapped[int] = mapped_column(Integer, primary_key=True)
[docs] name: Mapped[str] = mapped_column(String(255), nullable=False, unique=True)
[docs] tool_versions = relationship("ToolVersion", back_populates="tool")