From a087403e9f25373d5bdea5e10fafb0c5d496a703 Mon Sep 17 00:00:00 2001 From: hmhealey Date: Thu, 1 Oct 2015 15:22:04 -0400 Subject: Added api to get and set preferences --- model/client.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'model/client.go') diff --git a/model/client.go b/model/client.go index 11beb9a87..892d3e979 100644 --- a/model/client.go +++ b/model/client.go @@ -844,6 +844,24 @@ 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 { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), nil}, nil + } +} + +func (c *Client) GetPreferencesByName(category string, name string) (*Result, *AppError) { + 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 + } +} + func (c *Client) MockSession(sessionToken string) { c.AuthToken = sessionToken c.AuthType = HEADER_BEARER -- cgit v1.2.3-1-g7c22 From 5cecf1afcd1d8e561a5b2d840e5bd1b588a74a27 Mon Sep 17 00:00:00 2001 From: hmhealey Date: Fri, 9 Oct 2015 13:47:11 -0400 Subject: Made structural changes to server-side Preference code based on feedback --- model/client.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'model/client.go') 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 } } -- cgit v1.2.3-1-g7c22 From 2a39e8dbfab8506b09d0d030f87cac4c079b975a Mon Sep 17 00:00:00 2001 From: hmhealey Date: Tue, 13 Oct 2015 11:52:17 -0400 Subject: Removed Preference.AltId --- model/client.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'model/client.go') diff --git a/model/client.go b/model/client.go index 304593c5c..77b0aaad2 100644 --- a/model/client.go +++ b/model/client.go @@ -853,9 +853,17 @@ func (c *Client) SetPreferences(preferences *Preferences) (*Result, *AppError) { } } -func (c *Client) GetPreferencesByName(category string, name string) (*Result, *AppError) { +func (c *Client) GetPreference(category string, name string) (*Result, *AppError) { 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), PreferenceFromJson(r.Body)}, nil + } +} + +func (c *Client) GetPreferenceCategory(category string) (*Result, *AppError) { + if r, err := c.DoApiGet("/preferences/"+category, "", ""); err != nil { + return nil, err } else { preferences, _ := PreferencesFromJson(r.Body) return &Result{r.Header.Get(HEADER_REQUEST_ID), r.Header.Get(HEADER_ETAG_SERVER), preferences}, nil -- cgit v1.2.3-1-g7c22