diff --git a/app/models/api_key_scope.rb b/app/models/api_key_scope.rb index 08cf32a9dd0..ba57361fa9f 100644 --- a/app/models/api_key_scope.rb +++ b/app/models/api_key_scope.rb @@ -51,6 +51,15 @@ class ApiKeyScope < ActiveRecord::Base }, email: { receive_emails: { actions: %w[admin/email#handle_mail] } + }, + badges: { + create: { actions: %w[admin/badges#create] }, + show: { actions: %w[badges#show] }, + update: { actions: %w[admin/badges#update] }, + delete: { actions: %w[admin/badges#destroy] }, + list_user_badges: { actions: %w[user_badges#username], params: %i[username] }, + assign_badge_to_user: { actions: %w[user_badges#create], params: %i[username] }, + revoke_badge_from_user: { actions: %w[user_badges#destroy] }, } } diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 3f6b5e59d45..02761797b7f 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -4219,6 +4219,14 @@ en: list: Get a list of users. email: receive_emails: Combine this scope with the mail-receiver to process incoming emails. + badges: + create: Create a new badge. + show: Obtain information about a badge. + update: Update a badge. + delete: Delete a badge. + list_user_badges: List user badges. + assign_badge_to_user: Assign a badge to a user. + revoke_badge_from_user: Revoke a badge from a user. web_hooks: title: "Webhooks" diff --git a/spec/requests/admin/api_controller_spec.rb b/spec/requests/admin/api_controller_spec.rb index 2be52a0a974..89024720699 100644 --- a/spec/requests/admin/api_controller_spec.rb +++ b/spec/requests/admin/api_controller_spec.rb @@ -237,7 +237,7 @@ describe Admin::ApiController do scopes = response.parsed_body['scopes'] - expect(scopes.keys).to contain_exactly('topics', 'users', 'email', 'posts', 'uploads', 'global') + expect(scopes.keys).to contain_exactly('topics', 'users', 'email', 'posts', 'uploads', 'global', 'badges') end end end