Files
roleplay-contract/api/rpk-api/firm/template/schemas.py

51 lines
1.3 KiB
Python

from pydantic import Field
from typing import List
from firm.template.models import ContractTemplate, ProvisionTemplate, PartyTemplate, ProvisionTemplateReference, DictionaryEntry
from firm.core.schemas import Writer, Reader
from firm.core.models import RichtextMultiline, RichtextSingleline
class ContractTemplateRead(Reader, ContractTemplate):
pass
class ContractTemplateCreate(Writer):
name: str = Field(title="Nom")
title: str = Field(title="Titre")
parties: List[PartyTemplate] = Field(default=[], title="Parties")
provisions: List[ProvisionTemplateReference] = Field(
default=[],
props={"items_per_row": "1", "numbered": True},
title="Clauses"
)
variables: List[DictionaryEntry] = Field(
default=[],
props={"display": "dictionary", "required": False},
title="Variables"
)
class Config:
title = 'Template de Contrat'
class ContractTemplateUpdate(ContractTemplateCreate):
pass
class ProvisionTemplateRead(Reader, ProvisionTemplate):
pass
class ProvisionTemplateCreate(Writer):
name: str = Field(title="Nom")
title: str = RichtextSingleline(title="Titre")
body: str = RichtextMultiline(title="Corps")
class Config:
title = 'Template de Clause'
class ProvisionTemplateUpdate(ProvisionTemplateCreate):
pass