From 7888ec9f4493d9b332cc368415eaf7311562e32d Mon Sep 17 00:00:00 2001 From: Colin Goutte Date: Wed, 29 Sep 2021 12:37:24 +0200 Subject: [PATCH] wip --- papi/main.py | 17 +++++++++-------- papi/sqlapp/crud.py | 2 +- papi/sqlapp/schemas.py | 7 +++++++ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/papi/main.py b/papi/main.py index a6631d2..857f580 100644 --- a/papi/main.py +++ b/papi/main.py @@ -80,18 +80,19 @@ def list_notification(idsonde: str): def post_sonde_data( idsonde: str, body: dict = Body(...), db: Session = Depends(get_db) ): - if not (sonde := crud.get_sonde(db, idsonde)): return - - mesures_ = mesures[idsonde] + mesures_ = [] + mesures_.extend(crud.get_mesure(db, sonde.identifiant)) if not mesures_: - mesures_.append(default_sample()) - mesures_.append(body) - + mesures_.append( + crud.create_mesure(db, sonde.sonde_id, content=default_sample()) + ) + mesures_.append(crud.create_mesure(db, sonde.sonde_id, content=body)) + mesures[idsonde] = mesures_ date = body["date"] - previous = utils.prepare(mesures_[-2]) - present = utils.prepare(mesures_[-1]) + previous = utils.prepare(mesures_[-2].content) + present = utils.prepare(mesures_[-1].content) all_channels = sorted(set((*previous["channels"], *present["channels"]))) diff = utils.compare(all_channels, previous, present) diff --git a/papi/sqlapp/crud.py b/papi/sqlapp/crud.py index baebabb..c683098 100644 --- a/papi/sqlapp/crud.py +++ b/papi/sqlapp/crud.py @@ -21,7 +21,7 @@ def create_mesure(db: Session, sonde_id: int, content: dict): db_mesure = models.Mesure(sonde_id=sonde_id, content=content) db.add(db_mesure) db.commit() - db.refesh(db_mesure) + db.refresh(db_mesure) return db_mesure diff --git a/papi/sqlapp/schemas.py b/papi/sqlapp/schemas.py index e9ab104..0be45bc 100644 --- a/papi/sqlapp/schemas.py +++ b/papi/sqlapp/schemas.py @@ -20,3 +20,10 @@ class Sonde(SondeBase): class Config: orm_mode = True + + +class Mesure(BaseModel): + content: dict + + class Config: + orm_mode = True