mirror of
https://github.com/Rhinemann/IoT-Systems.git
synced 2026-03-14 20:50:39 +02:00
implemented update and delete endpoints
This commit is contained in:
parent
b2c7427af0
commit
185b0aae58
@ -152,7 +152,41 @@ def list_processed_agent_data():
|
|||||||
)
|
)
|
||||||
def update_processed_agent_data(processed_agent_data_id: int, data: ProcessedAgentData):
|
def update_processed_agent_data(processed_agent_data_id: int, data: ProcessedAgentData):
|
||||||
# Update data
|
# Update data
|
||||||
pass
|
session = SessionLocal()
|
||||||
|
|
||||||
|
try:
|
||||||
|
query = select(processed_agent_data).where(
|
||||||
|
processed_agent_data.c.id == processed_agent_data_id
|
||||||
|
)
|
||||||
|
result = session.execute(query).fetchone()
|
||||||
|
|
||||||
|
if not result:
|
||||||
|
raise HTTPException(status_code=404, detail="Data not found")
|
||||||
|
|
||||||
|
update_query = (
|
||||||
|
processed_agent_data.update()
|
||||||
|
.where(processed_agent_data.c.id == processed_agent_data_id)
|
||||||
|
.values(
|
||||||
|
road_state=data.road_state,
|
||||||
|
user_id=data.agent_data.user_id,
|
||||||
|
x=data.agent_data.accelerometer.x,
|
||||||
|
y=data.agent_data.accelerometer.y,
|
||||||
|
z=data.agent_data.accelerometer.z,
|
||||||
|
latitude=data.agent_data.gps.latitude,
|
||||||
|
longitude=data.agent_data.gps.longitude,
|
||||||
|
timestamp=data.agent_data.timestamp,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
session.execute(update_query)
|
||||||
|
session.commit()
|
||||||
|
|
||||||
|
updated_result = session.execute(query).fetchone()
|
||||||
|
|
||||||
|
return ProcessedAgentDataInDB(**updated_result._mapping)
|
||||||
|
|
||||||
|
finally:
|
||||||
|
session.close()
|
||||||
|
|
||||||
|
|
||||||
@app.delete(
|
@app.delete(
|
||||||
@ -161,8 +195,28 @@ def update_processed_agent_data(processed_agent_data_id: int, data: ProcessedAge
|
|||||||
)
|
)
|
||||||
def delete_processed_agent_data(processed_agent_data_id: int):
|
def delete_processed_agent_data(processed_agent_data_id: int):
|
||||||
# Delete by id
|
# Delete by id
|
||||||
pass
|
session = SessionLocal()
|
||||||
|
|
||||||
|
try:
|
||||||
|
query = select(processed_agent_data).where(
|
||||||
|
processed_agent_data.c.id == processed_agent_data_id
|
||||||
|
)
|
||||||
|
result = session.execute(query).fetchone()
|
||||||
|
|
||||||
|
if not result:
|
||||||
|
raise HTTPException(status_code=404, detail="Data not found")
|
||||||
|
|
||||||
|
delete_query = processed_agent_data.delete().where(
|
||||||
|
processed_agent_data.c.id == processed_agent_data_id
|
||||||
|
)
|
||||||
|
|
||||||
|
session.execute(delete_query)
|
||||||
|
session.commit()
|
||||||
|
|
||||||
|
return ProcessedAgentDataInDB(**result._mapping)
|
||||||
|
|
||||||
|
finally:
|
||||||
|
session.close()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import uvicorn
|
import uvicorn
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user