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