diff options
Diffstat (limited to 'lib/api/error_tracking/client_keys.rb')
-rw-r--r-- | lib/api/error_tracking/client_keys.rb | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/lib/api/error_tracking/client_keys.rb b/lib/api/error_tracking/client_keys.rb index c1c378111a7..8a0a5e2a9b7 100644 --- a/lib/api/error_tracking/client_keys.rb +++ b/lib/api/error_tracking/client_keys.rb @@ -4,11 +4,14 @@ module API class ErrorTracking::ClientKeys < ::API::Base before { authenticate! } + ERROR_TRACKING_CLIENT_KEYS_TAGS = %w[error_tracking_client_keys].freeze + feature_category :error_tracking urgency :low params do - requires :id, type: String, desc: 'The ID of a project' + requires :id, types: [String, Integer], + desc: 'The ID or URL-encoded path of the project owned by the authenticated user' end resource :projects, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do @@ -17,9 +20,11 @@ module API authorize! :admin_operations, user_project end - desc 'List all client keys' do - detail 'This feature was introduced in GitLab 14.3.' + desc 'List project client keys' do + detail 'List all client keys. This feature was introduced in GitLab 14.3.' success Entities::ErrorTracking::ClientKey + is_array true + tags ERROR_TRACKING_CLIENT_KEYS_TAGS end get '/client_keys' do collection = user_project.error_tracking_client_keys @@ -28,8 +33,10 @@ module API end desc 'Create a client key' do - detail 'This feature was introduced in GitLab 14.3.' + detail 'Creates a new client key for a project. The public key attribute is generated automatically.'\ + 'This feature was introduced in GitLab 14.3.' success Entities::ErrorTracking::ClientKey + tags ERROR_TRACKING_CLIENT_KEYS_TAGS end post '/client_keys' do key = user_project.error_tracking_client_keys.create! @@ -38,8 +45,14 @@ module API end desc 'Delete a client key' do - detail 'This feature was introduced in GitLab 14.3.' + detail 'Removes a client key from the project. This feature was introduced in GitLab 14.3.' success Entities::ErrorTracking::ClientKey + failure [ + { code: 400, message: 'Bad request' }, + { code: 401, message: 'Unauthorized' }, + { code: 404, message: 'Not found' } + ] + tags ERROR_TRACKING_CLIENT_KEYS_TAGS end delete '/client_keys/:key_id' do key = user_project.error_tracking_client_keys.find(params[:key_id]) |