Merge branch 'feature/add-public-email-to-users-api' into 'master'
Feature/add public email to users api Closes #39346 See merge request gitlab-org/gitlab-ce!21909
This commit is contained in:
commit
d5bce06df1
7 changed files with 103 additions and 65 deletions
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Adds the user's public_email attribute to the API
|
||||
merge_request: 21909
|
||||
author: Alexis Reigel
|
||||
type: added
|
|
@ -46,19 +46,21 @@ Example of response
|
|||
"status": "success",
|
||||
"tag": false,
|
||||
"user": {
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"bio": null,
|
||||
"created_at": "2016-08-11T07:09:20.351Z",
|
||||
"id": 1,
|
||||
"linkedin": "",
|
||||
"location": null,
|
||||
"name": "Administrator",
|
||||
"skype": "",
|
||||
"state": "active",
|
||||
"twitter": "",
|
||||
"username": "root",
|
||||
"web_url": "http://localhost:3000/root",
|
||||
"website_url": ""
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
|
@ -103,19 +105,21 @@ Example of response
|
|||
"status": "success",
|
||||
"tag": false,
|
||||
"user": {
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"bio": null,
|
||||
"created_at": "2016-08-11T07:09:20.351Z",
|
||||
"id": 1,
|
||||
"linkedin": "",
|
||||
"location": null,
|
||||
"name": "Administrator",
|
||||
"skype": "",
|
||||
"state": "active",
|
||||
"twitter": "",
|
||||
"username": "root",
|
||||
"web_url": "http://localhost:3000/root",
|
||||
"website_url": ""
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
|
@ -188,19 +192,20 @@ Example of response
|
|||
"started_at": null,
|
||||
"finished_at": "2016-08-11T11:32:35.145Z",
|
||||
"user": {
|
||||
"id": 1,
|
||||
"name": "Administrator",
|
||||
"username": "root",
|
||||
"id": 1,
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://localhost:3000/root",
|
||||
"created_at": "2016-08-11T07:09:20.351Z",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": ""
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
},
|
||||
"commit": {
|
||||
"id": "a91957a858320c0e17f3a0eca7cfacbff50ea29a",
|
||||
|
|
|
@ -53,18 +53,21 @@ Example of response
|
|||
"tag": false,
|
||||
"web_url": "https://example.com/foo/bar/-/jobs/6",
|
||||
"user": {
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"bio": null,
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"id": 1,
|
||||
"linkedin": "",
|
||||
"name": "Administrator",
|
||||
"skype": "",
|
||||
"state": "active",
|
||||
"twitter": "",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"website_url": ""
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -109,18 +112,21 @@ Example of response
|
|||
"tag": false,
|
||||
"web_url": "https://example.com/foo/bar/-/jobs/7",
|
||||
"user": {
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"bio": null,
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"id": 1,
|
||||
"linkedin": "",
|
||||
"name": "Administrator",
|
||||
"skype": "",
|
||||
"state": "active",
|
||||
"twitter": "",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"website_url": ""
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -180,18 +186,21 @@ Example of response
|
|||
"tag": false,
|
||||
"web_url": "https://example.com/foo/bar/-/jobs/6",
|
||||
"user": {
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"bio": null,
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"id": 1,
|
||||
"linkedin": "",
|
||||
"name": "Administrator",
|
||||
"skype": "",
|
||||
"state": "active",
|
||||
"twitter": "",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"website_url": ""
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -236,18 +245,21 @@ Example of response
|
|||
"tag": false,
|
||||
"web_url": "https://example.com/foo/bar/-/jobs/7",
|
||||
"user": {
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"bio": null,
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"id": 1,
|
||||
"linkedin": "",
|
||||
"name": "Administrator",
|
||||
"skype": "",
|
||||
"state": "active",
|
||||
"twitter": "",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"website_url": ""
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -305,18 +317,21 @@ Example of response
|
|||
"tag": false,
|
||||
"web_url": "https://example.com/foo/bar/-/jobs/8",
|
||||
"user": {
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"bio": null,
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"id": 1,
|
||||
"linkedin": "",
|
||||
"name": "Administrator",
|
||||
"skype": "",
|
||||
"state": "active",
|
||||
"twitter": "",
|
||||
"username": "root",
|
||||
"state": "active",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
||||
"web_url": "http://gitlab.dev/root",
|
||||
"website_url": ""
|
||||
"created_at": "2015-12-21T13:14:24.077Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
@ -27,10 +27,16 @@ Parameters:
|
|||
"web_url": "http://localhost:3000/john_smith",
|
||||
"created_at": "2015-09-03T07:24:01.670Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "john@example.com",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
"website_url": "",
|
||||
"organization": null,
|
||||
"last_sign_in_at": "2015-09-03T07:24:01.670Z",
|
||||
"confirmed_at": "2015-09-03T07:24:01.670Z",
|
||||
"last_activity_on": "2015-09-03",
|
||||
"email": "john@example.com",
|
||||
"theme_id": 2,
|
||||
"color_scheme_id": 1,
|
||||
|
@ -40,6 +46,8 @@ Parameters:
|
|||
"can_create_group": true,
|
||||
"can_create_project": true,
|
||||
"two_factor_enabled": false
|
||||
"external": false,
|
||||
"private_profile": null
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
@ -294,6 +294,7 @@ Example response:
|
|||
"created_at": "2017-11-16T18:38:46.000Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
|
|
|
@ -199,6 +199,7 @@ Parameters:
|
|||
"created_at": "2012-05-23T08:00:58Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "john@example.com",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
|
@ -230,6 +231,7 @@ Parameters:
|
|||
"is_admin": false,
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "john@example.com",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
|
@ -367,6 +369,7 @@ GET /user
|
|||
"created_at": "2012-05-23T08:00:58Z",
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "john@example.com",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
|
@ -415,6 +418,7 @@ GET /user
|
|||
"is_admin": false,
|
||||
"bio": null,
|
||||
"location": null,
|
||||
"public_email": "john@example.com",
|
||||
"skype": "",
|
||||
"linkedin": "",
|
||||
"twitter": "",
|
||||
|
|
|
@ -53,7 +53,7 @@ module API
|
|||
|
||||
class User < UserBasic
|
||||
expose :created_at, if: ->(user, opts) { Ability.allowed?(opts[:current_user], :read_user_profile, user) }
|
||||
expose :bio, :location, :skype, :linkedin, :twitter, :website_url, :organization
|
||||
expose :bio, :location, :public_email, :skype, :linkedin, :twitter, :website_url, :organization
|
||||
end
|
||||
|
||||
class UserActivity < Grape::Entity
|
||||
|
|
Loading…
Reference in a new issue