From 1d5bea43f9e8056bbab407f965d37aab9cd008f8 Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Sun, 14 Feb 2021 10:29:56 +0100
Subject: [PATCH] Add timestamp optional field for measurement post route

---
 src/logic/database/Crud.py    | 5 ++++-
 src/logic/database/Schemas.py | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/logic/database/Crud.py b/src/logic/database/Crud.py
index 332d9c7..cb5f45f 100644
--- a/src/logic/database/Crud.py
+++ b/src/logic/database/Crud.py
@@ -143,7 +143,10 @@ def get_measurement(db: Session, measurementId: int) -> Models.Measurement:
 
 @notify_backup_service(BACKUP_SERVICE)
 def create_measurement(db: Session, measurement: Schemas.MeasurementCreate) -> Models.Measurement:
-    dbMeasurement = Models.Measurement(**measurement.dict(), timestamp=__get_current_datetime())
+    if measurement.timestamp is None:
+        measurement.timestamp = __get_current_datetime()
+
+    dbMeasurement = Models.Measurement(**measurement.dict())
     db.add(dbMeasurement)
     db.commit()
     db.refresh(dbMeasurement)
diff --git a/src/logic/database/Schemas.py b/src/logic/database/Schemas.py
index fa5e9fc..a58df20 100644
--- a/src/logic/database/Schemas.py
+++ b/src/logic/database/Schemas.py
@@ -1,6 +1,7 @@
 from typing import List
 
 from pydantic import BaseModel, Field
+from typing import Optional
 
 
 # ===== special =====
@@ -42,6 +43,7 @@ class Measurement(BaseModel):
 
 class MeasurementCreate(BaseModel):
     value: str = Field(..., min_length=1)
+    timestamp: Optional[str]
     sensor_id: int
 
 
-- 
GitLab