sumaq/backend/app/schemas/project.py

28 lines
736 B
Python

from pydantic import BaseModel
from typing import Optional, List
from datetime import datetime
from .specialty import Specialty
from .contractor import Contractor
class ProjectBase(BaseModel):
name: str
code: str
location: Optional[str] = None
start_date: Optional[datetime] = None
end_date: Optional[datetime] = None
status: str = "active"
parent_id: Optional[int] = None
class ProjectCreate(ProjectBase):
specialty_ids: Optional[List[int]] = []
contractor_ids: Optional[List[int]] = []
class Project(ProjectBase):
id: int
specialties: List[Specialty] = []
contractors: List[Contractor] = []
subprojects: List['Project'] = []
class Config:
from_attributes = True