mirror of https://github.com/portainer/portainer
feat(core/support): remove support related API route
parent
bd0d1c25fa
commit
9733d32551
|
@ -23,7 +23,6 @@ import (
|
||||||
"github.com/portainer/portainer/api/http/handler/settings"
|
"github.com/portainer/portainer/api/http/handler/settings"
|
||||||
"github.com/portainer/portainer/api/http/handler/stacks"
|
"github.com/portainer/portainer/api/http/handler/stacks"
|
||||||
"github.com/portainer/portainer/api/http/handler/status"
|
"github.com/portainer/portainer/api/http/handler/status"
|
||||||
"github.com/portainer/portainer/api/http/handler/support"
|
|
||||||
"github.com/portainer/portainer/api/http/handler/tags"
|
"github.com/portainer/portainer/api/http/handler/tags"
|
||||||
"github.com/portainer/portainer/api/http/handler/teammemberships"
|
"github.com/portainer/portainer/api/http/handler/teammemberships"
|
||||||
"github.com/portainer/portainer/api/http/handler/teams"
|
"github.com/portainer/portainer/api/http/handler/teams"
|
||||||
|
@ -55,7 +54,6 @@ type Handler struct {
|
||||||
SettingsHandler *settings.Handler
|
SettingsHandler *settings.Handler
|
||||||
StackHandler *stacks.Handler
|
StackHandler *stacks.Handler
|
||||||
StatusHandler *status.Handler
|
StatusHandler *status.Handler
|
||||||
SupportHandler *support.Handler
|
|
||||||
TagHandler *tags.Handler
|
TagHandler *tags.Handler
|
||||||
TeamMembershipHandler *teammemberships.Handler
|
TeamMembershipHandler *teammemberships.Handler
|
||||||
TeamHandler *teams.Handler
|
TeamHandler *teams.Handler
|
||||||
|
@ -116,8 +114,6 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
http.StripPrefix("/api", h.StackHandler).ServeHTTP(w, r)
|
http.StripPrefix("/api", h.StackHandler).ServeHTTP(w, r)
|
||||||
case strings.HasPrefix(r.URL.Path, "/api/status"):
|
case strings.HasPrefix(r.URL.Path, "/api/status"):
|
||||||
http.StripPrefix("/api", h.StatusHandler).ServeHTTP(w, r)
|
http.StripPrefix("/api", h.StatusHandler).ServeHTTP(w, r)
|
||||||
case strings.HasPrefix(r.URL.Path, "/api/support"):
|
|
||||||
http.StripPrefix("/api", h.SupportHandler).ServeHTTP(w, r)
|
|
||||||
case strings.HasPrefix(r.URL.Path, "/api/tags"):
|
case strings.HasPrefix(r.URL.Path, "/api/tags"):
|
||||||
http.StripPrefix("/api", h.TagHandler).ServeHTTP(w, r)
|
http.StripPrefix("/api", h.TagHandler).ServeHTTP(w, r)
|
||||||
case strings.HasPrefix(r.URL.Path, "/api/templates"):
|
case strings.HasPrefix(r.URL.Path, "/api/templates"):
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
package support
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
httperror "github.com/portainer/libhttp/error"
|
|
||||||
|
|
||||||
"github.com/gorilla/mux"
|
|
||||||
"github.com/portainer/portainer/api/http/security"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Handler is the HTTP handler used to handle support operations.
|
|
||||||
type Handler struct {
|
|
||||||
*mux.Router
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewHandler returns a new Handler
|
|
||||||
func NewHandler(bouncer *security.RequestBouncer) *Handler {
|
|
||||||
h := &Handler{
|
|
||||||
Router: mux.NewRouter(),
|
|
||||||
}
|
|
||||||
h.Handle("/support",
|
|
||||||
bouncer.AuthenticatedAccess(httperror.LoggerHandler(h.supportList))).Methods(http.MethodGet)
|
|
||||||
|
|
||||||
return h
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
package support
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
|
|
||||||
httperror "github.com/portainer/libhttp/error"
|
|
||||||
portainer "github.com/portainer/portainer/api"
|
|
||||||
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/portainer/portainer/api/http/client"
|
|
||||||
|
|
||||||
"github.com/portainer/libhttp/response"
|
|
||||||
)
|
|
||||||
|
|
||||||
type supportProduct struct {
|
|
||||||
ID int `json:"Id"`
|
|
||||||
Name string `json:"Name"`
|
|
||||||
ShortDescription string `json:"ShortDescription"`
|
|
||||||
Price string `json:"Price"`
|
|
||||||
PriceDescription string `json:"PriceDescription"`
|
|
||||||
Description string `json:"Description"`
|
|
||||||
ProductID string `json:"ProductId"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (handler *Handler) supportList(w http.ResponseWriter, r *http.Request) *httperror.HandlerError {
|
|
||||||
supportData, err := client.Get(portainer.SupportProductsURL, 30)
|
|
||||||
if err != nil {
|
|
||||||
return &httperror.HandlerError{http.StatusInternalServerError, "Unable to fetch support options", err}
|
|
||||||
}
|
|
||||||
|
|
||||||
var supportProducts []supportProduct
|
|
||||||
err = json.Unmarshal(supportData, &supportProducts)
|
|
||||||
if err != nil {
|
|
||||||
return &httperror.HandlerError{http.StatusInternalServerError, "Unable to fetch support options", err}
|
|
||||||
}
|
|
||||||
|
|
||||||
return response.JSON(w, supportProducts)
|
|
||||||
}
|
|
|
@ -28,7 +28,6 @@ import (
|
||||||
"github.com/portainer/portainer/api/http/handler/settings"
|
"github.com/portainer/portainer/api/http/handler/settings"
|
||||||
"github.com/portainer/portainer/api/http/handler/stacks"
|
"github.com/portainer/portainer/api/http/handler/stacks"
|
||||||
"github.com/portainer/portainer/api/http/handler/status"
|
"github.com/portainer/portainer/api/http/handler/status"
|
||||||
"github.com/portainer/portainer/api/http/handler/support"
|
|
||||||
"github.com/portainer/portainer/api/http/handler/tags"
|
"github.com/portainer/portainer/api/http/handler/tags"
|
||||||
"github.com/portainer/portainer/api/http/handler/teammemberships"
|
"github.com/portainer/portainer/api/http/handler/teammemberships"
|
||||||
"github.com/portainer/portainer/api/http/handler/teams"
|
"github.com/portainer/portainer/api/http/handler/teams"
|
||||||
|
@ -173,8 +172,6 @@ func (server *Server) Start() error {
|
||||||
|
|
||||||
var statusHandler = status.NewHandler(requestBouncer, server.Status)
|
var statusHandler = status.NewHandler(requestBouncer, server.Status)
|
||||||
|
|
||||||
var supportHandler = support.NewHandler(requestBouncer)
|
|
||||||
|
|
||||||
var templatesHandler = templates.NewHandler(requestBouncer)
|
var templatesHandler = templates.NewHandler(requestBouncer)
|
||||||
templatesHandler.DataStore = server.DataStore
|
templatesHandler.DataStore = server.DataStore
|
||||||
templatesHandler.FileService = server.FileService
|
templatesHandler.FileService = server.FileService
|
||||||
|
@ -217,7 +214,6 @@ func (server *Server) Start() error {
|
||||||
SettingsHandler: settingsHandler,
|
SettingsHandler: settingsHandler,
|
||||||
StatusHandler: statusHandler,
|
StatusHandler: statusHandler,
|
||||||
StackHandler: stackHandler,
|
StackHandler: stackHandler,
|
||||||
SupportHandler: supportHandler,
|
|
||||||
TagHandler: tagHandler,
|
TagHandler: tagHandler,
|
||||||
TeamHandler: teamHandler,
|
TeamHandler: teamHandler,
|
||||||
TeamMembershipHandler: teamMembershipHandler,
|
TeamMembershipHandler: teamMembershipHandler,
|
||||||
|
|
|
@ -1123,8 +1123,6 @@ const (
|
||||||
MessageOfTheDayURL = AssetsServerURL + "/motd.json"
|
MessageOfTheDayURL = AssetsServerURL + "/motd.json"
|
||||||
// VersionCheckURL represents the URL used to retrieve the latest version of Portainer
|
// VersionCheckURL represents the URL used to retrieve the latest version of Portainer
|
||||||
VersionCheckURL = "https://api.github.com/repos/portainer/portainer/releases/latest"
|
VersionCheckURL = "https://api.github.com/repos/portainer/portainer/releases/latest"
|
||||||
// SupportProductsURL represents the URL where Portainer support products can be retrieved
|
|
||||||
SupportProductsURL = AssetsServerURL + "/support.json"
|
|
||||||
// PortainerAgentHeader represents the name of the header available in any agent response
|
// PortainerAgentHeader represents the name of the header available in any agent response
|
||||||
PortainerAgentHeader = "Portainer-Agent"
|
PortainerAgentHeader = "Portainer-Agent"
|
||||||
// PortainerAgentEdgeIDHeader represent the name of the header containing the Edge ID associated to an agent/agent cluster
|
// PortainerAgentEdgeIDHeader represent the name of the header containing the Edge ID associated to an agent/agent cluster
|
||||||
|
|
Loading…
Reference in New Issue