Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
b59ba979
Commit
b59ba979
authored
Nov 18, 2013
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/api_projects_all' of /home/git/repositories/gitlab/gitlabhq
parents
f614fa97
434d276d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
1 deletion
+53
-1
doc/api/projects.md
doc/api/projects.md
+17
-1
lib/api/projects.rb
lib/api/projects.rb
+10
-0
spec/requests/api/projects_spec.rb
spec/requests/api/projects_spec.rb
+26
-0
No files found.
doc/api/projects.md
View file @
b59ba979
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
### List projects
### List projects
Get a list of projects
owned
by the authenticated user.
Get a list of projects
accessible
by the authenticated user.
```
```
GET /projects
GET /projects
...
@@ -82,6 +82,22 @@ GET /projects
...
@@ -82,6 +82,22 @@ GET /projects
```
```
#### List owned projects
Get a list of projects owned by the authenticated user.
```
GET /projects/owned
```
#### List ALL projects
Get a list of all GitLab projects (admin only).
```
GET /projects/all
```
### Get single project
### Get single project
Get a specific project, identified by project ID or NAMESPACE/PROJECT_NAME , which is owned by the authentication user.
Get a specific project, identified by project ID or NAMESPACE/PROJECT_NAME , which is owned by the authentication user.
...
...
lib/api/projects.rb
View file @
b59ba979
...
@@ -31,6 +31,16 @@ module API
...
@@ -31,6 +31,16 @@ module API
present
@projects
,
with:
Entities
::
Project
present
@projects
,
with:
Entities
::
Project
end
end
# Get all projects for admin user
#
# Example Request:
# GET /projects/all
get
'/all'
do
authenticated_as_admin!
@projects
=
paginate
Project
present
@projects
,
with:
Entities
::
Project
end
# Get a single project
# Get a single project
#
#
# Parameters:
# Parameters:
...
...
spec/requests/api/projects_spec.rb
View file @
b59ba979
...
@@ -36,6 +36,32 @@ describe API::API do
...
@@ -36,6 +36,32 @@ describe API::API do
end
end
end
end
describe
"GET /projects/all"
do
context
"when unauthenticated"
do
it
"should return authentication error"
do
get
api
(
"/projects/all"
)
response
.
status
.
should
==
401
end
end
context
"when authenticated as regular user"
do
it
"should return authentication error"
do
get
api
(
"/projects/all"
,
user
)
response
.
status
.
should
==
403
end
end
context
"when authenticated as admin"
do
it
"should return an array of all projects"
do
get
api
(
"/projects/all"
,
admin
)
response
.
status
.
should
==
200
json_response
.
should
be_an
Array
json_response
.
first
[
'name'
].
should
==
project
.
name
json_response
.
first
[
'owner'
][
'email'
].
should
==
user
.
email
end
end
end
describe
"POST /projects"
do
describe
"POST /projects"
do
context
"maximum number of projects reached"
do
context
"maximum number of projects reached"
do
before
do
before
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment