Fix Pydantic URL serialization issue when creating/updating monitors
This commit is contained in:
parent
79eb3ef108
commit
42915817b3
@ -17,7 +17,9 @@ router = APIRouter(prefix="/monitors", tags=["monitors"])
|
||||
|
||||
@router.post("/", response_model=MonitorResponse)
|
||||
def create_monitor(monitor: MonitorCreate, db: Session = Depends(get_db)):
|
||||
db_monitor = Monitor(**monitor.dict())
|
||||
monitor_data = monitor.dict()
|
||||
monitor_data["url"] = str(monitor_data["url"]) # Convert Pydantic URL to string
|
||||
db_monitor = Monitor(**monitor_data)
|
||||
db.add(db_monitor)
|
||||
db.commit()
|
||||
db.refresh(db_monitor)
|
||||
@ -47,6 +49,8 @@ def update_monitor(
|
||||
raise HTTPException(status_code=404, detail="Monitor not found")
|
||||
|
||||
update_data = monitor.dict(exclude_unset=True)
|
||||
if "url" in update_data:
|
||||
update_data["url"] = str(update_data["url"]) # Convert Pydantic URL to string
|
||||
for field, value in update_data.items():
|
||||
setattr(db_monitor, field, value)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user