Added relationship between requirements

This commit is contained in:
gulimabr
2025-12-01 12:11:20 -03:00
parent f7bb62ea99
commit 74454c7b6b
11 changed files with 1306 additions and 25 deletions

View File

@@ -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