legacy.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package controller
  2. import (
  3. "net/http"
  4. "github.com/gorilla/mux"
  5. "github.com/gravitl/netmaker/logger"
  6. "github.com/gravitl/netmaker/logic"
  7. )
  8. func legacyHandlers(r *mux.Router) {
  9. r.HandleFunc("/api/v1/legacy/nodes", logic.SecurityCheck(true, http.HandlerFunc(wipeLegacyNodes))).
  10. Methods(http.MethodDelete)
  11. r.HandleFunc("/api/nodes/{network}/{nodeid}/inet_gw", logic.SecurityCheck(true, http.HandlerFunc(createInternetGw))).
  12. Methods(http.MethodPost)
  13. r.HandleFunc("/api/nodes/{network}/{nodeid}/inet_gw", logic.SecurityCheck(true, http.HandlerFunc(updateInternetGw))).
  14. Methods(http.MethodPut)
  15. r.HandleFunc("/api/nodes/{network}/{nodeid}/inet_gw", logic.SecurityCheck(true, http.HandlerFunc(deleteInternetGw))).
  16. Methods(http.MethodDelete)
  17. }
  18. // @Summary Delete all legacy nodes from DB.
  19. // @Router /api/v1/legacy/nodes [delete]
  20. // @Tags Nodes
  21. // @Security oauth2
  22. // @Success 200 {string} string "Wiped all legacy nodes."
  23. // @Failure 400 {object} models.ErrorResponse
  24. func wipeLegacyNodes(w http.ResponseWriter, r *http.Request) {
  25. // Set header
  26. w.Header().Set("Content-Type", "application/json")
  27. if err := logic.RemoveAllLegacyNodes(); err != nil {
  28. logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
  29. logger.Log(0, "error occurred when removing legacy nodes", err.Error())
  30. }
  31. logger.Log(0, r.Header.Get("user"), "wiped legacy nodes")
  32. logic.ReturnSuccessResponse(w, r, "wiped all legacy nodes")
  33. }