feat(validation): complete validation editor and master data modules
This commit is contained in:
parent
2b5c765e41
commit
f73a24df13
73 changed files with 10194 additions and 0 deletions
146
validation-suite/backend/mercury/app/schemas/domain.py
Normal file
146
validation-suite/backend/mercury/app/schemas/domain.py
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from datetime import date
|
||||
|
||||
from pydantic import EmailStr, Field
|
||||
|
||||
from app.models.customer import CustomerType
|
||||
from app.models.equipment import EquipmentKind, EquipmentStatus
|
||||
from app.models.validation import ValidationStatus
|
||||
from app.schemas.common import EntityRead, ORMModel
|
||||
|
||||
|
||||
class CustomerCreate(ORMModel):
|
||||
customer_type: CustomerType
|
||||
name: str
|
||||
street: str | None = None
|
||||
postal_code: str | None = None
|
||||
city: str | None = None
|
||||
phone: str | None = None
|
||||
email: EmailStr | None = None
|
||||
hygiene_officer: str | None = None
|
||||
quality_manager: str | None = None
|
||||
notes: str | None = None
|
||||
|
||||
|
||||
class CustomerRead(CustomerCreate, EntityRead):
|
||||
pass
|
||||
|
||||
|
||||
class CustomerUpdate(CustomerCreate):
|
||||
pass
|
||||
|
||||
|
||||
class LocationCreate(ORMModel):
|
||||
customer_id: str
|
||||
name: str
|
||||
street: str | None = None
|
||||
postal_code: str | None = None
|
||||
city: str | None = None
|
||||
room: str | None = None
|
||||
|
||||
|
||||
class LocationRead(LocationCreate, EntityRead):
|
||||
pass
|
||||
|
||||
|
||||
class LocationUpdate(LocationCreate):
|
||||
pass
|
||||
|
||||
|
||||
class ContactCreate(ORMModel):
|
||||
customer_id: str
|
||||
full_name: str
|
||||
function: str | None = None
|
||||
email: EmailStr | None = None
|
||||
phone: str | None = None
|
||||
|
||||
|
||||
class ContactRead(ContactCreate, EntityRead):
|
||||
pass
|
||||
|
||||
|
||||
class ContactUpdate(ContactCreate):
|
||||
pass
|
||||
|
||||
|
||||
class DeviceCreate(ORMModel):
|
||||
customer_id: str
|
||||
location_id: str | None = None
|
||||
manufacturer: str
|
||||
model: str
|
||||
device_type: str | None = None
|
||||
serial_number: str
|
||||
year_built: int | None = None
|
||||
commissioned_on: date | None = None
|
||||
chamber_volume_liters: int | None = None
|
||||
steam_generation: str | None = None
|
||||
water_treatment: str | None = None
|
||||
documentation: str | None = None
|
||||
supplier: str | None = None
|
||||
|
||||
|
||||
class DeviceRead(DeviceCreate, EntityRead):
|
||||
pass
|
||||
|
||||
|
||||
class DeviceUpdate(DeviceCreate):
|
||||
pass
|
||||
|
||||
|
||||
class EquipmentCreate(ORMModel):
|
||||
kind: EquipmentKind
|
||||
manufacturer: str | None = None
|
||||
model: str | None = None
|
||||
serial_number: str
|
||||
calibrated_on: date | None = None
|
||||
calibration_due_on: date | None = None
|
||||
certificate_document_id: str | None = None
|
||||
status: EquipmentStatus = EquipmentStatus.green
|
||||
|
||||
|
||||
class EquipmentRead(EquipmentCreate, EntityRead):
|
||||
pass
|
||||
|
||||
|
||||
class EquipmentUpdate(EquipmentCreate):
|
||||
pass
|
||||
|
||||
|
||||
class ValidationCreate(ORMModel):
|
||||
report_number: str
|
||||
customer_id: str
|
||||
location_id: str | None = None
|
||||
contact_id: str | None = None
|
||||
device_id: str | None = None
|
||||
validation_type: str
|
||||
project: str | None = None
|
||||
test_location: str | None = None
|
||||
examiner_name: str | None = None
|
||||
participants: str | None = None
|
||||
operator_name: str | None = None
|
||||
scheduled_on: date | None = None
|
||||
performed_on: date | None = None
|
||||
next_validation_on: date | None = None
|
||||
examiner_id: str | None = None
|
||||
status: ValidationStatus = ValidationStatus.draft
|
||||
result: str | None = None
|
||||
notes: str | None = None
|
||||
equipment_ids: list[str] = Field(default_factory=list)
|
||||
environment_conditions: dict = Field(default_factory=dict)
|
||||
documentation_checklist: list[dict] = Field(default_factory=list)
|
||||
performance_checklist: list[dict] = Field(default_factory=list)
|
||||
programs: list[dict] = Field(default_factory=list)
|
||||
loading_patterns: list[dict] = Field(default_factory=list)
|
||||
measurement_data: list[dict] = Field(default_factory=list)
|
||||
drying: dict = Field(default_factory=dict)
|
||||
recommendations: list[dict] = Field(default_factory=list)
|
||||
attachments: list[dict] = Field(default_factory=list)
|
||||
|
||||
|
||||
class ValidationRead(ValidationCreate, EntityRead):
|
||||
pass
|
||||
|
||||
|
||||
class ValidationUpdate(ValidationCreate):
|
||||
pass
|
||||
Loading…
Add table
Add a link
Reference in a new issue