felicity-lims/felicity/apps/impress/sample/schemas.py
2024-07-31 19:38:20 +02:00

41 lines
1,011 B
Python

from typing import Optional
from pydantic import BaseModel, ConfigDict
from felicity.apps.analysis.schemas import SampleInDB
#
# ReportImpress Schemas
#
class ReportImpressBase(BaseModel):
state: str | None = None
sample_uid: str | None = None
sample: Optional[SampleInDB] = None
json_content: Optional[dict] = {}
pdf_content: Optional[bytes] = None
email_required: bool | None = False
email_sent: bool | None = False
sms_required: bool | None = False
sms_sent: bool | None = False
generated_by_uid: str | None = None
created_by_uid: str | None = None
updated_by_uid: str | None = None
class ReportImpressBaseInDB(ReportImpressBase):
uid: str | None = None
model_config = ConfigDict(from_attributes=True)
# Properties to receive via API on creation
class ReportImpressCreate(ReportImpressBase):
pass
# Properties to receive via API on update
class ReportImpressUpdate(ReportImpressBase):
pass