From a8e93b7f51d968c1380ed210499869b62b07fd15 Mon Sep 17 00:00:00 2001 From: Job van der Voort Date: Tue, 21 Apr 2015 16:21:51 +0200 Subject: Version 7.10.0.rc5 --- lib/api/groups.rb | 89 ------------------------------------------------------- 1 file changed, 89 deletions(-) delete mode 100644 lib/api/groups.rb (limited to 'lib/api/groups.rb') 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 -- cgit v1.2.3