Added status to the requirements

This commit is contained in:
gulimabr
2025-12-02 11:47:45 -03:00
parent 459ceaa162
commit 9428c4d2de
12 changed files with 340 additions and 15 deletions

View File

@@ -151,6 +151,18 @@ class PriorityResponse(BaseModel):
from_attributes = True
# Requirement Status schemas
class RequirementStatusResponse(BaseModel):
"""Response schema for a requirement lifecycle status."""
id: int
status_code: str
status_name: str
description: Optional[str] = None
class Config:
from_attributes = True
# Validation schemas
class ValidationStatusResponse(BaseModel):
"""Response schema for a validation status."""
@@ -207,6 +219,9 @@ class RequirementResponse(BaseModel):
tag: TagResponse
priority: Optional[PriorityResponse] = None
groups: List[GroupResponse] = []
# Requirement lifecycle status (Draft, Regular)
status: Optional[RequirementStatusResponse] = None
# Validation status (Approved, Denied, etc.)
validation_status: Optional[str] = None # Computed from latest validation
validated_by: Optional[str] = None # Username of the validator
validated_at: Optional[datetime] = None # When the latest validation was made
@@ -231,6 +246,7 @@ class RequirementCreateRequest(BaseModel):
req_desc: Optional[str] = None
priority_id: Optional[int] = None
group_ids: Optional[List[int]] = None
status_id: Optional[int] = None # Defaults to Draft (1) if not provided
class RequirementUpdateRequest(BaseModel):
@@ -240,6 +256,7 @@ class RequirementUpdateRequest(BaseModel):
tag_id: Optional[int] = None
priority_id: Optional[int] = None
group_ids: Optional[List[int]] = None
status_id: Optional[int] = None
class RequirementHistoryResponse(BaseModel):