2015-02-02 18:32:32 +08:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
2015-02-05 17:37:13 +08:00
|
|
|
"github.com/grafana/grafana/pkg/bus"
|
|
|
|
m "github.com/grafana/grafana/pkg/models"
|
2015-02-02 18:32:32 +08:00
|
|
|
)
|
|
|
|
|
2018-03-08 00:54:50 +08:00
|
|
|
func StarDashboard(c *m.ReqContext) Response {
|
2015-05-13 15:58:45 +08:00
|
|
|
if !c.IsSignedIn {
|
2018-03-23 05:13:46 +08:00
|
|
|
return Error(412, "You need to sign in to star dashboards", nil)
|
2015-05-13 15:58:45 +08:00
|
|
|
}
|
|
|
|
|
2015-05-20 20:59:38 +08:00
|
|
|
cmd := m.StarDashboardCommand{UserId: c.UserId, DashboardId: c.ParamsInt64(":id")}
|
2015-02-02 18:32:32 +08:00
|
|
|
|
|
|
|
if cmd.DashboardId <= 0 {
|
2018-03-23 05:13:46 +08:00
|
|
|
return Error(400, "Missing dashboard id", nil)
|
2015-02-02 18:32:32 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
if err := bus.Dispatch(&cmd); err != nil {
|
2018-03-23 05:13:46 +08:00
|
|
|
return Error(500, "Failed to star dashboard", err)
|
2015-02-02 18:32:32 +08:00
|
|
|
}
|
|
|
|
|
2018-03-23 05:13:46 +08:00
|
|
|
return Success("Dashboard starred!")
|
2015-02-02 18:32:32 +08:00
|
|
|
}
|
|
|
|
|
2018-03-08 00:54:50 +08:00
|
|
|
func UnstarDashboard(c *m.ReqContext) Response {
|
2015-05-20 20:59:38 +08:00
|
|
|
|
|
|
|
cmd := m.UnstarDashboardCommand{UserId: c.UserId, DashboardId: c.ParamsInt64(":id")}
|
2015-02-02 18:32:32 +08:00
|
|
|
|
|
|
|
if cmd.DashboardId <= 0 {
|
2018-03-23 05:13:46 +08:00
|
|
|
return Error(400, "Missing dashboard id", nil)
|
2015-02-02 18:32:32 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
if err := bus.Dispatch(&cmd); err != nil {
|
2018-03-23 05:13:46 +08:00
|
|
|
return Error(500, "Failed to unstar dashboard", err)
|
2015-02-02 18:32:32 +08:00
|
|
|
}
|
|
|
|
|
2018-03-23 05:13:46 +08:00
|
|
|
return Success("Dashboard unstarred")
|
2015-02-02 18:32:32 +08:00
|
|
|
}
|