diff options
Diffstat (limited to 'lib/api/release/links.rb')
-rw-r--r-- | lib/api/release/links.rb | 12 |
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 |