|
|
@@ -3,6 +3,7 @@ package sqlstore
|
|
|
import (
|
|
|
"github.com/grafana/grafana/pkg/bus"
|
|
|
m "github.com/grafana/grafana/pkg/models"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
func init() {
|
|
|
@@ -12,12 +13,12 @@ func init() {
|
|
|
|
|
|
func GetPreferences(query *m.GetPreferencesQuery) error {
|
|
|
|
|
|
- sql := `SELECT * FROM preferences WHERE pref_id = ? ` +
|
|
|
- `AND pref_type = ?`
|
|
|
+ sql := `SELECT * FROM preferences WHERE user_id = ? ` +
|
|
|
+ `AND org_id = ?`
|
|
|
|
|
|
var prefResults = make([]m.Preferences, 0)
|
|
|
|
|
|
- resultsErr := x.Sql(sql, query.PrefId, query.PrefType).Find(&prefResults)
|
|
|
+ resultsErr := x.Sql(sql, query.UserId, query.OrgId).Find(&prefResults)
|
|
|
|
|
|
if resultsErr != nil {
|
|
|
return resultsErr
|
|
|
@@ -35,12 +36,12 @@ func GetPreferences(query *m.GetPreferencesQuery) error {
|
|
|
func SavePreferences(cmd *m.SavePreferencesCommand) error {
|
|
|
return inTransaction2(func(sess *session) error {
|
|
|
|
|
|
- sql := `SELECT * FROM preferences WHERE pref_id = ? ` +
|
|
|
- `AND pref_type = ?`
|
|
|
+ sql := `SELECT * FROM preferences WHERE user_id = ? ` +
|
|
|
+ `AND org_id = ?`
|
|
|
|
|
|
var prefResults = make([]m.Preferences, 0)
|
|
|
|
|
|
- resultsErr := sess.Sql(sql, cmd.PrefId, cmd.PrefType).Find(&prefResults)
|
|
|
+ resultsErr := sess.Sql(sql, cmd.UserId, cmd.OrgId).Find(&prefResults)
|
|
|
|
|
|
if resultsErr != nil {
|
|
|
return resultsErr
|
|
|
@@ -51,13 +52,15 @@ func SavePreferences(cmd *m.SavePreferencesCommand) error {
|
|
|
var saveErr error
|
|
|
|
|
|
if len(prefResults) == 0 {
|
|
|
- savePref.PrefId = cmd.PrefId
|
|
|
- savePref.PrefType = cmd.PrefType
|
|
|
- savePref.PrefData = cmd.PrefData
|
|
|
+ savePref.UserId = cmd.UserId
|
|
|
+ savePref.OrgId = cmd.OrgId
|
|
|
+ savePref.Preference = cmd.Preference
|
|
|
+ savePref = SetPreferencesModel(savePref, false)
|
|
|
affectedRows, saveErr = sess.Insert(&savePref)
|
|
|
} else {
|
|
|
savePref = prefResults[0]
|
|
|
- savePref.PrefData = cmd.PrefData
|
|
|
+ savePref.Preference = cmd.Preference
|
|
|
+ savePref = SetPreferencesModel(savePref, true)
|
|
|
affectedRows, saveErr = sess.Id(savePref.Id).Update(&savePref)
|
|
|
}
|
|
|
|
|
|
@@ -68,3 +71,16 @@ func SavePreferences(cmd *m.SavePreferencesCommand) error {
|
|
|
return saveErr
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+func SetPreferencesModel(pref m.Preferences, updating bool) m.Preferences {
|
|
|
+
|
|
|
+ if updating {
|
|
|
+ pref.Version = pref.Version + 1
|
|
|
+ } else {
|
|
|
+ pref.Version = 0
|
|
|
+ pref.Created = time.Now()
|
|
|
+ }
|
|
|
+ pref.Updated = time.Now()
|
|
|
+
|
|
|
+ return pref
|
|
|
+}
|