Added relationship between requirements
This commit is contained in:
@@ -193,3 +193,67 @@ class RequirementUpdateRequest(BaseModel):
|
||||
tag_id: Optional[int] = None
|
||||
priority_id: Optional[int] = None
|
||||
group_ids: Optional[List[int]] = None
|
||||
|
||||
|
||||
# Relationship Type schemas
|
||||
class RelationshipTypeResponse(BaseModel):
|
||||
"""Response schema for a relationship type."""
|
||||
id: int
|
||||
project_id: int
|
||||
type_name: str
|
||||
type_description: Optional[str] = None
|
||||
inverse_type_name: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class RelationshipTypeCreateRequest(BaseModel):
|
||||
"""Request schema for creating a relationship type."""
|
||||
type_name: str
|
||||
type_description: Optional[str] = None
|
||||
inverse_type_name: Optional[str] = None
|
||||
|
||||
|
||||
# Requirement Link schemas
|
||||
class LinkedRequirementInfo(BaseModel):
|
||||
"""Brief info about a linked requirement."""
|
||||
id: int
|
||||
req_name: str
|
||||
tag_code: str
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class RequirementLinkResponse(BaseModel):
|
||||
"""Response schema for a requirement link with direction."""
|
||||
id: int
|
||||
direction: str # 'outgoing' or 'incoming'
|
||||
type_name: str
|
||||
type_id: int
|
||||
inverse_type_name: Optional[str] = None
|
||||
linked_requirement: LinkedRequirementInfo
|
||||
created_by_username: Optional[str] = None
|
||||
created_by_id: Optional[int] = None
|
||||
created_at: Optional[datetime] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class RequirementLinkCreateRequest(BaseModel):
|
||||
"""Request schema for creating a requirement link."""
|
||||
relationship_type_id: int
|
||||
target_requirement_id: int
|
||||
|
||||
|
||||
# Requirement Search schemas
|
||||
class RequirementSearchResult(BaseModel):
|
||||
"""Response schema for requirement search results (for autocomplete)."""
|
||||
id: int
|
||||
req_name: str
|
||||
tag_code: str
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user