mirror of
https://github.com/gitlabhq/gitlabhq.git
synced 2025-07-29 11:57:26 +00:00
39 lines
1.1 KiB
Ruby
39 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module API
|
|
class UsageDataServicePing < UsageData
|
|
before { authenticate_non_get! }
|
|
|
|
allow_access_with_scope :read_service_ping
|
|
|
|
namespace 'usage_data' do
|
|
resource :service_ping do
|
|
before do
|
|
authenticated_as_admin!
|
|
end
|
|
|
|
desc 'Get the latest ServicePing payload' do
|
|
detail 'Introduces in Gitlab 16.9. Requires personal access token with read_service_ping scope.'
|
|
success code: 200
|
|
failure [
|
|
{ code: 401, message: '401 Unauthorized' },
|
|
{ code: 403, message: 'Forbidden' },
|
|
{ code: 404, message: 'Not found' }
|
|
]
|
|
tags %w[usage_data]
|
|
produces ['application/json']
|
|
end
|
|
|
|
get do
|
|
content_type 'application/json'
|
|
|
|
Gitlab::InternalEvents.track_event('request_service_ping_via_rest', user: current_user)
|
|
|
|
Rails.cache.fetch(Gitlab::Usage::ServicePingReport::CACHE_KEY) ||
|
|
::RawUsageData.for_current_reporting_cycle.first&.payload || {}
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|