familytree

A self-hosted family tree builder.
Log | Files | Refs | README

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