-
![]()
+
{{ user.login }} Admin
diff --git a/doc/samples/user.json b/doc/samples/user.json
index d9b33dd48..7f0a7eed1 100644
--- a/doc/samples/user.json
+++ b/doc/samples/user.json
@@ -1,7 +1,7 @@
{
"name": "Octocat",
"email": "octocat@github.com",
- "gravatar_id": "7194e8d48fa1d2b689f99443b767316c",
+ "avatar": "https://www.gravatar.com/avatar/7194e8d48fa1d2b689f99443b767316c",
"admin": false,
"active": true
}
diff --git a/doc/samples/users.json b/doc/samples/users.json
index 1725214df..4f6f339f3 100644
--- a/doc/samples/users.json
+++ b/doc/samples/users.json
@@ -2,7 +2,7 @@
{
"name": "Octocat",
"email": "octocat@github.com",
- "gravatar_id": "7194e8d48fa1d2b689f99443b767316c",
+ "avatar": "https://www.gravatar.com/avatar/7194e8d48fa1d2b689f99443b767316c",
"admin": false,
"active": true
}
diff --git a/doc/swagger.yml b/doc/swagger.yml
index db54008a6..4d443ebee 100644
--- a/doc/swagger.yml
+++ b/doc/swagger.yml
@@ -769,7 +769,7 @@ definitions:
type: string
email:
type: string
- gravatar_id:
+ avatar:
type: string
admin:
type: boolean
diff --git a/pkg/remote/builtin/github/github.go b/pkg/remote/builtin/github/github.go
index 796619ce6..a656550e2 100644
--- a/pkg/remote/builtin/github/github.go
+++ b/pkg/remote/builtin/github/github.go
@@ -80,6 +80,7 @@ func (g *GitHub) Login(token, secret string) (*common.User, error) {
user.Email = *login.Email
user.Token = token
user.Secret = secret
+ user.Avatar = *login.AvatarURL
return &user, nil
}
diff --git a/pkg/server/login.go b/pkg/server/login.go
index 366ed5605..a85a668c3 100644
--- a/pkg/server/login.go
+++ b/pkg/server/login.go
@@ -81,7 +81,13 @@ func GetLogin(c *gin.Context) {
u.Token = login.Token
u.Secret = login.Secret
u.Email = login.Email
- u.Avatar = gravatar.Hash(u.Email)
+ u.Avatar = login.Avatar
+
+ // TODO: remove this once gitlab implements setting
+ // avatar in the remote package, similar to github
+ if len(u.Avatar) == 0 {
+ u.Avatar = gravatar.Hash(u.Email)
+ }
// insert the user into the database
if err := store.AddUser(u); err != nil {
@@ -102,7 +108,13 @@ func GetLogin(c *gin.Context) {
u.Token = login.Token
u.Secret = login.Secret
u.Email = login.Email
- u.Avatar = gravatar.Hash(u.Email)
+ u.Avatar = login.Avatar
+
+ // TODO: remove this once gitlab implements setting
+ // avatar in the remote package, similar to github
+ if len(u.Avatar) == 0 {
+ u.Avatar = gravatar.Hash(u.Email)
+ }
if err := store.SetUser(u); err != nil {
log.Errorf("cannot update %s. %s", u.Login, err)
diff --git a/pkg/server/user.go b/pkg/server/user.go
index 9b20157bc..67d4d4787 100644
--- a/pkg/server/user.go
+++ b/pkg/server/user.go
@@ -31,6 +31,7 @@ func PutUserCurr(c *gin.Context) {
if !c.BindWith(in, binding.JSON) {
return
}
+ // TODO: we are no longer auto-generating avatar
user.Email = in.Email
user.Avatar = gravatar.Hash(in.Email)
err := store.SetUser(user)
diff --git a/pkg/types/user.go b/pkg/types/user.go
index 41ea7402b..4ba79597c 100644
--- a/pkg/types/user.go
+++ b/pkg/types/user.go
@@ -1,12 +1,12 @@
package types
type User struct {
- ID int64 `meddler:"user_id,pk" json:"id"`
- Login string `meddler:"user_login" json:"login,omitempty" sql:"unique:ux_user_login"`
- Token string `meddler:"user_token" json:"-"`
- Secret string `meddler:"user_secret" json:"-"`
- Email string `meddler:"user_email" json:"email,omitempty"`
- Avatar string `meddler:"user_gravatar" json:"gravatar_id,omitempty"`
- Active bool `meddler:"user_active" json:"active,omitempty"`
- Admin bool `meddler:"user_admin" json:"admin,omitempty"`
+ ID int64 `json:"id"`
+ Login string `json:"login,omitempty" sql:"unique:ux_user_login"`
+ Token string `json:"-"`
+ Secret string `json:"-"`
+ Email string `json:"email,omitempty"`
+ Avatar string `json:"avatar,omitempty"`
+ Active bool `json:"active,omitempty"`
+ Admin bool `json:"admin,omitempty"`
}