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
ace5c54a
Commit
ace5c54a
authored
Jul 12, 2013
by
Angus MacArthur
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
enhance project creation apis to allow setting of public attribute
Change-Id: Ib71ce8cf993627eada63d7d596fb302ec702f36e
parent
acb402a1
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
3 deletions
+39
-3
doc/api/projects.md
doc/api/projects.md
+2
-0
lib/api/entities.rb
lib/api/entities.rb
+1
-1
lib/api/projects.rb
lib/api/projects.rb
+6
-2
spec/requests/api/projects_spec.rb
spec/requests/api/projects_spec.rb
+30
-0
No files found.
doc/api/projects.md
View file @
ace5c54a
...
...
@@ -189,6 +189,7 @@ Parameters:
+
`merge_requests_enabled`
(optional)
+
`wiki_enabled`
(optional)
+
`snippets_enabled`
(optional)
+
`public`
(optional)
**Project access levels**
...
...
@@ -221,6 +222,7 @@ Parameters:
+
`merge_requests_enabled`
(optional)
+
`wiki_enabled`
(optional)
+
`snippets_enabled`
(optional)
+
`public`
(optional)
...
...
lib/api/entities.rb
View file @
ace5c54a
...
...
@@ -36,7 +36,7 @@ module API
expose
:owner
,
using:
Entities
::
UserBasic
expose
:name
,
:name_with_namespace
expose
:path
,
:path_with_namespace
expose
:issues_enabled
,
:merge_requests_enabled
,
:wall_enabled
,
:wiki_enabled
,
:snippets_enabled
,
:created_at
,
:last_activity_at
expose
:issues_enabled
,
:merge_requests_enabled
,
:wall_enabled
,
:wiki_enabled
,
:snippets_enabled
,
:created_at
,
:last_activity_at
,
:public
expose
:namespace
expose
:forked_from_project
,
using:
Entities
::
ForkedFromProject
,
:if
=>
lambda
{
|
project
,
options
|
project
.
forked?
}
end
...
...
lib/api/projects.rb
View file @
ace5c54a
...
...
@@ -67,6 +67,7 @@ module API
# wiki_enabled (optional)
# snippets_enabled (optional)
# namespace_id (optional) - defaults to user namespace
# public (optional) - false by default
# Example Request
# POST /projects
post
do
...
...
@@ -79,7 +80,8 @@ module API
:merge_requests_enabled
,
:wiki_enabled
,
:snippets_enabled
,
:namespace_id
]
:namespace_id
,
:public
]
@project
=
::
Projects
::
CreateContext
.
new
(
current_user
,
attrs
).
execute
if
@project
.
saved?
present
@project
,
with:
Entities
::
Project
...
...
@@ -103,6 +105,7 @@ module API
# merge_requests_enabled (optional)
# wiki_enabled (optional)
# snippets_enabled (optional)
# public (optional)
# Example Request
# POST /projects/user/:user_id
post
"user/:user_id"
do
...
...
@@ -115,7 +118,8 @@ module API
:wall_enabled
,
:merge_requests_enabled
,
:wiki_enabled
,
:snippets_enabled
]
:snippets_enabled
,
:public
]
@project
=
::
Projects
::
CreateContext
.
new
(
user
,
attrs
).
execute
if
@project
.
saved?
present
@project
,
with:
Entities
::
Project
...
...
spec/requests/api/projects_spec.rb
View file @
ace5c54a
...
...
@@ -104,6 +104,21 @@ describe API::API do
json_response
[
k
.
to_s
].
should
==
v
end
end
it
"should set a project as public"
do
project
=
attributes_for
(
:project
,
{
public:
true
})
post
api
(
"/projects"
,
user
),
project
json_response
[
'public'
].
should
be_true
end
it
"should set a project as private"
do
project
=
attributes_for
(
:project
,
{
public:
false
})
post
api
(
"/projects"
,
user
),
project
json_response
[
'public'
].
should
be_false
end
end
describe
"POST /projects/user/:id"
do
...
...
@@ -144,6 +159,21 @@ describe API::API do
json_response
[
k
.
to_s
].
should
==
v
end
end
it
"should set a project as public"
do
project
=
attributes_for
(
:project
,
{
public:
true
})
post
api
(
"/projects/user/
#{
user
.
id
}
"
,
admin
),
project
json_response
[
'public'
].
should
be_true
end
it
"should set a project as private"
do
project
=
attributes_for
(
:project
,
{
public:
false
})
post
api
(
"/projects/user/
#{
user
.
id
}
"
,
admin
),
project
json_response
[
'public'
].
should
be_false
end
end
describe
"GET /projects/:id"
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