2016-03-06 19:47:39 +08:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/grafana/grafana/pkg/bus"
|
|
|
|
"github.com/grafana/grafana/pkg/middleware"
|
|
|
|
m "github.com/grafana/grafana/pkg/models"
|
|
|
|
)
|
|
|
|
|
|
|
|
// PUT /api/user/prefs
|
|
|
|
func SaveUserPreferences(c *middleware.Context, cmd m.SavePreferencesCommand) Response {
|
|
|
|
|
|
|
|
cmd.PrefId = c.UserId
|
|
|
|
cmd.PrefType = `user`
|
|
|
|
|
|
|
|
if err := bus.Dispatch(&cmd); err != nil {
|
|
|
|
return ApiError(500, "Failed to saved user preferences", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return ApiSuccess("User preferences saved")
|
|
|
|
|
|
|
|
}
|
2016-03-07 03:42:15 +08:00
|
|
|
|
2016-03-07 04:32:22 +08:00
|
|
|
// GET /api/user/prefs
|
|
|
|
func GetUserPreferences(c *middleware.Context) {
|
2016-03-07 03:42:15 +08:00
|
|
|
|
|
|
|
query := m.GetPreferencesQuery{PrefId: c.UserId, PrefType: `user`}
|
|
|
|
|
|
|
|
if err := bus.Dispatch(&query); err != nil {
|
2016-03-07 04:32:22 +08:00
|
|
|
c.JsonApiErr(500, "Failed to get preferences for user", err)
|
2016-03-07 03:42:15 +08:00
|
|
|
}
|
|
|
|
|
2016-03-07 04:32:22 +08:00
|
|
|
dto := m.PreferencesDTO{
|
|
|
|
PrefId: query.Result.PrefId,
|
|
|
|
PrefType: query.Result.PrefType,
|
|
|
|
PrefData: query.Result.PrefData,
|
|
|
|
}
|
|
|
|
|
|
|
|
c.JSON(200, dto)
|
2016-03-07 03:42:15 +08:00
|
|
|
}
|