summaryrefslogtreecommitdiff
path: root/shopdb/_status.py
diff options
context:
space:
mode:
Diffstat (limited to 'shopdb/_status.py')
-rw-r--r--shopdb/_status.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/shopdb/_status.py b/shopdb/_status.py
new file mode 100644
index 0000000..4011048
--- /dev/null
+++ b/shopdb/_status.py
@@ -0,0 +1,30 @@
+__all__ = ["Status"]
+
+
+import enum
+from sqlalchemy import Column, Integer, String, DateTime, Enum
+from sqlalchemy.orm import relationship
+from sqlalchemy import ForeignKey
+from ._base import Base, engine
+
+
+class StatusValues(enum.Enum):
+ unstarted = 1
+ proceeding = 2
+ completed = 3
+ deferred = 4
+ waiting = 5
+ canceled = 6
+
+
+class Status(Base):
+ __tablename__ = 'event'
+ id = Column(Integer, primary_key=True)
+ comment = Column(String)
+ value = Column(Enum(StatusValues))
+ timestamp = Column(DateTime)
+ job_id = Column(Integer, ForeignKey("jobs.id"))
+ job = relationship("Job", back_populates="status_updates")
+
+ def __repr__(self):
+ return "<Status(value='%s')>" % (self.value)