summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-12-17 12:44:46 -0500
committerJoramWilander <jwawilander@gmail.com>2015-12-17 12:44:46 -0500
commita6ae90ac2a74871331707751e823b4746136ff09 (patch)
tree2651cc8adfeca84a0ee89974ba6c40f167a81123 /model
parent58358ddd7cd0152bf16a7326e1d595524fb51246 (diff)
downloadchat-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.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 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"`