Commit 984698dc authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'refactor-tags-branches-api' into 'master'

Ensure that branch and tag names are given in API

## What does this MR do?

It ensures that the tag or branch name is given. @rymai We talked in an earlier MR about this.

See merge request !5012
parents 6c0d3b4c cc324eb4
...@@ -25,7 +25,7 @@ module API ...@@ -25,7 +25,7 @@ module API
# branch (required) - The name of the branch # branch (required) - The name of the branch
# Example Request: # Example Request:
# GET /projects/:id/repository/branches/:branch # GET /projects/:id/repository/branches/:branch
get ':id/repository/branches/:branch', requirements: { branch: /.*/ } do get ':id/repository/branches/:branch', requirements: { branch: /.+/ } do
@branch = user_project.repository.branches.find { |item| item.name == params[:branch] } @branch = user_project.repository.branches.find { |item| item.name == params[:branch] }
not_found!("Branch") unless @branch not_found!("Branch") unless @branch
present @branch, with: Entities::RepoObject, project: user_project present @branch, with: Entities::RepoObject, project: user_project
...@@ -39,7 +39,7 @@ module API ...@@ -39,7 +39,7 @@ module API
# Example Request: # Example Request:
# PUT /projects/:id/repository/branches/:branch/protect # PUT /projects/:id/repository/branches/:branch/protect
put ':id/repository/branches/:branch/protect', put ':id/repository/branches/:branch/protect',
requirements: { branch: /.*/ } do requirements: { branch: /.+/ } do
authorize_admin_project authorize_admin_project
...@@ -59,7 +59,7 @@ module API ...@@ -59,7 +59,7 @@ module API
# Example Request: # Example Request:
# PUT /projects/:id/repository/branches/:branch/unprotect # PUT /projects/:id/repository/branches/:branch/unprotect
put ':id/repository/branches/:branch/unprotect', put ':id/repository/branches/:branch/unprotect',
requirements: { branch: /.*/ } do requirements: { branch: /.+/ } do
authorize_admin_project authorize_admin_project
...@@ -101,7 +101,7 @@ module API ...@@ -101,7 +101,7 @@ module API
# Example Request: # Example Request:
# DELETE /projects/:id/repository/branches/:branch # DELETE /projects/:id/repository/branches/:branch
delete ":id/repository/branches/:branch", delete ":id/repository/branches/:branch",
requirements: { branch: /.*/ } do requirements: { branch: /.+/ } do
authorize_push_project authorize_push_project
result = DeleteBranchService.new(user_project, current_user). result = DeleteBranchService.new(user_project, current_user).
execute(params[:branch]) execute(params[:branch])
......
...@@ -61,7 +61,7 @@ module API ...@@ -61,7 +61,7 @@ module API
# tag_name (required) - The name of the tag # tag_name (required) - The name of the tag
# Example Request: # Example Request:
# DELETE /projects/:id/repository/tags/:tag # DELETE /projects/:id/repository/tags/:tag
delete ":id/repository/tags/:tag_name", requirements: { tag_name: /.*/ } do delete ":id/repository/tags/:tag_name", requirements: { tag_name: /.+/ } do
authorize_push_project authorize_push_project
result = DeleteTagService.new(user_project, current_user). result = DeleteTagService.new(user_project, current_user).
execute(params[:tag_name]) execute(params[:tag_name])
...@@ -83,7 +83,7 @@ module API ...@@ -83,7 +83,7 @@ module API
# description (required) - Release notes with markdown support # description (required) - Release notes with markdown support
# Example Request: # Example Request:
# POST /projects/:id/repository/tags/:tag_name/release # POST /projects/:id/repository/tags/:tag_name/release
post ':id/repository/tags/:tag_name/release', requirements: { tag_name: /.*/ } do post ':id/repository/tags/:tag_name/release', requirements: { tag_name: /.+/ } do
authorize_push_project authorize_push_project
required_attributes! [:description] required_attributes! [:description]
result = CreateReleaseService.new(user_project, current_user). result = CreateReleaseService.new(user_project, current_user).
...@@ -104,7 +104,7 @@ module API ...@@ -104,7 +104,7 @@ module API
# description (required) - Release notes with markdown support # description (required) - Release notes with markdown support
# Example Request: # Example Request:
# PUT /projects/:id/repository/tags/:tag_name/release # PUT /projects/:id/repository/tags/:tag_name/release
put ':id/repository/tags/:tag_name/release', requirements: { tag_name: /.*/ } do put ':id/repository/tags/:tag_name/release', requirements: { tag_name: /.+/ } do
authorize_push_project authorize_push_project
required_attributes! [:description] required_attributes! [:description]
result = UpdateReleaseService.new(user_project, current_user). result = UpdateReleaseService.new(user_project, current_user).
......
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