Refactor construction of response

This commit is contained in:
Michael Kozono 2017-05-23 11:34:58 -07:00
parent 0a0f66c816
commit b50a22894d
2 changed files with 22 additions and 14 deletions

View file

@ -42,6 +42,22 @@ module API
@project, @wiki = Gitlab::RepoPath.parse(params[:project]) @project, @wiki = Gitlab::RepoPath.parse(params[:project])
end end
end end
# Project id to pass between components that don't share/don't have
# access to the same filesystem mounts
def gl_repository
Gitlab::GlRepository.gl_repository(project, wiki?)
end
# Return the repository full path so that gitlab-shell has it when
# handling ssh commands
def repository_path
if wiki?
project.wiki.repository.path_to_repo
else
project.repository.path_to_repo
end
end
end end
end end
end end

View file

@ -37,26 +37,18 @@ module API
.new(actor, project, protocol, authentication_abilities: ssh_authentication_abilities) .new(actor, project, protocol, authentication_abilities: ssh_authentication_abilities)
begin begin
access_status = access_checker.check(params[:action], params[:changes]) access_checker.check(params[:action], params[:changes])
response = { status: access_status.status, message: access_status.message }
rescue Gitlab::GitAccess::UnauthorizedError, Gitlab::GitAccess::NotFoundError => e rescue Gitlab::GitAccess::UnauthorizedError, Gitlab::GitAccess::NotFoundError => e
return { status: false, message: e.message } return { status: false, message: e.message }
end end
log_user_activity(actor) log_user_activity(actor)
# Project id to pass between components that don't share/don't have response = {
# access to the same filesystem mounts status: true,
response[:gl_repository] = Gitlab::GlRepository.gl_repository(project, wiki?) gl_repository: gl_repository,
repository_path: repository_path
# Return the repository full path so that gitlab-shell has it when }
# handling ssh commands
response[:repository_path] =
if wiki?
project.wiki.repository.path_to_repo
else
project.repository.path_to_repo
end
response response
end end