Arclen/ucprojects-backend
0
1from pydantic import BaseModel, Field2from typing import List, Optional3 4 5class Contact(BaseModel):6 id: str7 name: Optional[str]8 phone: Optional[str]9 email: Optional[str]10 11 12class Credential(BaseModel):13 id: str14 title: str15 username: Optional[str]16 password: Optional[str]17 note: Optional[str]18 19 20class Activity(BaseModel):21 id: str22 date: Optional[str]23 from_person: Optional[str]24 to_person: Optional[str]25 description: Optional[str]26 type: Optional[str] # 'internal' or 'external'27 28 29class ProjectCreate(BaseModel):30 name: str = Field(..., min_length=1)31 description: Optional[str]32 created_by: str33 34 35class ProjectInfo(BaseModel):36 id: str37 name: str38 description: Optional[str]39 created_by: str40 contacts: List[Contact] = []41 credentials: List[Credential] = []42 platforms: List["Platform"] = []43 activities: List[Activity] = []44 45 46class Platform(BaseModel):47 id: str48 name: Optional[str]49 description: Optional[str]50 credentials: List[Credential] = []51 contacts: List[Contact] = []52 activities: List[Activity] = []53 