schemas.py (1292B)
1 from pydantic import BaseModel 2 3 4 class TreeCreate(BaseModel): 5 name: str 6 7 8 class TreeRename(BaseModel): 9 name: str 10 11 12 class InviteRequest(BaseModel): 13 email: str 14 role: str = "viewer" 15 16 17 class RoleUpdate(BaseModel): 18 role: str 19 20 21 class AddMemberRequest(BaseModel): 22 username: str 23 role: str = "viewer" 24 25 26 class PersonCreate(BaseModel): 27 first_name: str 28 last_name: str | None = None 29 birth_date: str | None = None 30 death_date: str | None = None 31 birth_place: str | None = None 32 burial_place: str | None = None 33 bio: str | None = None 34 35 36 class PersonUpdate(BaseModel): 37 first_name: str | None = None 38 last_name: str | None = None 39 birth_date: str | None = None 40 death_date: str | None = None 41 birth_place: str | None = None 42 burial_place: str | None = None 43 bio: str | None = None 44 45 46 class PartnershipCreate(BaseModel): 47 person1_id: int 48 person2_id: int 49 union_date: str | None = None 50 union_end_date: str | None = None 51 union_type: str = "partnered" 52 53 54 class PartnershipUpdate(BaseModel): 55 union_date: str | None = None 56 union_end_date: str | None = None 57 union_type: str | None = None 58 59 60 class ParentLinkCreate(BaseModel): 61 child_id: int 62 partnership_id: int | None = None 63 parent_id: int | None = None