PIbd-42_SSPR/network/routes/experiment_data_router.py

63 lines
2.0 KiB
Python

from fastapi import APIRouter, HTTPException
from db.crud import *
from db.models import ExperimentData
from network.schemas import ExperimentDataBody
router = APIRouter()
@router.post('/create')
async def create_experiment_data(body: ExperimentDataBody):
try:
await create(ExperimentData,
direction=body.direction,
temperature=body.temperature,
nox=body.nox,
co2=body.co2,
co=body.co,
file_id=body.file_id
)
return {"message": "Новая запись <ExperimentData> успешно добавлена"}
except Exception as e:
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
@router.get('/all')
async def get_all_experiment_data():
try:
result = await get_all(ExperimentData)
if result is not None:
return result
else:
return {"message": "Нет записей в <ExperimentData>"}
except Exception as e:
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
@router.get('/{id}')
async def get_by_id_experiment_data(id: int):
try:
result = await get_by_id(ExperimentData, id)
if result is not None:
return result
else:
return {"message": "Запись <ExperimentData> не найдена"}
except Exception as e:
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
@router.delete('/{id}/delete')
async def delete_experiment_data(id: int):
try:
is_deleted = await delete(ExperimentData, id)
if is_deleted:
return {"message": "Запись <ExperimentData> успешно удалена"}
else:
return {"message": "Запись <ExperimentData> не найдена"}
except Exception as e:
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")