|
|
@ -212,6 +212,17 @@ func (c *BridgeController) deleteBridgeLight(w http.ResponseWriter, r *http.Requ |
|
|
|
respond.Data(w, bridge) |
|
|
|
} |
|
|
|
|
|
|
|
// discoverBridges (`GET /discover/:driver`): Get all bridges
|
|
|
|
func (c *BridgeController) discoverBridges(w http.ResponseWriter, r *http.Request) { |
|
|
|
newBridges, err := c.service.DiscoverBridges(r.Context(), mux.Vars(r)["driver_name"]) |
|
|
|
if err != nil { |
|
|
|
httperr.Respond(w, err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
respond.Data(w, newBridges) |
|
|
|
} |
|
|
|
|
|
|
|
// Mount mounts the controller
|
|
|
|
func (c *BridgeController) Mount(router *mux.Router, prefix string) { |
|
|
|
sub := router.PathPrefix(prefix).Subrouter() |
|
|
@ -225,6 +236,7 @@ func (c *BridgeController) Mount(router *mux.Router, prefix string) { |
|
|
|
sub.HandleFunc("/{bridge_id}", c.deleteBridge).Methods("DELETE") |
|
|
|
sub.HandleFunc("/{bridge_id}/light/{light_id}", c.deleteBridgeLight).Methods("DELETE") |
|
|
|
sub.HandleFunc("/{bridge_id}/discover", c.postBridgeDiscover).Methods("POST") |
|
|
|
sub.HandleFunc("/discover/{driver_name}", c.discoverBridges).Methods("GET") |
|
|
|
} |
|
|
|
|
|
|
|
func (c *BridgeController) adminMiddleware() mux.MiddlewareFunc { |
|
|
|