Commit 8ae1d812 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

deploy keys support for gitlab-shell api

parent 48628d31
...@@ -7,22 +7,27 @@ module Gitlab ...@@ -7,22 +7,27 @@ module Gitlab
# #
get "/allowed" do get "/allowed" do
key = Key.find(params[:key_id]) key = Key.find(params[:key_id])
user = key.user
project = Project.find_with_namespace(params[:project]) project = Project.find_with_namespace(params[:project])
action = case params[:action] git_cmd = params[:action]
when 'git-upload-pack'
then :download_code if key.is_deploy_key
when 'git-receive-pack' project == key.project && git_cmd == 'git-upload-pack'
then else
if project.protected_branch?(params[:ref]) user = key.user
:push_code_to_protected_branches action = case git_cmd
else when 'git-upload-pack'
:push_code then :download_code
when 'git-receive-pack'
then
if project.protected_branch?(params[:ref])
:push_code_to_protected_branches
else
:push_code
end
end end
end
user.can?(action, project) user.can?(action, project)
end
end end
# #
......
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