Made structural changes to server-side Preference code based on feedback
Этот коммит содержится в:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
31
model/preferences.go
Обычный файл
31
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
|
||||
}
|
||||
}
|
||||
Ссылка в новой задаче
Block a user