stars.go 1015 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package api
  2. import (
  3. "github.com/grafana/grafana/pkg/bus"
  4. "github.com/grafana/grafana/pkg/middleware"
  5. m "github.com/grafana/grafana/pkg/models"
  6. )
  7. func StarDashboard(c *middleware.Context) {
  8. if !c.IsSignedIn {
  9. c.JsonApiErr(412, "You need to sign in to star dashboards", nil)
  10. return
  11. }
  12. var cmd = m.StarDashboardCommand{
  13. UserId: c.UserId,
  14. DashboardId: c.ParamsInt64(":id"),
  15. }
  16. if cmd.DashboardId <= 0 {
  17. c.JsonApiErr(400, "Missing dashboard id", nil)
  18. return
  19. }
  20. if err := bus.Dispatch(&cmd); err != nil {
  21. c.JsonApiErr(500, "Failed to star dashboard", err)
  22. return
  23. }
  24. c.JsonOK("Dashboard starred!")
  25. }
  26. func UnstarDashboard(c *middleware.Context) {
  27. var cmd = m.UnstarDashboardCommand{
  28. UserId: c.UserId,
  29. DashboardId: c.ParamsInt64(":id"),
  30. }
  31. if cmd.DashboardId <= 0 {
  32. c.JsonApiErr(400, "Missing dashboard id", nil)
  33. return
  34. }
  35. if err := bus.Dispatch(&cmd); err != nil {
  36. c.JsonApiErr(500, "Failed to unstar dashboard", err)
  37. return
  38. }
  39. c.JsonOK("Dashboard unstarred")
  40. }