Commit 82508117 authored by Valeriy Sizov's avatar Valeriy Sizov

#1585 Api for user creation: base implementation

parent 0187ae4e
......@@ -22,6 +22,10 @@ module Gitlab
unauthorized! unless current_user
end
def authenticated_as_admin!
forbidden! unless current_user.is_admin?
end
def authorize! action, subject
unless abilities.allowed?(current_user, action, subject)
forbidden!
......
......@@ -23,6 +23,30 @@ module Gitlab
@user = User.find(params[:id])
present @user, with: Entities::User
end
# Create user. Available only for admin
#
# Parameters:
# email (required) - Email
# name (required) - Name
# password (required) - Password
# password_confirmation (required) - Password confirmation
# skype - Skype ID
# linkedin (required) - Linkedin
# twitter - Twitter account
# projects_limit - Limit projects wich user can create
# Example Request:
# POST /users
post do
authenticated_as_admin!
attrs = attributes_for_keys [:email, :name, :password, :password_confirmation, :skype, :linkedin, :twitter, :projects_limit]
user = User.new attrs
if user.save
present user, with: Entities::User
else
not_found!
end
end
end
resource :user do
......@@ -78,6 +102,8 @@ module Gitlab
key = current_user.keys.find params[:id]
key.delete
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