summaryrefslogtreecommitdiffstats
path: root/model/user.go
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-08-13 12:03:47 -0400
committerJoramWilander <jwawilander@gmail.com>2015-08-14 12:37:08 -0400
commite27db2ed63fd3c9c686c049a9b9049a907985ecc (patch)
tree701fcc97846e658e34c5d7ffada5b1d51a4920a9 /model/user.go
parentb9aef9f2a6b90663cb7ba4ff9e42560c145b631d (diff)
downloadchat-e27db2ed63fd3c9c686c049a9b9049a907985ecc.tar.gz
chat-e27db2ed63fd3c9c686c049a9b9049a907985ecc.tar.bz2
chat-e27db2ed63fd3c9c686c049a9b9049a907985ecc.zip
initial server implementation for using google as a single-sign-on oauth service
Diffstat (limited to 'model/user.go')
-rw-r--r--model/user.go68
1 files changed, 12 insertions, 56 deletions
diff --git a/model/user.go b/model/user.go
index ed5161538..ebefa4762 100644
--- a/model/user.go
+++ b/model/user.go
@@ -8,24 +8,22 @@ import (
"encoding/json"
"io"
"regexp"
- "strconv"
"strings"
)
const (
- ROLE_ADMIN = "admin"
- ROLE_SYSTEM_ADMIN = "system_admin"
- ROLE_SYSTEM_SUPPORT = "system_support"
- USER_AWAY_TIMEOUT = 5 * 60 * 1000 // 5 minutes
- USER_OFFLINE_TIMEOUT = 1 * 60 * 1000 // 1 minute
- USER_OFFLINE = "offline"
- USER_AWAY = "away"
- USER_ONLINE = "online"
- USER_NOTIFY_ALL = "all"
- USER_NOTIFY_MENTION = "mention"
- USER_NOTIFY_NONE = "none"
- BOT_USERNAME = "valet"
- USER_AUTH_SERVICE_GITLAB = "gitlab"
+ ROLE_ADMIN = "admin"
+ ROLE_SYSTEM_ADMIN = "system_admin"
+ ROLE_SYSTEM_SUPPORT = "system_support"
+ USER_AWAY_TIMEOUT = 5 * 60 * 1000 // 5 minutes
+ USER_OFFLINE_TIMEOUT = 1 * 60 * 1000 // 1 minute
+ USER_OFFLINE = "offline"
+ USER_AWAY = "away"
+ USER_ONLINE = "online"
+ USER_NOTIFY_ALL = "all"
+ USER_NOTIFY_MENTION = "mention"
+ USER_NOTIFY_NONE = "none"
+ BOT_USERNAME = "valet"
)
type User struct {
@@ -54,13 +52,6 @@ type User struct {
FailedAttempts int `json:"failed_attempts"`
}
-type GitLabUser struct {
- Id int64 `json:"id"`
- Username string `json:"username"`
- Email string `json:"email"`
- Name string `json:"name"`
-}
-
// IsValid validates the user and returns an error if it isn't configured
// correctly.
func (u *User) IsValid() *AppError {
@@ -355,38 +346,3 @@ func IsUsernameValid(username string) bool {
return true
}
-
-func UserFromGitLabUser(glu *GitLabUser) *User {
- user := &User{}
- user.Username = glu.Username
- splitName := strings.Split(glu.Name, " ")
- if len(splitName) == 2 {
- user.FirstName = splitName[0]
- user.LastName = splitName[1]
- } else if len(splitName) >= 2 {
- user.FirstName = splitName[0]
- user.LastName = strings.Join(splitName[1:], " ")
- } else {
- user.FirstName = glu.Name
- }
- user.Email = glu.Email
- user.AuthData = strconv.FormatInt(glu.Id, 10)
- user.AuthService = USER_AUTH_SERVICE_GITLAB
-
- return user
-}
-
-func GitLabUserFromJson(data io.Reader) *GitLabUser {
- decoder := json.NewDecoder(data)
- var glu GitLabUser
- err := decoder.Decode(&glu)
- if err == nil {
- return &glu
- } else {
- return nil
- }
-}
-
-func (glu *GitLabUser) GetAuthData() string {
- return strconv.FormatInt(glu.Id, 10)
-}