From 33a00ceeeacfc52272d25cef914a027b9bf13a2a Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 1 Apr 2014 10:39:53 +0300 Subject: Create branch via API Signed-off-by: Dmitriy Zaporozhets --- lib/api/branches.rb | 15 +++++++++++++++ lib/api/helpers.rb | 4 ++++ 2 files changed, 19 insertions(+) (limited to 'lib/api') diff --git a/lib/api/branches.rb b/lib/api/branches.rb index 6339094bd99..953c6100f8b 100644 --- a/lib/api/branches.rb +++ b/lib/api/branches.rb @@ -65,6 +65,21 @@ module API present @branch, with: Entities::RepoObject, project: user_project end + + # Create branch + # + # Parameters: + # id (required) - The ID of a project + # branch_name (required) - The name of the branch + # ref (required) - Create branch from commit sha or existing branch + # Example Request: + # POST /projects/:id/repository/branches + post ":id/repository/branches" do + authorize_push_project + @branch = CreateBranchService.new.execute(user_project, params[:branch_name], params[:ref], current_user) + + present @branch, with: Entities::RepoObject, project: user_project + end end end end diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb index 03a2968fcc7..7ee4b9d1381 100644 --- a/lib/api/helpers.rb +++ b/lib/api/helpers.rb @@ -78,6 +78,10 @@ module API end end + def authorize_push_project + authorize! :push_code, user_project + end + def authorize_admin_project authorize! :admin_project, user_project end -- cgit v1.2.1