working push-data route

This commit is contained in:
Michi 2025-03-30 17:25:23 +02:00
parent 831ce1dbc8
commit 081241fd20
5 changed files with 107 additions and 64 deletions

33
webservice/models.py Normal file
View file

@ -0,0 +1,33 @@
from datetime import datetime
from pydantic import BaseModel, Field
from typing import Optional
from sqlmodel import SQLModel, Field
class MessageOnly(BaseModel):
message: str
timestamp: datetime = Field(default_factory=datetime.now)
class Client(SQLModel, table=True):
__tablename__ = "clients" # Definiere den Tabellennamen für Clients
id: int = Field(default=None, primary_key=True)
name: str = Field(max_length=50) # Stelle sicher, dass der Name der DB-Struktur entspricht
class SensorDataIn(BaseModel): # Klasse für den Input (d.h., die API-Dokumentation)
timestamp: datetime = Field(default_factory=datetime.now)
temperature: float = Field(default=None, nullable=True)
humidity: float = Field(default=None, nullable=True)
pressure: float = Field(default=None, nullable=True)
voc: float = Field(default=None, nullable=True)
gas: float = Field(default=None, nullable=True)
class SensorData(SQLModel, table=True):
__tablename__ = "sensor_data"
id: int = Field(default=None, primary_key=True)
timestamp: datetime = Field(default_factory=datetime.now)
temperature: float = Field(default=None, nullable=True)
humidity: float = Field(default=None, nullable=True)
pressure: float = Field(default=None, nullable=True)
voc: float = Field(default=None, nullable=True)
gas: float = Field(default=None, nullable=True)
clientid: int = Field(default=None, nullable=True)