diff options
author | Jacopo <beschi.jacopo@gmail.com> | 2018-12-13 20:26:56 +0100 |
---|---|---|
committer | Jacopo <beschi.jacopo@gmail.com> | 2019-02-27 11:52:35 +0100 |
commit | 5ae9a44aa17c8929627cc450f936cd960c143e25 (patch) | |
tree | 6a14d388f5687979a683d443868b4297ebc6838c /lib/api/project_statistics.rb | |
parent | 6fa88ed77e1693cda845efe49bf2c9a77aed2e4f (diff) | |
download | gitlab-ce-5ae9a44aa17c8929627cc450f936cd960c143e25.tar.gz |
Add project http fetch statistics API
The API get projects/:id/traffic/fetches allows user with write
access to the repository to get the number of clones for the
last 30 days.
Diffstat (limited to 'lib/api/project_statistics.rb')
-rw-r--r-- | lib/api/project_statistics.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/api/project_statistics.rb b/lib/api/project_statistics.rb new file mode 100644 index 00000000000..2f73785f72d --- /dev/null +++ b/lib/api/project_statistics.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module API + class ProjectStatistics < Grape::API + before do + authenticate! + not_found! unless user_project.daily_statistics_enabled? + authorize! :daily_statistics, user_project + end + + params do + requires :id, type: String, desc: 'The ID of a project' + end + resource :projects, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do + desc 'Get the list of project fetch statistics for the last 30 days' + get ":id/statistics" do + statistic_finder = ::Projects::DailyStatisticsFinder.new(user_project) + + present statistic_finder, with: Entities::ProjectDailyStatistics + end + end + end +end |