Drag out mqtt and make a new class

This commit is contained in:
2024-08-07 16:58:06 +02:00
parent bc365ffe7a
commit e1e6e0f7d7
3 changed files with 94 additions and 38 deletions

View File

@@ -3,16 +3,18 @@ from contextlib import asynccontextmanager
from fastapi import FastAPI
from pydantic import BaseModel
from src.cloud_util.mqtt import MQTT
from src.recorder.poo import PooRecorder
recorder = PooRecorder()
mqtt = MQTT()
poo_recorder = PooRecorder(mqtt)
@asynccontextmanager
async def _lifespan(_app: FastAPI): # noqa: ANN202
await recorder.start()
await mqtt.start()
yield
await recorder.stop()
await mqtt.stop()
class PooRecordField(BaseModel):
@@ -24,6 +26,5 @@ app = FastAPI(lifespan=_lifespan)
@app.post("/poo/record")
async def record(record_detail: PooRecordField) -> PooRecordField:
print(record_detail.status)
await recorder.record(record_detail.status)
await poo_recorder.record(record_detail.status)
return record_detail