summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-01-04 15:55:51 -0500
committerChristopher Speller <crspeller@gmail.com>2016-01-04 15:55:51 -0500
commit67db3ca8ce5e78ee55c37a3dbfb8e5d44037a324 (patch)
tree6ffac556a09192e7042d7ab2c184382286338c90 /model
parent07efe758609929e662185199e8c5a273b0fb0007 (diff)
parenta6ae90ac2a74871331707751e823b4746136ff09 (diff)
downloadchat-67db3ca8ce5e78ee55c37a3dbfb8e5d44037a324.tar.gz
chat-67db3ca8ce5e78ee55c37a3dbfb8e5d44037a324.tar.bz2
chat-67db3ca8ce5e78ee55c37a3dbfb8e5d44037a324.zip
Merge pull request #1745 from mattermost/plt-1118
PLT-1118 Add ability to switch between SSO and email account
Diffstat (limited to 'model')
-rw-r--r--model/client.go18
-rw-r--r--model/oauth.go7
2 files changed, 25 insertions, 0 deletions
diff --git a/model/client.go b/model/client.go
index b9b97dedc..f1773f3c7 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 448fd9dc9..8336e26ba 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"`