mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-24 17:02:55 +08:00
95 lines
2 KiB
Python
95 lines
2 KiB
Python
from typing import Optional, Dict, List
|
|
|
|
from pydantic import BaseModel
|
|
|
|
#
|
|
# WorkSheet Schemas
|
|
#
|
|
|
|
# Shared properties
|
|
class WorkSheetBase(BaseModel):
|
|
analyst_uid: Optional[int] = None
|
|
template_uid: Optional[int] = None
|
|
worksheet_id: Optional[int] = None
|
|
instrument_uid: Optional[int] = None
|
|
analyses_uid: Optional[int] = None
|
|
reserved: Optional[Dict] = {}
|
|
number_of_samples: Optional[int] = None
|
|
worksheet_type: Optional[int] = 0
|
|
rows: Optional[int] = None
|
|
cols: Optional[int] = None
|
|
row_wise: Optional[bool] = True
|
|
template: Optional[Dict] = {}
|
|
|
|
|
|
class WorkSheetBaseInDB(WorkSheetBase):
|
|
uid: Optional[str] = None
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
|
|
# Properties to receive via API on creation
|
|
class WorkSheetCreate(WorkSheetBase):
|
|
pass
|
|
|
|
|
|
# Properties to receive via API on update
|
|
class WorkSheetUpdate(WorkSheetBase):
|
|
pass
|
|
|
|
|
|
# Properties to return via API
|
|
class WorkSheet(WorkSheetBaseInDB):
|
|
pass
|
|
|
|
|
|
# Properties stored in DB
|
|
class WorkSheetInDB(WorkSheetBaseInDB):
|
|
pass
|
|
|
|
|
|
#
|
|
# WSTemplate Schemas
|
|
#
|
|
|
|
# Shared properties
|
|
class WSTemplateBase(BaseModel):
|
|
name: Optional[str] = None
|
|
description: Optional[str] = None
|
|
instrument_uid: Optional[str] = None
|
|
sample_type_uid: Optional[str] = None
|
|
analyses: List[Optional[int]] = []
|
|
reserved: Optional[Dict] = {}
|
|
number_of_samples: Optional[str] = None
|
|
worksheet_type: Optional[str] = 'flat'
|
|
rows: Optional[str] = None
|
|
cols: Optional[str] = None
|
|
row_wise: Optional[bool] = True
|
|
|
|
|
|
class WSTemplateBaseInDB(WSTemplateBase):
|
|
uid: Optional[str] = None
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
|
|
# Properties to receive via API on creation
|
|
class WSTemplateCreate(WSTemplateBase):
|
|
pass
|
|
|
|
|
|
# Properties to receive via API on update
|
|
class WSTemplateUpdate(WSTemplateBase):
|
|
pass
|
|
|
|
|
|
# Properties to return via API
|
|
class WSTemplate(WSTemplateBaseInDB):
|
|
pass
|
|
|
|
|
|
# Properties stored in DB
|
|
class WSTemplateInDB(WSTemplateBaseInDB):
|
|
pass
|