39 lines
688 B
Python
39 lines
688 B
Python
import uuid
|
|
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class CaseSourceIn(BaseModel):
|
|
name: str = Field(..., min_length=1)
|
|
prefix: str = Field(..., min_length=1)
|
|
|
|
class Config:
|
|
anystr_strip_whitespace = True
|
|
|
|
|
|
class CaseSource(CaseSourceIn):
|
|
id_: uuid.UUID
|
|
|
|
class Config:
|
|
anystr_strip_whitespace = True
|
|
fields = {"id_": "id"}
|
|
|
|
|
|
class CaseSourceBlank(BaseModel):
|
|
name: str
|
|
prefix: str
|
|
|
|
class Config:
|
|
anystr_strip_whitespace = True
|
|
|
|
|
|
class CaseSourceLink(BaseModel):
|
|
id_: uuid.UUID = Field(...)
|
|
name: Optional[str]
|
|
prefix: Optional[str]
|
|
|
|
class Config:
|
|
fields = {"id_": "id"}
|