23 lines
633 B
Python
23 lines
633 B
Python
from pydantic import Field, ConfigDict
|
|
|
|
from firm.entity.models import Entity, Institution, Individual, Corporation
|
|
from firm.core.schemas import Writer, Reader
|
|
|
|
class EntityRead(Reader, Entity):
|
|
pass
|
|
|
|
class EntityCreate(Writer):
|
|
model_config = ConfigDict(title="Création d'un client")
|
|
|
|
entity_data: Individual | Corporation | Institution = Field(..., discriminator='type')
|
|
address: str = Field(default="", title='Adresse')
|
|
|
|
class EntityIndividualCreate(EntityCreate):
|
|
entity_data: Individual
|
|
|
|
class EntityCorporationCreate(EntityCreate):
|
|
entity_data: Corporation
|
|
|
|
class EntityUpdate(EntityCreate):
|
|
pass
|