diff options
Diffstat (limited to 'model')
-rw-r--r-- | model/client.go | 10 | ||||
-rw-r--r-- | model/preference.go | 20 | ||||
-rw-r--r-- | model/preferences.go | 31 |
3 files changed, 36 insertions, 25 deletions
diff --git a/model/client.go b/model/client.go index 892d3e979..304593c5c 100644 --- a/model/client.go +++ b/model/client.go @@ -844,12 +844,12 @@ func (c *Client) ListIncomingWebhooks() (*Result, *AppError) { } } -func (c *Client) SetPreferences(preferences []*Preference) (*Result, *AppError) { - if r, err := c.DoApiPost("/preferences/set", PreferenceListToJson(preferences)); err != nil { +func (c *Client) SetPreferences(preferences *Preferences) (*Result, *AppError) { + if r, err := c.DoApiPost("/preferences/save", preferences.ToJson()); err != nil { return nil, err } else { return &Result{r.Header.Get(HEADER_REQUEST_ID), - r.Header.Get(HEADER_ETAG_SERVER), nil}, nil + r.Header.Get(HEADER_ETAG_SERVER), preferences}, nil } } @@ -857,8 +857,8 @@ func (c *Client) GetPreferencesByName(category string, name string) (*Result, *A if r, err := c.DoApiGet("/preferences/"+category+"/"+name, "", ""); err != nil { return nil, err } else { - return &Result{r.Header.Get(HEADER_REQUEST_ID), - r.Header.Get(HEADER_ETAG_SERVER), PreferenceListFromJson(r.Body)}, nil + preferences, _ := PreferencesFromJson(r.Body) + return &Result{r.Header.Get(HEADER_REQUEST_ID), r.Header.Get(HEADER_ETAG_SERVER), preferences}, nil } } diff --git a/model/preference.go b/model/preference.go index 5a5f0d64e..434f55f40 100644 --- a/model/preference.go +++ b/model/preference.go @@ -32,15 +32,6 @@ func (o *Preference) ToJson() string { } } -func PreferenceListToJson(o []*Preference) string { - b, err := json.Marshal(o) - if err != nil { - return "" - } else { - return string(b) - } -} - func PreferenceFromJson(data io.Reader) *Preference { decoder := json.NewDecoder(data) var o Preference @@ -52,17 +43,6 @@ func PreferenceFromJson(data io.Reader) *Preference { } } -func PreferenceListFromJson(data io.Reader) []*Preference { - decoder := json.NewDecoder(data) - var o []*Preference - err := decoder.Decode(&o) - if err == nil { - return o - } else { - return nil - } -} - func (o *Preference) IsValid() *AppError { if len(o.UserId) != 26 { return NewAppError("Preference.IsValid", "Invalid user id", "user_id="+o.UserId) diff --git a/model/preferences.go b/model/preferences.go new file mode 100644 index 000000000..2c6cbdb98 --- /dev/null +++ b/model/preferences.go @@ -0,0 +1,31 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +package model + +import ( + "encoding/json" + "io" +) + +type Preferences []*Preference + +func (o *Preferences) ToJson() string { + b, err := json.Marshal(o) + if err != nil { + return "" + } else { + return string(b) + } +} + +func PreferencesFromJson(data io.Reader) (Preferences, error) { + decoder := json.NewDecoder(data) + var o Preferences + err := decoder.Decode(&o) + if err == nil { + return o, nil + } else { + return nil, err + } +} |