42 lines
894 B
Python
42 lines
894 B
Python
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
|