chore: remove obsolete .a0/ and worklog.md (state migrated to plugin DB)
This commit is contained in:
@@ -177,3 +177,98 @@ class ProjectFunctionListResponse(BaseModel):
|
||||
total: int
|
||||
page: int
|
||||
size: int
|
||||
|
||||
|
||||
# ===== ProjectEquipmentGroup Schemas =====
|
||||
|
||||
class ProjectEquipmentGroupCreateRequest(BaseModel):
|
||||
"""Request body for creating an equipment group."""
|
||||
name: str = Field(..., max_length=255)
|
||||
sort_order: int = 0
|
||||
start_date: datetime | None = None
|
||||
end_date: datetime | None = None
|
||||
|
||||
|
||||
class ProjectEquipmentGroupUpdateRequest(BaseModel):
|
||||
"""Request body for updating an equipment group."""
|
||||
name: str | None = Field(None, max_length=255)
|
||||
sort_order: int | None = None
|
||||
start_date: datetime | None = None
|
||||
end_date: datetime | None = None
|
||||
|
||||
|
||||
class ProjectEquipmentGroupResponse(BaseModel):
|
||||
"""Public equipment group representation."""
|
||||
id: str
|
||||
name: str
|
||||
project_id: str
|
||||
sort_order: int = 0
|
||||
start_date: datetime | None = None
|
||||
end_date: datetime | None = None
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class ProjectEquipmentGroupListResponse(BaseModel):
|
||||
"""Paginated list of equipment groups."""
|
||||
items: list[ProjectEquipmentGroupResponse]
|
||||
total: int
|
||||
page: int
|
||||
size: int
|
||||
|
||||
|
||||
class ProjectEquipmentGroupDetailResponse(BaseModel):
|
||||
"""Equipment group with nested items."""
|
||||
id: str
|
||||
name: str
|
||||
project_id: str
|
||||
sort_order: int = 0
|
||||
start_date: datetime | None = None
|
||||
end_date: datetime | None = None
|
||||
items: list["ProjectEquipmentResponse"] = []
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
# ===== ProjectEquipment Schemas =====
|
||||
|
||||
class ProjectEquipmentCreateRequest(BaseModel):
|
||||
"""Request body for adding equipment to a project group."""
|
||||
equipment_id: str | None = None
|
||||
name: str = Field(..., max_length=255)
|
||||
quantity: float = 1.0
|
||||
price: float = 0.0
|
||||
discount: float = 0.0
|
||||
sort_order: int = 0
|
||||
|
||||
|
||||
class ProjectEquipmentUpdateRequest(BaseModel):
|
||||
"""Request body for updating project equipment."""
|
||||
equipment_id: str | None = None
|
||||
name: str | None = Field(None, max_length=255)
|
||||
quantity: float | None = None
|
||||
price: float | None = None
|
||||
discount: float | None = None
|
||||
sort_order: int | None = None
|
||||
|
||||
|
||||
class ProjectEquipmentResponse(BaseModel):
|
||||
"""Public project equipment representation."""
|
||||
id: str
|
||||
project_equipment_group_id: str
|
||||
equipment_id: str | None = None
|
||||
name: str
|
||||
quantity: float = 1.0
|
||||
price: float = 0.0
|
||||
discount: float = 0.0
|
||||
sort_order: int = 0
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class ProjectEquipmentListResponse(BaseModel):
|
||||
"""Paginated list of project equipment."""
|
||||
items: list[ProjectEquipmentResponse]
|
||||
total: int
|
||||
page: int
|
||||
size: int
|
||||
|
||||
Reference in New Issue
Block a user