Files

35 lines
1.1 KiB
Go

package manager
import (
"net/http"
"github.com/gorilla/mux"
"github.com/netbirdio/management-refactor/internals/modules/networks"
"github.com/netbirdio/management-refactor/internals/shared/permissions"
"github.com/netbirdio/management-refactor/internals/shared/permissions/modules"
"github.com/netbirdio/management-refactor/internals/shared/permissions/operations"
nbcontext "github.com/netbirdio/netbird/management/server/context"
)
type handler struct {
manager networks.Manager
}
func RegisterEndpoints(router *mux.Router, permissionsManager permissions.Manager, manager networks.Manager) {
h := &handler{
manager: manager,
}
router.HandleFunc("/networks/{id}", permissionsManager.WithPermission(modules.Networks, operations.Write, h.deleteNetwork)).Methods("DELETE", "OPTIONS")
}
func (h *handler) deleteNetwork(w http.ResponseWriter, r *http.Request, userAuth *nbcontext.UserAuth) {
err := h.manager.DeleteNetwork(r.Context(), nil, userAuth.AccountId, userAuth.UserId, mux.Vars(r)["id"])
if err != nil {
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
return
}
// _ = json.NewEncoder(w).Encode(users)
}