gitlab-org--gitlab-foss/lib/api/events.rb
Małgorzata Ksionek 1103c09776 Add new api class for projects events
Refactor api events class to use external helper

Move specs from old class

Add changelog and magic string

Refactor events class to be more explicit

Remove blank line
2019-04-24 17:20:11 +02:00

55 lines
1.2 KiB
Ruby

# frozen_string_literal: true
module API
class Events < Grape::API
include PaginationParams
include APIGuard
helpers ::API::Helpers::EventsHelpers
allow_access_with_scope :read_user, if: -> (request) { request.get? }
resource :events do
desc "List currently authenticated user's events" do
detail 'This feature was introduced in GitLab 9.3.'
success Entities::Event
end
params do
use :pagination
use :event_filter_params
use :sort_params
end
get do
authenticate!
events = find_events(current_user)
present_events(events)
end
end
params do
requires :id, type: String, desc: 'The ID or Username of the user'
end
resource :users do
desc 'Get the contribution events of a specified user' do
detail 'This feature was introduced in GitLab 8.13.'
success Entities::Event
end
params do
use :pagination
use :event_filter_params
use :sort_params
end
get ':id/events' do
user = find_user(params[:id])
not_found!('User') unless user
events = find_events(user)
present_events(events)
end
end
end
end