preferences.go 880 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. // PUT /api/user/prefs
  8. func SaveUserPreferences(c *middleware.Context, cmd m.SavePreferencesCommand) Response {
  9. cmd.PrefId = c.UserId
  10. cmd.PrefType = `user`
  11. if err := bus.Dispatch(&cmd); err != nil {
  12. return ApiError(500, "Failed to saved user preferences", err)
  13. }
  14. return ApiSuccess("User preferences saved")
  15. }
  16. // GET /api/user/prefs
  17. func GetUserPreferences(c *middleware.Context) {
  18. query := m.GetPreferencesQuery{PrefId: c.UserId, PrefType: `user`}
  19. if err := bus.Dispatch(&query); err != nil {
  20. c.JsonApiErr(500, "Failed to get preferences for user", err)
  21. }
  22. dto := m.PreferencesDTO{
  23. PrefId: query.Result.PrefId,
  24. PrefType: query.Result.PrefType,
  25. PrefData: query.Result.PrefData,
  26. }
  27. c.JSON(200, dto)
  28. }