Skip to content
Snippets Groups Projects
Commit e03d01d0 authored by Jakub Zienkiewicz's avatar Jakub Zienkiewicz
Browse files

extract server-side git commands to constants

parent 5e35f216
No related branches found
No related tags found
1 merge request!4662allow all git-upload-* commands for deploy keys
module API
# Internal access API
class Internal < Grape::API
DOWNLOAD_COMMANDS = %w{ git-upload-pack git-upload-archive }
PUSH_COMMANDS = %w{ git-receive-pack }
namespace 'internal' do
#
# Check if ssh key has access to project code
Loading
Loading
@@ -26,16 +30,16 @@ module API
 
 
if key.is_a? DeployKey
key.projects.include?(project) && git_cmd.starts_with?('git-upload-')
key.projects.include?(project) && DOWNLOAD_COMMANDS.include?(git_cmd)
else
user = key.user
 
return false if user.blocked?
 
action = case git_cmd
when 'git-upload-pack', 'git-upload-archive'
when *DOWNLOAD_COMMANDS
then :download_code
when 'git-receive-pack'
when *PUSH_COMMANDS
then
if project.protected_branch?(params[:ref])
:push_code_to_protected_branches
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment