diff --git a/app/routers/monitors.py b/app/routers/monitors.py index 798432e..d72b8db 100644 --- a/app/routers/monitors.py +++ b/app/routers/monitors.py @@ -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)