Use Enum for request statuses

This commit is contained in:
richard-dds
2018-08-07 16:41:47 -04:00
parent 0c9005aaf6
commit 49b9fca793
5 changed files with 25 additions and 26 deletions

View File

@@ -24,3 +24,4 @@ class Request(Base):
def set_status(self, status):
self.status_events.append(status)

View File

@@ -1,5 +1,6 @@
from sqlalchemy import Column, func, ForeignKey
from sqlalchemy.types import DateTime, String, BigInteger
from enum import Enum, auto
from sqlalchemy import Column, func, ForeignKey, Enum as SQLAEnum
from sqlalchemy.types import DateTime, BigInteger
from sqlalchemy.schema import Sequence
from sqlalchemy.dialects.postgresql import UUID
@@ -7,11 +8,18 @@ from atst.models import Base
from atst.models.types import Id
class RequestStatus(Enum):
STARTED = auto()
PENDING_FINANCIAL_VERIFICATION = auto()
PENDING_CCPO_APPROVAL = auto()
APPROVED = auto()
class RequestStatusEvent(Base):
__tablename__ = "request_status_events"
id = Id()
new_status = Column(String())
new_status = Column(SQLAEnum(RequestStatus))
time_created = Column(DateTime(timezone=True), server_default=func.now())
request_id = Column(
UUID(as_uuid=True), ForeignKey("requests.id", ondelete="CASCADE")