luthor/luthor/luthor/schemas/case_source.py

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"}