summaryrefslogtreecommitdiff
path: root/lib/api/release/links.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/release/links.rb')
-rw-r--r--lib/api/release/links.rb12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/api/release/links.rb b/lib/api/release/links.rb
index 66115baf120..311fcf9aba1 100644
--- a/lib/api/release/links.rb
+++ b/lib/api/release/links.rb
@@ -65,14 +65,14 @@ module API
end
route_setting :authentication, job_token_allowed: true
post 'links' do
- authorize! :create_release, release
-
result = ::Releases::Links::CreateService
.new(release, current_user, declared_params(include_missing: false))
.execute
if result.success?
present result.payload[:link], with: Entities::Releases::Link
+ elsif result.reason == ::Releases::Links::REASON_FORBIDDEN
+ forbidden!
else
render_api_error!(result.message, 400)
end
@@ -121,14 +121,14 @@ module API
end
route_setting :authentication, job_token_allowed: true
put do
- authorize! :update_release, release
-
result = ::Releases::Links::UpdateService
.new(release, current_user, declared_params(include_missing: false))
.execute(link)
if result.success?
present result.payload[:link], with: Entities::Releases::Link
+ elsif result.reason == ::Releases::Links::REASON_FORBIDDEN
+ forbidden!
else
render_api_error!(result.message, 400)
end
@@ -145,14 +145,14 @@ module API
end
route_setting :authentication, job_token_allowed: true
delete do
- authorize! :destroy_release, release
-
result = ::Releases::Links::DestroyService
.new(release, current_user)
.execute(link)
if result.success?
present result.payload[:link], with: Entities::Releases::Link
+ elsif result.reason == ::Releases::Links::REASON_FORBIDDEN
+ forbidden!
else
render_api_error!(result.message, 400)
end