diff options
Diffstat (limited to 'lib/api/personal_access_tokens.rb')
-rw-r--r-- | lib/api/personal_access_tokens.rb | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/api/personal_access_tokens.rb b/lib/api/personal_access_tokens.rb index 56590bb9a8f..40e6486dae9 100644 --- a/lib/api/personal_access_tokens.rb +++ b/lib/api/personal_access_tokens.rb @@ -39,6 +39,12 @@ module API def find_token(id) PersonalAccessToken.find(id) || not_found! end + + def revoke_token(token) + service = ::PersonalAccessTokens::RevokeService.new(current_user, token: token).execute + + service.success? ? no_content! : bad_request!(nil) + end end resources :personal_access_tokens do @@ -48,13 +54,14 @@ module API present paginate(tokens), with: Entities::PersonalAccessToken end + delete 'self' do + revoke_token(access_token) + end + delete ':id' do - service = ::PersonalAccessTokens::RevokeService.new( - current_user, - token: find_token(params[:id]) - ).execute + token = find_token(params[:id]) - service.success? ? no_content! : bad_request!(nil) + revoke_token(token) end end end |