Files

35 lines
1.1 KiB
Go
Raw Permalink Normal View History

2025-05-27 14:24:25 +02:00
package manager
2025-05-28 09:53:25 +02:00
import (
"net/http"
"github.com/gorilla/mux"
2025-06-06 16:52:02 +02:00
"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"
2025-05-28 09:53:25 +02:00
)
type handler struct {
2025-06-11 13:27:16 +02:00
manager networks.Manager
2025-05-28 09:53:25 +02:00
}
2025-06-11 13:27:16 +02:00
func RegisterEndpoints(router *mux.Router, permissionsManager permissions.Manager, manager networks.Manager) {
h := &handler{
manager: manager,
2025-05-28 09:53:25 +02:00
}
2025-06-11 13:27:16 +02:00
router.HandleFunc("/networks/{id}", permissionsManager.WithPermission(modules.Networks, operations.Write, h.deleteNetwork)).Methods("DELETE", "OPTIONS")
2025-05-28 09:53:25 +02:00
}
2025-06-11 13:27:16 +02:00
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"])
2025-05-28 09:53:25 +02:00
if err != nil {
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
return
}
// _ = json.NewEncoder(w).Encode(users)
}