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 RichtextMultiline, RichtextSingleline 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 = RichtextSingleline() body: str = RichtextMultiline(size=8) class ProvisionTemplateUpdate(BaseModel): name: str title: str body: str