Files
ClusterCanvas/service/internal/api/action_widgets_handlers.go
T

27 lines
666 B
Go

package api
import (
"net/http"
"codeberg.org/SquidSE/ClusterCanvas/service/internal/settings"
)
type actionWidgetsResponse struct {
Widgets []settings.ActionWidgetSnapshot `json:"widgets"`
}
func (app *App) actionWidgetsListHandler(writer http.ResponseWriter, request *http.Request) {
node, ok := app.loadAccessibleNode(writer, request)
if !ok {
return
}
store, err := settings.LoadActionWidgetsOrEmpty(app.ConfigDir)
if err != nil {
writeJSON(writer, http.StatusInternalServerError, apiErrorResponse{Error: err.Error()})
return
}
writeJSON(writer, http.StatusOK, actionWidgetsResponse{
Widgets: settings.WidgetsForNode(store, node.ID),
})
}