fix(alarm): update alarm status endpoint to accept JSON body
This commit is contained in:
15
api/alarm.py
15
api/alarm.py
@@ -1,7 +1,8 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
from fastapi import APIRouter, Depends, HTTPException, Query, Body
|
||||||
|
from pydantic import BaseModel
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from db.crud import (
|
from db.crud import (
|
||||||
@@ -16,6 +17,12 @@ from inference.pipeline import get_pipeline
|
|||||||
router = APIRouter(prefix="/api/alarms", tags=["告警管理"])
|
router = APIRouter(prefix="/api/alarms", tags=["告警管理"])
|
||||||
|
|
||||||
|
|
||||||
|
class AlarmUpdateRequest(BaseModel):
|
||||||
|
llm_checked: Optional[bool] = None
|
||||||
|
llm_result: Optional[str] = None
|
||||||
|
processed: Optional[bool] = None
|
||||||
|
|
||||||
|
|
||||||
@router.get("", response_model=List[dict])
|
@router.get("", response_model=List[dict])
|
||||||
def list_alarms(
|
def list_alarms(
|
||||||
camera_id: Optional[int] = None,
|
camera_id: Optional[int] = None,
|
||||||
@@ -72,12 +79,10 @@ def get_alarm(alarm_id: int, db: Session = Depends(get_db)):
|
|||||||
@router.put("/{alarm_id}")
|
@router.put("/{alarm_id}")
|
||||||
def update_alarm_status(
|
def update_alarm_status(
|
||||||
alarm_id: int,
|
alarm_id: int,
|
||||||
llm_checked: Optional[bool] = None,
|
request: AlarmUpdateRequest = Body(...),
|
||||||
llm_result: Optional[str] = None,
|
|
||||||
processed: Optional[bool] = None,
|
|
||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
):
|
):
|
||||||
alarm = update_alarm(db, alarm_id, llm_checked=llm_checked, llm_result=llm_result, processed=processed)
|
alarm = update_alarm(db, alarm_id, llm_checked=request.llm_checked, llm_result=request.llm_result, processed=request.processed)
|
||||||
if not alarm:
|
if not alarm:
|
||||||
raise HTTPException(status_code=404, detail="告警不存在")
|
raise HTTPException(status_code=404, detail="告警不存在")
|
||||||
return {"message": "更新成功"}
|
return {"message": "更新成功"}
|
||||||
|
|||||||
Reference in New Issue
Block a user