Commit 285172c3 authored by Robert Speicher's avatar Robert Speicher

Merge branch 'dz-rename-user-routes' into 'master'

Rename users routing from /u/:username to /users/:username for
consistency with other routes

Renames /u/:username to /users/:username

To follow consistency with other routes (like groups) and
UsersController name.
Now when you can use `/:username` for accessing user page there is no
need in shortcut like `/u/`

See merge request !6851
parents 11485c5a a5f5c025
...@@ -91,7 +91,7 @@ Please view this file on the master branch, on stable branches it's out of date. ...@@ -91,7 +91,7 @@ Please view this file on the master branch, on stable branches it's out of date.
- Replace bootstrap caret with fontawesome caret (ClemMakesApps) - Replace bootstrap caret with fontawesome caret (ClemMakesApps)
- Fix unnecessary escaping of reserved HTML characters in milestone title. !6533 - Fix unnecessary escaping of reserved HTML characters in milestone title. !6533
- Add organization field to user profile - Add organization field to user profile
- Ignore deployment for statistics in Cycle Analytics, except in staging and production stages - Change user pages routing from /u/:username/PATH to /users/:username/PATH. Old routes will redirect to the new ones for the time being.
- Fix enter key when navigating search site search dropdown. !6643 (Brennan Roberts) - Fix enter key when navigating search site search dropdown. !6643 (Brennan Roberts)
- Fix deploy status responsiveness error !6633 - Fix deploy status responsiveness error !6633
- Make searching for commits case insensitive - Make searching for commits case insensitive
......
require 'constraints/user_url_constrainer' require 'constraints/user_url_constrainer'
get '/u/:username', to: redirect('/%{username}'),
constraints: { username: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ }
devise_for :users, controllers: { omniauth_callbacks: :omniauth_callbacks, devise_for :users, controllers: { omniauth_callbacks: :omniauth_callbacks,
registrations: :registrations, registrations: :registrations,
passwords: :passwords, passwords: :passwords,
...@@ -23,7 +20,7 @@ constraints(UserUrlConstrainer.new) do ...@@ -23,7 +20,7 @@ constraints(UserUrlConstrainer.new) do
end end
end end
scope(path: 'u/:username', scope(path: 'users/:username',
as: :user, as: :user,
constraints: { username: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ }, constraints: { username: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ },
controller: :users) do controller: :users) do
...@@ -36,3 +33,12 @@ scope(path: 'u/:username', ...@@ -36,3 +33,12 @@ scope(path: 'u/:username',
get :exists get :exists
get '/', to: redirect('/%{username}') get '/', to: redirect('/%{username}')
end end
# Compatibility with old routing
# TODO (dzaporozhets): remove in 10.0
get '/u/:username', to: redirect('/%{username}'), constraints: { username: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ }
# TODO (dzaporozhets): remove in 9.0
get '/u/:username/groups', to: redirect('/users/%{username}/groups'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
get '/u/:username/projects', to: redirect('/users/%{username}/projects'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
get '/u/:username/snippets', to: redirect('/users/%{username}/snippets'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
get '/u/:username/contributed', to: redirect('/users/%{username}/contributed'), constraints: { username: /[a-zA-Z.0-9_\-]+/ }
...@@ -43,7 +43,7 @@ Example Response: ...@@ -43,7 +43,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/root" "web_url": "http://gitlab.example.com/root"
}, },
"created_at": "2016-06-15T10:09:34.206Z", "created_at": "2016-06-15T10:09:34.206Z",
"updated_at": "2016-06-15T10:09:34.206Z", "updated_at": "2016-06-15T10:09:34.206Z",
...@@ -59,7 +59,7 @@ Example Response: ...@@ -59,7 +59,7 @@ Example Response:
"id": 26, "id": 26,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/user4" "web_url": "http://gitlab.example.com/user4"
}, },
"created_at": "2016-06-15T10:09:34.177Z", "created_at": "2016-06-15T10:09:34.177Z",
"updated_at": "2016-06-15T10:09:34.177Z", "updated_at": "2016-06-15T10:09:34.177Z",
...@@ -103,7 +103,7 @@ Example Response: ...@@ -103,7 +103,7 @@ Example Response:
"id": 26, "id": 26,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/user4" "web_url": "http://gitlab.example.com/user4"
}, },
"created_at": "2016-06-15T10:09:34.177Z", "created_at": "2016-06-15T10:09:34.177Z",
"updated_at": "2016-06-15T10:09:34.177Z", "updated_at": "2016-06-15T10:09:34.177Z",
...@@ -146,7 +146,7 @@ Example Response: ...@@ -146,7 +146,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/root" "web_url": "http://gitlab.example.com/root"
}, },
"created_at": "2016-06-17T17:47:29.266Z", "created_at": "2016-06-17T17:47:29.266Z",
"updated_at": "2016-06-17T17:47:29.266Z", "updated_at": "2016-06-17T17:47:29.266Z",
...@@ -190,7 +190,7 @@ Example Response: ...@@ -190,7 +190,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/root" "web_url": "http://gitlab.example.com/root"
}, },
"created_at": "2016-06-17T17:47:29.266Z", "created_at": "2016-06-17T17:47:29.266Z",
"updated_at": "2016-06-17T17:47:29.266Z", "updated_at": "2016-06-17T17:47:29.266Z",
...@@ -238,7 +238,7 @@ Example Response: ...@@ -238,7 +238,7 @@ Example Response:
"id": 26, "id": 26,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/user4" "web_url": "http://gitlab.example.com/user4"
}, },
"created_at": "2016-06-15T10:09:34.197Z", "created_at": "2016-06-15T10:09:34.197Z",
"updated_at": "2016-06-15T10:09:34.197Z", "updated_at": "2016-06-15T10:09:34.197Z",
...@@ -279,7 +279,7 @@ Example Response: ...@@ -279,7 +279,7 @@ Example Response:
"id": 26, "id": 26,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/user4" "web_url": "http://gitlab.example.com/user4"
}, },
"created_at": "2016-06-15T10:09:34.197Z", "created_at": "2016-06-15T10:09:34.197Z",
"updated_at": "2016-06-15T10:09:34.197Z", "updated_at": "2016-06-15T10:09:34.197Z",
...@@ -319,7 +319,7 @@ Example Response: ...@@ -319,7 +319,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/root" "web_url": "http://gitlab.example.com/root"
}, },
"created_at": "2016-06-17T19:59:55.888Z", "created_at": "2016-06-17T19:59:55.888Z",
"updated_at": "2016-06-17T19:59:55.888Z", "updated_at": "2016-06-17T19:59:55.888Z",
...@@ -362,7 +362,7 @@ Example Response: ...@@ -362,7 +362,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/u/root" "web_url": "http://gitlab.example.com/root"
}, },
"created_at": "2016-06-17T19:59:55.888Z", "created_at": "2016-06-17T19:59:55.888Z",
"updated_at": "2016-06-17T19:59:55.888Z", "updated_at": "2016-06-17T19:59:55.888Z",
......
...@@ -64,7 +64,7 @@ Example of response ...@@ -64,7 +64,7 @@ Example of response
"state": "active", "state": "active",
"twitter": "", "twitter": "",
"username": "root", "username": "root",
"web_url": "http://gitlab.dev/u/root", "web_url": "http://gitlab.dev/root",
"website_url": "" "website_url": ""
} }
}, },
...@@ -108,7 +108,7 @@ Example of response ...@@ -108,7 +108,7 @@ Example of response
"state": "active", "state": "active",
"twitter": "", "twitter": "",
"username": "root", "username": "root",
"web_url": "http://gitlab.dev/u/root", "web_url": "http://gitlab.dev/root",
"website_url": "" "website_url": ""
} }
} }
...@@ -212,7 +212,7 @@ Example of response ...@@ -212,7 +212,7 @@ Example of response
"state": "active", "state": "active",
"twitter": "", "twitter": "",
"username": "root", "username": "root",
"web_url": "http://gitlab.dev/u/root", "web_url": "http://gitlab.dev/root",
"website_url": "" "website_url": ""
} }
} }
...@@ -279,7 +279,7 @@ Example of response ...@@ -279,7 +279,7 @@ Example of response
"state": "active", "state": "active",
"twitter": "", "twitter": "",
"username": "root", "username": "root",
"web_url": "http://gitlab.dev/u/root", "web_url": "http://gitlab.dev/root",
"website_url": "" "website_url": ""
} }
} }
......
...@@ -288,7 +288,7 @@ Example response: ...@@ -288,7 +288,7 @@ Example response:
```json ```json
{ {
"author" : { "author" : {
"web_url" : "https://gitlab.example.com/u/thedude", "web_url" : "https://gitlab.example.com/thedude",
"avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png",
"username" : "thedude", "username" : "thedude",
"state" : "active", "state" : "active",
...@@ -343,7 +343,7 @@ Example response: ...@@ -343,7 +343,7 @@ Example response:
"author" : { "author" : {
"username" : "thedude", "username" : "thedude",
"state" : "active", "state" : "active",
"web_url" : "https://gitlab.example.com/u/thedude", "web_url" : "https://gitlab.example.com/thedude",
"avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png",
"id" : 28, "id" : 28,
"name" : "Jeff Lebowski" "name" : "Jeff Lebowski"
...@@ -370,7 +370,7 @@ Example response: ...@@ -370,7 +370,7 @@ Example response:
"id" : 28, "id" : 28,
"name" : "Jeff Lebowski", "name" : "Jeff Lebowski",
"username" : "thedude", "username" : "thedude",
"web_url" : "https://gitlab.example.com/u/thedude", "web_url" : "https://gitlab.example.com/thedude",
"state" : "active", "state" : "active",
"avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png" "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png"
}, },
...@@ -408,7 +408,7 @@ Example response: ...@@ -408,7 +408,7 @@ Example response:
```json ```json
{ {
"author" : { "author" : {
"web_url" : "https://gitlab.example.com/u/thedude", "web_url" : "https://gitlab.example.com/thedude",
"name" : "Jeff Lebowski", "name" : "Jeff Lebowski",
"avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png", "avatar_url" : "https://gitlab.example.com/uploads/user/avatar/28/The-Big-Lebowski-400-400.png",
"username" : "thedude", "username" : "thedude",
......
...@@ -56,7 +56,7 @@ Example of response ...@@ -56,7 +56,7 @@ Example of response
"state": "active", "state": "active",
"twitter": "", "twitter": "",
"username": "root", "username": "root",
"web_url": "http://localhost:3000/u/root", "web_url": "http://localhost:3000/root",
"website_url": "" "website_url": ""
} }
}, },
...@@ -75,7 +75,7 @@ Example of response ...@@ -75,7 +75,7 @@ Example of response
"name": "Administrator", "name": "Administrator",
"state": "active", "state": "active",
"username": "root", "username": "root",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
} }
}, },
{ {
...@@ -114,7 +114,7 @@ Example of response ...@@ -114,7 +114,7 @@ Example of response
"state": "active", "state": "active",
"twitter": "", "twitter": "",
"username": "root", "username": "root",
"web_url": "http://localhost:3000/u/root", "web_url": "http://localhost:3000/root",
"website_url": "" "website_url": ""
} }
}, },
...@@ -133,7 +133,7 @@ Example of response ...@@ -133,7 +133,7 @@ Example of response
"name": "Administrator", "name": "Administrator",
"state": "active", "state": "active",
"username": "root", "username": "root",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
} }
} }
] ]
...@@ -169,7 +169,7 @@ Example of response ...@@ -169,7 +169,7 @@ Example of response
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"environment": { "environment": {
"id": 9, "id": 9,
...@@ -193,7 +193,7 @@ Example of response ...@@ -193,7 +193,7 @@ Example of response
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://localhost:3000/u/root", "web_url": "http://localhost:3000/root",
"created_at": "2016-08-11T07:09:20.351Z", "created_at": "2016-08-11T07:09:20.351Z",
"is_admin": true, "is_admin": true,
"bio": null, "bio": null,
......
...@@ -46,7 +46,7 @@ Example response: ...@@ -46,7 +46,7 @@ Example response:
"author" : { "author" : {
"state" : "active", "state" : "active",
"id" : 18, "id" : 18,
"web_url" : "https://gitlab.example.com/u/eileen.lowe", "web_url" : "https://gitlab.example.com/eileen.lowe",
"name" : "Alexandra Bashirian", "name" : "Alexandra Bashirian",
"avatar_url" : null, "avatar_url" : null,
"username" : "eileen.lowe" "username" : "eileen.lowe"
...@@ -67,7 +67,7 @@ Example response: ...@@ -67,7 +67,7 @@ Example response:
"state" : "active", "state" : "active",
"id" : 1, "id" : 1,
"name" : "Administrator", "name" : "Administrator",
"web_url" : "https://gitlab.example.com/u/root", "web_url" : "https://gitlab.example.com/root",
"avatar_url" : null, "avatar_url" : null,
"username" : "root" "username" : "root"
}, },
...@@ -134,7 +134,7 @@ Example response: ...@@ -134,7 +134,7 @@ Example response:
}, },
"author" : { "author" : {
"state" : "active", "state" : "active",
"web_url" : "https://gitlab.example.com/u/root", "web_url" : "https://gitlab.example.com/root",
"avatar_url" : null, "avatar_url" : null,
"username" : "root", "username" : "root",
"id" : 1, "id" : 1,
...@@ -145,7 +145,7 @@ Example response: ...@@ -145,7 +145,7 @@ Example response:
"iid" : 1, "iid" : 1,
"assignee" : { "assignee" : {
"avatar_url" : null, "avatar_url" : null,
"web_url" : "https://gitlab.example.com/u/lennie", "web_url" : "https://gitlab.example.com/lennie",
"state" : "active", "state" : "active",
"username" : "lennie", "username" : "lennie",
"id" : 9, "id" : 9,
...@@ -215,7 +215,7 @@ Example response: ...@@ -215,7 +215,7 @@ Example response:
}, },
"author" : { "author" : {
"state" : "active", "state" : "active",
"web_url" : "https://gitlab.example.com/u/root", "web_url" : "https://gitlab.example.com/root",
"avatar_url" : null, "avatar_url" : null,
"username" : "root", "username" : "root",
"id" : 1, "id" : 1,
...@@ -226,7 +226,7 @@ Example response: ...@@ -226,7 +226,7 @@ Example response:
"iid" : 1, "iid" : 1,
"assignee" : { "assignee" : {
"avatar_url" : null, "avatar_url" : null,
"web_url" : "https://gitlab.example.com/u/lennie", "web_url" : "https://gitlab.example.com/lennie",
"state" : "active", "state" : "active",
"username" : "lennie", "username" : "lennie",
"id" : 9, "id" : 9,
...@@ -281,7 +281,7 @@ Example response: ...@@ -281,7 +281,7 @@ Example response:
}, },
"author" : { "author" : {
"state" : "active", "state" : "active",
"web_url" : "https://gitlab.example.com/u/root", "web_url" : "https://gitlab.example.com/root",
"avatar_url" : null, "avatar_url" : null,
"username" : "root", "username" : "root",
"id" : 1, "id" : 1,
...@@ -292,7 +292,7 @@ Example response: ...@@ -292,7 +292,7 @@ Example response:
"iid" : 1, "iid" : 1,
"assignee" : { "assignee" : {
"avatar_url" : null, "avatar_url" : null,
"web_url" : "https://gitlab.example.com/u/lennie", "web_url" : "https://gitlab.example.com/lennie",
"state" : "active", "state" : "active",
"username" : "lennie", "username" : "lennie",
"id" : 9, "id" : 9,
...@@ -357,7 +357,7 @@ Example response: ...@@ -357,7 +357,7 @@ Example response:
"name" : "Alexandra Bashirian", "name" : "Alexandra Bashirian",
"avatar_url" : null, "avatar_url" : null,
"state" : "active", "state" : "active",
"web_url" : "https://gitlab.example.com/u/eileen.lowe", "web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18, "id" : 18,
"username" : "eileen.lowe" "username" : "eileen.lowe"
}, },
...@@ -414,7 +414,7 @@ Example response: ...@@ -414,7 +414,7 @@ Example response:
"username" : "eileen.lowe", "username" : "eileen.lowe",
"id" : 18, "id" : 18,
"state" : "active", "state" : "active",
"web_url" : "https://gitlab.example.com/u/eileen.lowe" "web_url" : "https://gitlab.example.com/eileen.lowe"
}, },
"state" : "closed", "state" : "closed",
"title" : "Issues with auth", "title" : "Issues with auth",
...@@ -500,7 +500,7 @@ Example response: ...@@ -500,7 +500,7 @@ Example response:
"id": 12, "id": 12,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/axel.block" "web_url": "https://gitlab.example.com/axel.block"
}, },
"author": { "author": {
"name": "Kris Steuber", "name": "Kris Steuber",
...@@ -508,7 +508,7 @@ Example response: ...@@ -508,7 +508,7 @@ Example response:
"id": 10, "id": 10,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/solon.cremin" "web_url": "https://gitlab.example.com/solon.cremin"
}, },
"due_date": null, "due_date": null,
"web_url": "http://example.com/example/example/issues/11", "web_url": "http://example.com/example/example/issues/11",
...@@ -557,7 +557,7 @@ Example response: ...@@ -557,7 +557,7 @@ Example response:
"id": 12, "id": 12,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/axel.block" "web_url": "https://gitlab.example.com/axel.block"
}, },
"author": { "author": {
"name": "Kris Steuber", "name": "Kris Steuber",
...@@ -565,7 +565,7 @@ Example response: ...@@ -565,7 +565,7 @@ Example response:
"id": 10, "id": 10,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/solon.cremin" "web_url": "https://gitlab.example.com/solon.cremin"
}, },
"due_date": null, "due_date": null,
"web_url": "http://example.com/example/example/issues/11", "web_url": "http://example.com/example/example/issues/11",
...@@ -614,7 +614,7 @@ Example response: ...@@ -614,7 +614,7 @@ Example response:
"id": 21, "id": 21,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/3e6f06a86cf27fa8b56f3f74f7615987?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/3e6f06a86cf27fa8b56f3f74f7615987?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/keyon" "web_url": "https://gitlab.example.com/keyon"
}, },
"author": { "author": {
"name": "Vivian Hermann", "name": "Vivian Hermann",
...@@ -622,7 +622,7 @@ Example response: ...@@ -622,7 +622,7 @@ Example response:
"id": 11, "id": 11,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/orville" "web_url": "https://gitlab.example.com/orville"
}, },
"subscribed": false, "subscribed": false,
"due_date": null, "due_date": null,
...@@ -669,7 +669,7 @@ Example response: ...@@ -669,7 +669,7 @@ Example response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/root" "web_url": "https://gitlab.example.com/root"
}, },
"action_name": "marked", "action_name": "marked",
"target_type": "Issue", "target_type": "Issue",
...@@ -700,7 +700,7 @@ Example response: ...@@ -700,7 +700,7 @@ Example response:
"id": 14, "id": 14,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/francisca" "web_url": "https://gitlab.example.com/francisca"
}, },
"author": { "author": {
"name": "Maxie Medhurst", "name": "Maxie Medhurst",
...@@ -708,7 +708,7 @@ Example response: ...@@ -708,7 +708,7 @@ Example response:
"id": 12, "id": 12,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/craig_rutherford" "web_url": "https://gitlab.example.com/craig_rutherford"
}, },
"subscribed": true, "subscribed": true,
"user_notes_count": 7, "user_notes_count": 7,
......
...@@ -24,7 +24,7 @@ Parameters: ...@@ -24,7 +24,7 @@ Parameters:
"id": 25, "id": 25,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/cfa35b8cd2ec278026357769582fa563?s=40\u0026d=identicon", "avatar_url": "http://www.gravatar.com/avatar/cfa35b8cd2ec278026357769582fa563?s=40\u0026d=identicon",
"web_url": "http://localhost:3000/u/john_smith", "web_url": "http://localhost:3000/john_smith",
"created_at": "2015-09-03T07:24:01.670Z", "created_at": "2015-09-03T07:24:01.670Z",
"is_admin": false, "is_admin": false,
"bio": null, "bio": null,
......
...@@ -621,7 +621,7 @@ Example response when the GitLab issue tracker is used: ...@@ -621,7 +621,7 @@ Example response when the GitLab issue tracker is used:
"author" : { "author" : {
"state" : "active", "state" : "active",
"id" : 18, "id" : 18,
"web_url" : "https://gitlab.example.com/u/eileen.lowe", "web_url" : "https://gitlab.example.com/eileen.lowe",
"name" : "Alexandra Bashirian", "name" : "Alexandra Bashirian",
"avatar_url" : null, "avatar_url" : null,
"username" : "eileen.lowe" "username" : "eileen.lowe"
...@@ -642,7 +642,7 @@ Example response when the GitLab issue tracker is used: ...@@ -642,7 +642,7 @@ Example response when the GitLab issue tracker is used:
"state" : "active", "state" : "active",
"id" : 1, "id" : 1,
"name" : "Administrator", "name" : "Administrator",
"web_url" : "https://gitlab.example.com/u/root", "web_url" : "https://gitlab.example.com/root",
"avatar_url" : null, "avatar_url" : null,
"username" : "root" "username" : "root"
}, },
...@@ -711,7 +711,7 @@ Example response: ...@@ -711,7 +711,7 @@ Example response:
"id": 19, "id": 19,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/39ce4a2822cc896933ffbd68c1470e55?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/39ce4a2822cc896933ffbd68c1470e55?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/leila" "web_url": "https://gitlab.example.com/leila"
}, },
"assignee": { "assignee": {
"name": "Celine Wehner", "name": "Celine Wehner",
...@@ -719,7 +719,7 @@ Example response: ...@@ -719,7 +719,7 @@ Example response:
"id": 16, "id": 16,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/f4cd5605b769dd2ce405a27c6e6f2684?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/f4cd5605b769dd2ce405a27c6e6f2684?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/carli" "web_url": "https://gitlab.example.com/carli"
}, },
"source_project_id": 5, "source_project_id": 5,
"target_project_id": 5, "target_project_id": 5,
...@@ -787,7 +787,7 @@ Example response: ...@@ -787,7 +787,7 @@ Example response:
"id": 19, "id": 19,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/39ce4a2822cc896933ffbd68c1470e55?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/39ce4a2822cc896933ffbd68c1470e55?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/leila" "web_url": "https://gitlab.example.com/leila"
}, },
"assignee": { "assignee": {
"name": "Celine Wehner", "name": "Celine Wehner",
...@@ -795,7 +795,7 @@ Example response: ...@@ -795,7 +795,7 @@ Example response:
"id": 16, "id": 16,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/f4cd5605b769dd2ce405a27c6e6f2684?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/f4cd5605b769dd2ce405a27c6e6f2684?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/carli" "web_url": "https://gitlab.example.com/carli"
}, },
"source_project_id": 5, "source_project_id": 5,
"target_project_id": 5, "target_project_id": 5,
...@@ -858,7 +858,7 @@ Example response: ...@@ -858,7 +858,7 @@ Example response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/root" "web_url": "https://gitlab.example.com/root"
}, },
"action_name": "marked", "action_name": "marked",
"target_type": "MergeRequest", "target_type": "MergeRequest",
...@@ -881,7 +881,7 @@ Example response: ...@@ -881,7 +881,7 @@ Example response:
"id": 14, "id": 14,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/francisca" "web_url": "https://gitlab.example.com/francisca"
}, },
"assignee": { "assignee": {
"name": "Dr. Gabrielle Strosin", "name": "Dr. Gabrielle Strosin",
...@@ -889,7 +889,7 @@ Example response: ...@@ -889,7 +889,7 @@ Example response:
"id": 4, "id": 4,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/733005fcd7e6df12d2d8580171ccb966?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/733005fcd7e6df12d2d8580171ccb966?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/barrett.krajcik" "web_url": "https://gitlab.example.com/barrett.krajcik"
}, },
"source_project_id": 3, "source_project_id": 3,
"target_project_id": 3, "target_project_id": 3,
......
...@@ -143,7 +143,7 @@ Example Response: ...@@ -143,7 +143,7 @@ Example Response:
"state": "active", "state": "active",
"created_at": "2013-09-30T13:46:01Z", "created_at": "2013-09-30T13:46:01Z",
"avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/pipin" "web_url": "https://gitlab.example.com/pipin"
}, },
"created_at": "2016-04-05T22:10:44.164Z", "created_at": "2016-04-05T22:10:44.164Z",
"system": false, "system": false,
...@@ -268,7 +268,7 @@ Example Response: ...@@ -268,7 +268,7 @@ Example Response:
"state": "active", "state": "active",
"created_at": "2013-09-30T13:46:01Z", "created_at": "2013-09-30T13:46:01Z",
"avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/pipin" "web_url": "https://gitlab.example.com/pipin"
}, },
"created_at": "2016-04-06T16:51:53.239Z", "created_at": "2016-04-06T16:51:53.239Z",
"system": false, "system": false,
...@@ -398,7 +398,7 @@ Example Response: ...@@ -398,7 +398,7 @@ Example Response:
"state": "active", "state": "active",
"created_at": "2013-09-30T13:46:01Z", "created_at": "2013-09-30T13:46:01Z",
"avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/pipin" "web_url": "https://gitlab.example.com/pipin"
}, },
"created_at": "2016-04-05T22:11:59.923Z", "created_at": "2016-04-05T22:11:59.923Z",
"system": false, "system": false,
......
...@@ -34,7 +34,7 @@ Example of response ...@@ -34,7 +34,7 @@ Example of response
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"created_at": "2016-08-16T10:23:19.007Z", "created_at": "2016-08-16T10:23:19.007Z",
"updated_at": "2016-08-16T10:23:19.216Z", "updated_at": "2016-08-16T10:23:19.216Z",
...@@ -57,7 +57,7 @@ Example of response ...@@ -57,7 +57,7 @@ Example of response
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"created_at": "2016-08-16T10:23:21.184Z", "created_at": "2016-08-16T10:23:21.184Z",
"updated_at": "2016-08-16T10:23:21.314Z", "updated_at": "2016-08-16T10:23:21.314Z",
...@@ -103,7 +103,7 @@ Example of response ...@@ -103,7 +103,7 @@ Example of response
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"created_at": "2016-08-11T11:28:34.085Z", "created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z", "updated_at": "2016-08-11T11:32:35.169Z",
...@@ -148,7 +148,7 @@ Response: ...@@ -148,7 +148,7 @@ Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"created_at": "2016-08-11T11:28:34.085Z", "created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z", "updated_at": "2016-08-11T11:32:35.169Z",
...@@ -193,7 +193,7 @@ Response: ...@@ -193,7 +193,7 @@ Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"created_at": "2016-08-11T11:28:34.085Z", "created_at": "2016-08-11T11:28:34.085Z",
"updated_at": "2016-08-11T11:32:35.169Z", "updated_at": "2016-08-11T11:32:35.169Z",
......
...@@ -465,7 +465,7 @@ Parameters: ...@@ -465,7 +465,7 @@ Parameters:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "root" "author_username": "root"
}, },
...@@ -482,7 +482,7 @@ Parameters: ...@@ -482,7 +482,7 @@ Parameters:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "john", "author_username": "john",
"data": { "data": {
...@@ -528,7 +528,7 @@ Parameters: ...@@ -528,7 +528,7 @@ Parameters:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "root" "author_username": "root"
}, },
...@@ -552,7 +552,7 @@ Parameters: ...@@ -552,7 +552,7 @@ Parameters:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"created_at": "2015-12-04T10:33:56.698Z", "created_at": "2015-12-04T10:33:56.698Z",
"system": false, "system": false,
...@@ -567,7 +567,7 @@ Parameters: ...@@ -567,7 +567,7 @@ Parameters:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "root" "author_username": "root"
} }
......
...@@ -44,7 +44,7 @@ Example Response: ...@@ -44,7 +44,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/root" "web_url": "https://gitlab.example.com/root"
}, },
"action_name": "marked", "action_name": "marked",
"target_type": "MergeRequest", "target_type": "MergeRequest",
...@@ -67,7 +67,7 @@ Example Response: ...@@ -67,7 +67,7 @@ Example Response:
"id": 12, "id": 12,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/craig_rutherford" "web_url": "https://gitlab.example.com/craig_rutherford"
}, },
"assignee": { "assignee": {
"name": "Administrator", "name": "Administrator",
...@@ -75,7 +75,7 @@ Example Response: ...@@ -75,7 +75,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/root" "web_url": "https://gitlab.example.com/root"
}, },
"source_project_id": 2, "source_project_id": 2,
"target_project_id": 2, "target_project_id": 2,
...@@ -117,7 +117,7 @@ Example Response: ...@@ -117,7 +117,7 @@ Example Response:
"id": 12, "id": 12,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/craig_rutherford" "web_url": "https://gitlab.example.com/craig_rutherford"
}, },
"action_name": "assigned", "action_name": "assigned",
"target_type": "MergeRequest", "target_type": "MergeRequest",
...@@ -140,7 +140,7 @@ Example Response: ...@@ -140,7 +140,7 @@ Example Response:
"id": 12, "id": 12,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/craig_rutherford" "web_url": "https://gitlab.example.com/craig_rutherford"
}, },
"assignee": { "assignee": {
"name": "Administrator", "name": "Administrator",
...@@ -148,7 +148,7 @@ Example Response: ...@@ -148,7 +148,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/root" "web_url": "https://gitlab.example.com/root"
}, },
"source_project_id": 2, "source_project_id": 2,
"target_project_id": 2, "target_project_id": 2,
...@@ -215,7 +215,7 @@ Example Response: ...@@ -215,7 +215,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/root" "web_url": "https://gitlab.example.com/root"
}, },
"action_name": "marked", "action_name": "marked",
"target_type": "MergeRequest", "target_type": "MergeRequest",
...@@ -238,7 +238,7 @@ Example Response: ...@@ -238,7 +238,7 @@ Example Response:
"id": 12, "id": 12,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/craig_rutherford" "web_url": "https://gitlab.example.com/craig_rutherford"
}, },
"assignee": { "assignee": {
"name": "Administrator", "name": "Administrator",
...@@ -246,7 +246,7 @@ Example Response: ...@@ -246,7 +246,7 @@ Example Response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "https://gitlab.example.com/u/root" "web_url": "https://gitlab.example.com/root"
}, },
"source_project_id": 2, "source_project_id": 2,
"target_project_id": 2, "target_project_id": 2,
......
...@@ -20,7 +20,7 @@ GET /users ...@@ -20,7 +20,7 @@ GET /users
"name": "John Smith", "name": "John Smith",
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
"web_url": "http://localhost:3000/u/john_smith" "web_url": "http://localhost:3000/john_smith"
}, },
{ {
"id": 2, "id": 2,
...@@ -28,7 +28,7 @@ GET /users ...@@ -28,7 +28,7 @@ GET /users
"name": "Jack Smith", "name": "Jack Smith",
"state": "blocked", "state": "blocked",
"avatar_url": "http://gravatar.com/../e32131cd8.jpeg", "avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
"web_url": "http://localhost:3000/u/jack_smith" "web_url": "http://localhost:3000/jack_smith"
} }
] ]
``` ```
...@@ -48,7 +48,7 @@ GET /users ...@@ -48,7 +48,7 @@ GET /users
"name": "John Smith", "name": "John Smith",
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
"web_url": "http://localhost:3000/u/john_smith", "web_url": "http://localhost:3000/john_smith",
"created_at": "2012-05-23T08:00:58Z", "created_at": "2012-05-23T08:00:58Z",
"is_admin": false, "is_admin": false,
"bio": null, "bio": null,
...@@ -81,7 +81,7 @@ GET /users ...@@ -81,7 +81,7 @@ GET /users
"name": "Jack Smith", "name": "Jack Smith",
"state": "blocked", "state": "blocked",
"avatar_url": "http://localhost:3000/uploads/user/avatar/2/index.jpg", "avatar_url": "http://localhost:3000/uploads/user/avatar/2/index.jpg",
"web_url": "http://localhost:3000/u/jack_smith", "web_url": "http://localhost:3000/jack_smith",
"created_at": "2012-05-23T08:01:01Z", "created_at": "2012-05-23T08:01:01Z",
"is_admin": false, "is_admin": false,
"bio": null, "bio": null,
...@@ -141,7 +141,7 @@ Parameters: ...@@ -141,7 +141,7 @@ Parameters:
"name": "John Smith", "name": "John Smith",
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
"web_url": "http://localhost:3000/u/john_smith", "web_url": "http://localhost:3000/john_smith",
"created_at": "2012-05-23T08:00:58Z", "created_at": "2012-05-23T08:00:58Z",
"is_admin": false, "is_admin": false,
"bio": null, "bio": null,
...@@ -172,7 +172,7 @@ Parameters: ...@@ -172,7 +172,7 @@ Parameters:
"name": "John Smith", "name": "John Smith",
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
"web_url": "http://localhost:3000/u/john_smith", "web_url": "http://localhost:3000/john_smith",
"created_at": "2012-05-23T08:00:58Z", "created_at": "2012-05-23T08:00:58Z",
"is_admin": false, "is_admin": false,
"bio": null, "bio": null,
...@@ -293,7 +293,7 @@ GET /user ...@@ -293,7 +293,7 @@ GET /user
"name": "John Smith", "name": "John Smith",
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
"web_url": "http://localhost:3000/u/john_smith", "web_url": "http://localhost:3000/john_smith",
"created_at": "2012-05-23T08:00:58Z", "created_at": "2012-05-23T08:00:58Z",
"is_admin": false, "is_admin": false,
"bio": null, "bio": null,
...@@ -665,7 +665,7 @@ Example response: ...@@ -665,7 +665,7 @@ Example response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "root" "author_username": "root"
}, },
...@@ -682,7 +682,7 @@ Example response: ...@@ -682,7 +682,7 @@ Example response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "john", "author_username": "john",
"data": { "data": {
...@@ -728,7 +728,7 @@ Example response: ...@@ -728,7 +728,7 @@ Example response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "root" "author_username": "root"
}, },
...@@ -752,7 +752,7 @@ Example response: ...@@ -752,7 +752,7 @@ Example response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"created_at": "2015-12-04T10:33:56.698Z", "created_at": "2015-12-04T10:33:56.698Z",
"system": false, "system": false,
...@@ -767,7 +767,7 @@ Example response: ...@@ -767,7 +767,7 @@ Example response:
"id": 1, "id": 1,
"state": "active", "state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png", "avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root" "web_url": "http://localhost:3000/root"
}, },
"author_username": "root" "author_username": "root"
} }
......
...@@ -254,5 +254,5 @@ impact on runtime performance, and as such, using a constant instead of ...@@ -254,5 +254,5 @@ impact on runtime performance, and as such, using a constant instead of
referencing an object directly may even slow code down. referencing an object directly may even slow code down.
[#15607]: https://gitlab.com/gitlab-org/gitlab-ce/issues/15607 [#15607]: https://gitlab.com/gitlab-org/gitlab-ce/issues/15607
[yorickpeterse]: https://gitlab.com/u/yorickpeterse [yorickpeterse]: https://gitlab.com/yorickpeterse
[anti-pattern]: https://en.wikipedia.org/wiki/Anti-pattern [anti-pattern]: https://en.wikipedia.org/wiki/Anti-pattern
...@@ -51,6 +51,18 @@ feature 'Users', feature: true, js: true do ...@@ -51,6 +51,18 @@ feature 'Users', feature: true, js: true do
expect(current_path).to eq user_path(user) expect(current_path).to eq user_path(user)
expect(page).to have_text(user.name) expect(page).to have_text(user.name)
end end
scenario '/u/user1/groups redirects to user groups page' do
visit '/u/user1/groups'
expect(current_path).to eq user_groups_path(user)
end
scenario '/u/user1/projects redirects to user projects page' do
visit '/u/user1/projects'
expect(current_path).to eq user_projects_path(user)
end
end end
feature 'username validation' do feature 'username validation' do
......
...@@ -15,27 +15,27 @@ describe UsersController, "routing" do ...@@ -15,27 +15,27 @@ describe UsersController, "routing" do
end end
it "to #groups" do it "to #groups" do
expect(get("/u/User/groups")).to route_to('users#groups', username: 'User') expect(get("/users/User/groups")).to route_to('users#groups', username: 'User')
end end
it "to #projects" do it "to #projects" do
expect(get("/u/User/projects")).to route_to('users#projects', username: 'User') expect(get("/users/User/projects")).to route_to('users#projects', username: 'User')
end end
it "to #contributed" do it "to #contributed" do
expect(get("/u/User/contributed")).to route_to('users#contributed', username: 'User') expect(get("/users/User/contributed")).to route_to('users#contributed', username: 'User')
end end
it "to #snippets" do it "to #snippets" do
expect(get("/u/User/snippets")).to route_to('users#snippets', username: 'User') expect(get("/users/User/snippets")).to route_to('users#snippets', username: 'User')
end end
it "to #calendar" do it "to #calendar" do
expect(get("/u/User/calendar")).to route_to('users#calendar', username: 'User') expect(get("/users/User/calendar")).to route_to('users#calendar', username: 'User')
end end
it "to #calendar_activities" do it "to #calendar_activities" do
expect(get("/u/User/calendar_activities")).to route_to('users#calendar_activities', username: 'User') expect(get("/users/User/calendar_activities")).to route_to('users#calendar_activities', username: 'User')
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment