from pydantic import BaseModel, Field from typing import List from .models import ContractTemplate, ProvisionTemplate, PartyTemplate, ProvisionTemplateReference, DictionaryEntry from ..core.schemas import Writer from ..core.models import text_area class ContractTemplateRead(ContractTemplate): pass class ContractTemplateCreate(Writer): name: str class ContractTemplateUpdate(BaseModel): name: str parties: List[PartyTemplate] = [] variables: List[DictionaryEntry] = Field( default=[], format="dictionary", props={"required": False} ) provisions: List[ProvisionTemplateReference] = [] class ProvisionTemplateRead(ProvisionTemplate): pass class ProvisionTemplateCreate(Writer): name: str title: str body: str = text_area(size=8) class ProvisionTemplateUpdate(BaseModel): name: str title: str body: str