summaryrefslogtreecommitdiff
path: root/shopdb/_job.py
diff options
context:
space:
mode:
Diffstat (limited to 'shopdb/_job.py')
-rw-r--r--shopdb/_job.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/shopdb/_job.py b/shopdb/_job.py
new file mode 100644
index 0000000..13f2988
--- /dev/null
+++ b/shopdb/_job.py
@@ -0,0 +1,25 @@
+__all__ = ["Job"]
+
+
+import enum
+from sqlalchemy import Column, Integer, String, Enum
+from sqlalchemy.orm import relationship
+from ._base import Base, engine
+from ._status import Status
+
+
+class JobPriorities(enum.Enum):
+ high = 1
+ medium = 2
+ low = 3
+
+
+class Job(Base):
+ __tablename__ = 'jobs'
+ id = Column(Integer, primary_key=True)
+ name = Column(String)
+ priority = Column(Enum(JobPriorities), default="medium")
+ status_updates = relationship("Status", back_populates="job")
+
+ def __repr__(self):
+ return "<Job(name='%s')>" % (self.name)