mirror of
https://github.com/netbirdio/management-refactor.git
synced 2026-05-22 17:12:59 -07:00
35 lines
1.1 KiB
Go
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)
|
|
}
|