summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-08-14 08:43:49 -0400
committerJoramWilander <jwawilander@gmail.com>2015-08-14 12:38:16 -0400
commitb704e9489b21b3bec17f5c8b573a1724781ee6f7 (patch)
tree002f9fb35ce932800160bc45d91a50804bbb6594 /model
parente27db2ed63fd3c9c686c049a9b9049a907985ecc (diff)
downloadchat-b704e9489b21b3bec17f5c8b573a1724781ee6f7.tar.gz
chat-b704e9489b21b3bec17f5c8b573a1724781ee6f7.tar.bz2
chat-b704e9489b21b3bec17f5c8b573a1724781ee6f7.zip
added google sign-in functionality to the client, with minor model modifications
Diffstat (limited to 'model')
-rw-r--r--model/google.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/model/google.go b/model/google.go
index bdb500704..2a1eb3caa 100644
--- a/model/google.go
+++ b/model/google.go
@@ -6,6 +6,7 @@ package model
import (
"encoding/json"
"io"
+ "strings"
)
const (
@@ -13,15 +14,20 @@ const (
)
type GoogleUser struct {
- Id string `json:"id"`
- Nickname string `json:"nickname"`
- Emails []map[string]string `json:"emails"`
- Names map[string]string `json:"name"`
+ Id string `json:"id"`
+ Nickname string `json:"nickname"`
+ DisplayName string `json:"displayName"`
+ Emails []map[string]string `json:"emails"`
+ Names map[string]string `json:"name"`
}
func UserFromGoogleUser(gu *GoogleUser) *User {
user := &User{}
- user.Username = gu.Nickname
+ if len(gu.Nickname) > 0 {
+ user.Username = gu.Nickname
+ } else {
+ user.Username = strings.ToLower(strings.Replace(gu.DisplayName, " ", "", -1))
+ }
user.FirstName = gu.Names["givenName"]
user.LastName = gu.Names["familyName"]
user.Nickname = gu.Nickname