Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/groups.rb')
-rw-r--r--lib/api/groups.rb89
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