added dewar type, serial number, generate unique id, qr code and generate label
This commit is contained in:
@ -3,6 +3,38 @@ from pydantic import BaseModel, EmailStr, constr, Field
|
||||
from datetime import date
|
||||
|
||||
|
||||
class DewarTypeBase(BaseModel):
|
||||
dewar_type: str
|
||||
|
||||
|
||||
class DewarTypeCreate(DewarTypeBase):
|
||||
pass
|
||||
|
||||
|
||||
class DewarType(DewarTypeBase):
|
||||
id: int
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class DewarSerialNumberBase(BaseModel):
|
||||
serial_number: str
|
||||
dewar_type_id: int
|
||||
|
||||
|
||||
class DewarSerialNumberCreate(DewarSerialNumberBase):
|
||||
pass
|
||||
|
||||
|
||||
class DewarSerialNumber(DewarSerialNumberBase):
|
||||
id: int
|
||||
dewar_type: DewarType
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class DataCollectionParameters(BaseModel):
|
||||
priority: Optional[int] = None
|
||||
comments: Optional[str] = None
|
||||
@ -41,7 +73,6 @@ class Results(BaseModel):
|
||||
pass
|
||||
|
||||
|
||||
# Contact Person schemas
|
||||
class ContactPersonBase(BaseModel):
|
||||
firstname: str
|
||||
lastname: str
|
||||
@ -61,13 +92,12 @@ class ContactPerson(ContactPersonBase):
|
||||
|
||||
|
||||
class ContactPersonUpdate(BaseModel):
|
||||
firstname: str | None = None
|
||||
lastname: str | None = None
|
||||
phone_number: str | None = None
|
||||
email: EmailStr | None = None
|
||||
firstname: Optional[str] = None
|
||||
lastname: Optional[str] = None
|
||||
phone_number: Optional[str] = None
|
||||
email: Optional[EmailStr] = None
|
||||
|
||||
|
||||
# Address schemas
|
||||
class AddressCreate(BaseModel):
|
||||
street: str
|
||||
city: str
|
||||
@ -83,10 +113,10 @@ class Address(AddressCreate):
|
||||
|
||||
|
||||
class AddressUpdate(BaseModel):
|
||||
street: str | None = None
|
||||
city: str | None = None
|
||||
zipcode: str | None = None
|
||||
country: str | None = None
|
||||
street: Optional[str] = None
|
||||
city: Optional[str] = None
|
||||
zipcode: Optional[str] = None
|
||||
country: Optional[str] = None
|
||||
|
||||
|
||||
class Sample(BaseModel):
|
||||
@ -108,8 +138,6 @@ class SampleCreate(BaseModel):
|
||||
populate_by_name = True
|
||||
|
||||
|
||||
|
||||
# Puck schemas
|
||||
class PuckBase(BaseModel):
|
||||
puck_name: str
|
||||
puck_type: str
|
||||
@ -142,9 +170,11 @@ class Puck(BaseModel):
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# Dewar schemas
|
||||
class DewarBase(BaseModel):
|
||||
dewar_name: str
|
||||
dewar_type_id: Optional[int] = None
|
||||
dewar_serial_number_id: Optional[int] = None
|
||||
unique_id: Optional[str] = None
|
||||
tracking_number: str
|
||||
number_of_pucks: int
|
||||
number_of_samples: int
|
||||
@ -176,6 +206,9 @@ class Dewar(DewarBase):
|
||||
|
||||
class DewarUpdate(BaseModel):
|
||||
dewar_name: Optional[str] = None
|
||||
dewar_type_id: Optional[int] = None
|
||||
dewar_serial_number_id: Optional[int] = None
|
||||
unique_id: Optional[str] = None
|
||||
tracking_number: Optional[str] = None
|
||||
status: Optional[str] = None
|
||||
ready_date: Optional[date] = None
|
||||
@ -186,6 +219,7 @@ class DewarUpdate(BaseModel):
|
||||
contact_person_id: Optional[int] = None
|
||||
address_id: Optional[int] = None
|
||||
|
||||
|
||||
class DewarSchema(BaseModel):
|
||||
id: int
|
||||
dewar_name: str
|
||||
@ -198,7 +232,6 @@ class DewarSchema(BaseModel):
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# Proposal schemas
|
||||
class Proposal(BaseModel):
|
||||
id: int
|
||||
number: str
|
||||
@ -207,7 +240,6 @@ class Proposal(BaseModel):
|
||||
from_attributes = True
|
||||
|
||||
|
||||
# Shipment schemas
|
||||
class Shipment(BaseModel):
|
||||
id: int
|
||||
shipment_name: str
|
||||
@ -238,4 +270,4 @@ class ShipmentCreate(BaseModel):
|
||||
|
||||
|
||||
class UpdateShipmentComments(BaseModel):
|
||||
comments: str
|
||||
comments: str
|
Reference in New Issue
Block a user