refactor: update milestone/task status enums to new state machine values
Milestone: open/freeze/undergoing/completed/closed (was open/pending/deferred/progressing/closed) Task: open/pending/undergoing/completed/closed (was open/pending/progressing/closed) - Add MilestoneStatusEnum to schemas with typed validation - Add started_at field to Milestone model - Update all router/CLI references from progressing->undergoing - Add completed status handling in task transition logic
This commit is contained in:
@@ -18,7 +18,8 @@ class TaskTypeEnum(str, Enum):
|
||||
class TaskStatusEnum(str, Enum):
|
||||
OPEN = "open"
|
||||
PENDING = "pending"
|
||||
PROGRESSING = "progressing"
|
||||
UNDERGOING = "undergoing"
|
||||
COMPLETED = "completed"
|
||||
CLOSED = "closed"
|
||||
|
||||
|
||||
@@ -193,11 +194,19 @@ class ProjectMemberResponse(BaseModel):
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class MilestoneStatusEnum(str, Enum):
|
||||
OPEN = "open"
|
||||
FREEZE = "freeze"
|
||||
UNDERGOING = "undergoing"
|
||||
COMPLETED = "completed"
|
||||
CLOSED = "closed"
|
||||
|
||||
|
||||
# Milestone schemas
|
||||
class MilestoneBase(BaseModel):
|
||||
title: str
|
||||
description: Optional[str] = None
|
||||
status: Optional[str] = "open"
|
||||
status: Optional[MilestoneStatusEnum] = MilestoneStatusEnum.OPEN
|
||||
due_date: Optional[datetime] = None
|
||||
planned_release_date: Optional[datetime] = None
|
||||
depend_on_milestones: Optional[List[str]] = None
|
||||
@@ -212,7 +221,7 @@ class MilestoneCreate(MilestoneBase):
|
||||
class MilestoneUpdate(BaseModel):
|
||||
title: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
status: Optional[str] = None
|
||||
status: Optional[MilestoneStatusEnum] = None
|
||||
due_date: Optional[datetime] = None
|
||||
planned_release_date: Optional[datetime] = None
|
||||
depend_on_milestones: Optional[List[str]] = None
|
||||
@@ -223,6 +232,7 @@ class MilestoneResponse(MilestoneBase):
|
||||
id: int
|
||||
project_id: int
|
||||
created_by_id: Optional[int] = None
|
||||
started_at: Optional[datetime] = None
|
||||
created_at: datetime
|
||||
updated_at: Optional[datetime] = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user