diff options
author | Job van der Voort <jobvandervoort@gmail.com> | 2015-04-21 17:21:51 +0300 |
---|---|---|
committer | Job van der Voort <jobvandervoort@gmail.com> | 2015-04-21 17:21:51 +0300 |
commit | a8e93b7f51d968c1380ed210499869b62b07fd15 (patch) | |
tree | c864e80dfd9cf4f83fcede678acc986e3a125bf5 /lib/api/groups.rb | |
parent | 0625b15a481b3a3edd88110b3c18031ad9068d2f (diff) |
Version 7.10.0.rc5v7.10.0.rc5
Diffstat (limited to 'lib/api/groups.rb')
-rw-r--r-- | lib/api/groups.rb | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/lib/api/groups.rb b/lib/api/groups.rb deleted file mode 100644 index 8cb9f920975..00000000000 --- a/lib/api/groups.rb +++ /dev/null @@ -1,89 +0,0 @@ -module API - # groups API - class Groups < Grape::API - before { authenticate! } - - resource :groups do - # Get a groups list - # - # Example Request: - # GET /groups - get do - @groups = if current_user.admin - Group.all - else - current_user.groups - end - - @groups = @groups.search(params[:search]) if params[:search].present? - @groups = paginate @groups - present @groups, with: Entities::Group - end - - # Create group. Available only for admin - # - # Parameters: - # name (required) - The name of the group - # path (required) - The path of the group - # Example Request: - # POST /groups - post do - authenticated_as_admin! - required_attributes! [:name, :path] - - attrs = attributes_for_keys [:name, :path, :description] - @group = Group.new(attrs) - - if @group.save - @group.add_owner(current_user) - present @group, with: Entities::Group - else - render_api_error!("Failed to save group #{@group.errors.messages}", 400) - end - end - - # Get a single group, with containing projects - # - # Parameters: - # id (required) - The ID of a group - # Example Request: - # GET /groups/:id - get ":id" do - group = find_group(params[:id]) - present group, with: Entities::GroupDetail - end - - # Remove group - # - # Parameters: - # id (required) - The ID of a group - # Example Request: - # DELETE /groups/:id - delete ":id" do - group = find_group(params[:id]) - authorize! :admin_group, group - group.destroy - end - - # Transfer a project to the Group namespace - # - # Parameters: - # id - group id - # project_id - project id - # Example Request: - # POST /groups/:id/projects/:project_id - post ":id/projects/:project_id" do - authenticated_as_admin! - group = Group.find(params[:id]) - project = Project.find(params[:project_id]) - result = ::Projects::TransferService.new(project, current_user, namespace_id: group.id).execute - - if result - present group - else - render_api_error!("Failed to transfer project #{project.errors.messages}", 400) - end - end - end - end -end |