"""Task Attribute Table."""
from typing import Any, Dict
from sqlalchemy import Column, ForeignKey, Integer, String
from jobmon.server.web.models import Base
[docs]
class TaskAttribute(Base):
"""Task Attribute Table."""
[docs]
__tablename__ = "task_attribute"
[docs]
task_id = Column(Integer, ForeignKey("task.id"), primary_key=True)
[docs]
task_attribute_type_id = Column(
Integer, ForeignKey("task_attribute_type.id"), primary_key=True
)
[docs]
value = Column(String(255))
@classmethod
[docs]
def from_wire(cls: Any, dct: Dict) -> Any:
"""Task Attribute object created from dict."""
return cls(
task_id=dct["task_id"],
attribute_type_id=dct["attribute_type_id"],
value=dct["value"],
)
[docs]
def to_wire(self) -> Dict:
"""Task attribute attributes to dict."""
return {
"task_id": self.task_id,
"attribute_type_id": self.task_attribute_type_id,
"value": self.value,
}