2016-12-07 23:18:04 +00:00
|
|
|
package server
|
|
|
|
|
|
|
|
import "net/http"
|
|
|
|
|
2016-12-08 00:31:22 +00:00
|
|
|
type dashboardLinks struct {
|
|
|
|
Self string `json:"self"` // Self link mapping to this resource
|
|
|
|
}
|
|
|
|
|
|
|
|
type dashboardResponse struct {
|
|
|
|
*chronograf.Dashboard
|
|
|
|
Links dashboardLinks `json:"links"`
|
|
|
|
}
|
|
|
|
|
2016-12-14 06:57:52 +00:00
|
|
|
type getDashboardsResponse struct {
|
|
|
|
Dashboards []ldashboardResponse `json:"dashboards"`
|
|
|
|
}
|
|
|
|
|
2016-12-08 00:31:22 +00:00
|
|
|
func newDashboardResponse(d *chronograf.Dashboard) dashboardResponse {
|
|
|
|
base := "/chronograf/v1/dashboards"
|
|
|
|
return dashboardResponse{
|
|
|
|
Dashboard: d,
|
|
|
|
Links: dashboardLinks{
|
|
|
|
Self: fmt.Sprintf("%s/%d", base, d.ID),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-12-07 23:18:04 +00:00
|
|
|
// Dashboards returns all dashboards within the store
|
|
|
|
func (s *Service) Dashboards(w http.ResponseWriter, r *http.Request) {
|
2016-12-14 06:57:52 +00:00
|
|
|
dashboards, err := s.DashboardsStore.All(ctx)
|
|
|
|
if err != nil {
|
|
|
|
Error(w, http.StatusInternalServerError, "Error loading layouts", s.Logger)
|
|
|
|
return
|
|
|
|
}
|
2016-12-07 23:18:04 +00:00
|
|
|
|
2016-12-14 06:57:52 +00:00
|
|
|
encodeJSON(w, http.StatusOK, getDashboardsResponse{Dashboards: []dashboardResponse{}}, s.Logger)
|
2016-12-07 23:18:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// DashboardID returns a single specified dashboard
|
|
|
|
func (s *Service) DashboardID(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewDashboard creates and returns a new dashboard object
|
|
|
|
func (s *Service) NewDashboard(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// RemoveDashboard deletes a dashboard
|
|
|
|
func (s *Service) RemoveDashboard(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateDashboard updates a dashboard
|
|
|
|
func (s *Service) UpdateDashboard(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
|
|
}
|