diff options
author | JoramWilander <jwawilander@gmail.com> | 2015-12-17 12:44:46 -0500 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2015-12-17 12:44:46 -0500 |
commit | a6ae90ac2a74871331707751e823b4746136ff09 (patch) | |
tree | 2651cc8adfeca84a0ee89974ba6c40f167a81123 /model | |
parent | 58358ddd7cd0152bf16a7326e1d595524fb51246 (diff) | |
download | chat-a6ae90ac2a74871331707751e823b4746136ff09.tar.gz chat-a6ae90ac2a74871331707751e823b4746136ff09.tar.bz2 chat-a6ae90ac2a74871331707751e823b4746136ff09.zip |
Add ability to switch between SSO and email account
Diffstat (limited to 'model')
-rw-r--r-- | model/client.go | 18 | ||||
-rw-r--r-- | model/oauth.go | 7 |
2 files changed, 25 insertions, 0 deletions
diff --git a/model/client.go b/model/client.go index d3f76817d..00cc1bdce 100644 --- a/model/client.go +++ b/model/client.go @@ -349,6 +349,24 @@ func (c *Client) GetSessions(id string) (*Result, *AppError) { } } +func (c *Client) SwitchToSSO(m map[string]string) (*Result, *AppError) { + if r, err := c.DoApiPost("/users/switch_to_sso", MapToJson(m)); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil + } +} + +func (c *Client) SwitchToEmail(m map[string]string) (*Result, *AppError) { + if r, err := c.DoApiPost("/users/switch_to_email", MapToJson(m)); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil + } +} + func (c *Client) Command(channelId string, command string, suggest bool) (*Result, *AppError) { m := make(map[string]string) m["command"] = command diff --git a/model/oauth.go b/model/oauth.go index 67825dd97..19f3160fc 100644 --- a/model/oauth.go +++ b/model/oauth.go @@ -10,6 +10,13 @@ import ( "unicode/utf8" ) +const ( + OAUTH_ACTION_SIGNUP = "signup" + OAUTH_ACTION_LOGIN = "login" + OAUTH_ACTION_EMAIL_TO_SSO = "email_to_sso" + OAUTH_ACTION_SSO_TO_EMAIL = "sso_to_email" +) + type OAuthApp struct { Id string `json:"id"` CreatorId string `json:"creator_id"` |