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
0
Merge Requests
0
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
Boxiang Sun
gitlab-ce
Commits
d6a5e3da
Commit
d6a5e3da
authored
Nov 07, 2012
by
Valeriy Sizov
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1735 from NARKOZ/api
API fixes
parents
10d881c9
cf70439e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
20 deletions
+17
-20
CHANGELOG
CHANGELOG
+1
-1
doc/api/users.md
doc/api/users.md
+2
-4
lib/api/users.rb
lib/api/users.rb
+5
-6
spec/requests/api/projects_spec.rb
spec/requests/api/projects_spec.rb
+5
-5
spec/requests/api/users_spec.rb
spec/requests/api/users_spec.rb
+4
-4
No files found.
CHANGELOG
View file @
d6a5e3da
...
@@ -28,7 +28,7 @@ v 3.0.0
...
@@ -28,7 +28,7 @@ v 3.0.0
- Reject ssh keys that break gitolite
- Reject ssh keys that break gitolite
- [API] list one project hook
- [API] list one project hook
- [API] edit project hook
- [API] edit project hook
- [API]
add project snippets list
- [API]
list project snippets
- [API] allow to authorize using private token in HTTP header
- [API] allow to authorize using private token in HTTP header
- [API] add user creation
- [API] add user creation
...
...
doc/api/users.md
View file @
d6a5e3da
...
@@ -74,14 +74,12 @@ POST /users
...
@@ -74,14 +74,12 @@ POST /users
Parameters:
Parameters:
+
`email`
(required) - Email
+
`email`
(required) - Email
+
`name`
(required) - Name
+
`password`
(required) - Password
+
`password`
(required) - Password
+
`
password_confirmation`
(required) - Password confirmation
+
`
name`
- Name
+
`skype`
- Skype ID
+
`skype`
- Skype ID
+
`linkedin`
- Linkedin
+
`linkedin`
- Linkedin
+
`twitter`
- Twitter account
+
`twitter`
- Twitter account
+
`projects_limit`
- Limit projects wich user can create
+
`projects_limit`
- Number of projects user can create
Will return created user with status
`201 Created`
on success, or
`404 Not
Will return created user with status
`201 Created`
on success, or
`404 Not
found`
on fail.
found`
on fail.
...
...
lib/api/users.rb
View file @
d6a5e3da
...
@@ -23,24 +23,23 @@ module Gitlab
...
@@ -23,24 +23,23 @@ module Gitlab
@user
=
User
.
find
(
params
[
:id
])
@user
=
User
.
find
(
params
[
:id
])
present
@user
,
with:
Entities
::
User
present
@user
,
with:
Entities
::
User
end
end
# Create user. Available only for admin
# Create user. Available only for admin
#
#
# Parameters:
# Parameters:
# email (required) - Email
# email (required) - Email
# name (required) - Name
# password (required) - Password
# password (required) - Password
#
password_confirmation (required) - Password confirmation
#
name - Name
# skype - Skype ID
# skype - Skype ID
# linkedin - Linkedin
# linkedin - Linkedin
# twitter - Twitter account
# twitter - Twitter account
# projects_limit -
Limit projects wich
user can create
# projects_limit -
Number of projects
user can create
# Example Request:
# Example Request:
# POST /users
# POST /users
post
do
post
do
authenticated_as_admin!
authenticated_as_admin!
attrs
=
attributes_for_keys
[
:email
,
:name
,
:password
,
:
password_confirmation
,
:
skype
,
:linkedin
,
:twitter
,
:projects_limit
]
attrs
=
attributes_for_keys
[
:email
,
:name
,
:password
,
:skype
,
:linkedin
,
:twitter
,
:projects_limit
]
user
=
User
.
new
attrs
user
=
User
.
new
attrs
,
as: :admin
if
user
.
save
if
user
.
save
present
user
,
with:
Entities
::
User
present
user
,
with:
Entities
::
User
else
else
...
...
spec/requests/api/projects_spec.rb
View file @
d6a5e3da
...
@@ -46,7 +46,7 @@ describe Gitlab::API do
...
@@ -46,7 +46,7 @@ describe Gitlab::API do
response
.
status
.
should
==
201
response
.
status
.
should
==
201
end
end
it
"should re
ps
ond with 404 on failure"
do
it
"should re
sp
ond with 404 on failure"
do
post
api
(
"/projects"
,
user
)
post
api
(
"/projects"
,
user
)
response
.
status
.
should
==
404
response
.
status
.
should
==
404
end
end
...
@@ -188,16 +188,16 @@ describe Gitlab::API do
...
@@ -188,16 +188,16 @@ describe Gitlab::API do
}.
to
change
{
project
.
hooks
.
count
}.
by
(
1
)
}.
to
change
{
project
.
hooks
.
count
}.
by
(
1
)
end
end
end
end
describe
"PUT /projects/:id/hooks/:hook_id"
do
describe
"PUT /projects/:id/hooks/:hook_id"
do
it
"should update an existing project hook"
do
it
"should update an existing project hook"
do
put
api
(
"/projects/
#{
project
.
code
}
/hooks/
#{
hook
.
id
}
"
,
user
),
put
api
(
"/projects/
#{
project
.
code
}
/hooks/
#{
hook
.
id
}
"
,
user
),
url:
'http://example.
com
'
url:
'http://example.
org
'
response
.
status
.
should
==
200
response
.
status
.
should
==
200
json_response
[
'url'
].
should
==
'http://example.
com
'
json_response
[
'url'
].
should
==
'http://example.
org
'
end
end
end
end
describe
"DELETE /projects/:id/hooks"
do
describe
"DELETE /projects/:id/hooks"
do
it
"should delete hook from project"
do
it
"should delete hook from project"
do
...
...
spec/requests/api/users_spec.rb
View file @
d6a5e3da
...
@@ -4,7 +4,7 @@ describe Gitlab::API do
...
@@ -4,7 +4,7 @@ describe Gitlab::API do
include
ApiHelpers
include
ApiHelpers
let
(
:user
)
{
Factory
:user
}
let
(
:user
)
{
Factory
:user
}
let
(
:admin
)
{
Factory
:admin
}
let
(
:admin
)
{
Factory
:admin
}
let
(
:key
)
{
Factory
:key
,
user:
user
}
let
(
:key
)
{
Factory
:key
,
user:
user
}
describe
"GET /users"
do
describe
"GET /users"
do
...
@@ -42,9 +42,9 @@ describe Gitlab::API do
...
@@ -42,9 +42,9 @@ describe Gitlab::API do
end
end
it
"should create user"
do
it
"should create user"
do
expect
{
expect
{
post
api
(
"/users"
,
admin
),
Factory
.
attributes
(
:user
)
post
api
(
"/users"
,
admin
),
Factory
.
attributes
(
:user
,
projects_limit:
3
)
}.
to
change
{
User
.
count
}.
by
(
1
)
}.
to
change
{
User
.
count
}.
by
(
1
)
end
end
it
"shouldn't available for non admin users"
do
it
"shouldn't available for non admin users"
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