Contract Drafts modules

This commit is contained in:
2023-02-11 18:07:50 +01:00
parent cb3af5bcf2
commit a288d32ec9
10 changed files with 187 additions and 44 deletions

View File

@@ -1,36 +1,36 @@
import uuid
from datetime import datetime
from typing import List
from pydantic import BaseModel, validator
from pydantic import Field
from beanie import PydanticObjectId
from .models import ContractDraft, DraftProvision, Party
from .models import Contract, ContractType, Clause
from ..entity.models import Entity
from ..core.schemas import Writer
from ..core.models import DictionaryEntry
class ContractRead(Contract):
class ContractDraftRead(ContractDraft):
pass
class PartyCreate(BaseModel):
entity: PydanticObjectId
part: str
class ContractCreate(Writer):
type: ContractType
parties: List[PartyCreate]
clauses: List[Clause]
class ContractDraftCreate(Writer):
name: str
title: str
parties: List[Party]
provisions: List[DraftProvision]
variables: List[DictionaryEntry] = Field(
default=[],
format="dictionary",
)
async def validate_foreign_key(self):
return
for p in self.parties:
p.entity = await Entity.get(p.entity)
if p.entity is None:
raise ValueError
class ContractUpdate(BaseModel):
status: str
class ContractDraftUpdate(ContractDraftCreate):
pass