diff --git a/backend/routers/vlans.py b/backend/routers/vlans.py index 6edf041..6a10715 100644 --- a/backend/routers/vlans.py +++ b/backend/routers/vlans.py @@ -85,6 +85,14 @@ def update_vlan(vlan_pk: int, vlan: VlanCreate, db: Session = Depends(get_db)): db_vlan = db.query(models.Vlan).filter(models.Vlan.id == vlan_pk).first() if not db_vlan: raise HTTPException(status_code=404, detail="VLAN introuvable") + if vlan.vlan_id is not None: + conflict = ( + db.query(models.Vlan) + .filter(models.Vlan.vlan_id == vlan.vlan_id, models.Vlan.id != vlan_pk) + .first() + ) + if conflict: + raise HTTPException(status_code=400, detail=f"VLAN {vlan.vlan_id} existe déjà") for k, v in vlan.model_dump().items(): setattr(db_vlan, k, v) db.commit()