Skip to content
Snippets Groups Projects
Schemas.py 1.13 KiB
Newer Older
  • Learn to ignore specific revisions
  • from typing import List
    
    from pydantic import BaseModel
    
    
    
    class Status(BaseModel):
        message: str
    
    
    
    class MinMax(BaseModel):
        min: float or None
        max: float or None
    
    
    
    # ===== measurement =====
    class Measurement(BaseModel):
        id: int
        value: str
        timestamp: str
        sensorId: int
    
        class Config:
            orm_mode = True
    
    
    class MeasurementCreate(BaseModel):
        value: str
        sensorId: int
    
    
    
    # ===== sensor =====
    
    class SensorBase(BaseModel):
        id: int
        name: str
        type: str
    
    
        class Config:
            orm_mode = True
    
    
    
    class SensorCreate(BaseModel):
        name: str
        type: str
    
    class Sensor(SensorBase):
    
        id: int
        name: str
        type: str
        deviceId: int
    
        class Config:
            orm_mode = True
    
    
    
    # ===== device =====
    
    class Device(BaseModel):
    
        id: int
        name: str
        sensors: List[SensorBase]
    
        class Config:
            orm_mode = True
    
    
    
    class DeviceCreate(BaseModel):
        name: str
    
    
    
    # ===== send multiple measurements =====
    
    class SensorValue(BaseModel):
        name: str
        type: str
        value: str
    
    
    class MultipleMeasurements(BaseModel):
        deviceName: str
        sensors: List[SensorValue]