blob: 5428692e3ec3e34b2053c5876725c5c1bf580972 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# frozen_string_literal: true
module API
class Events < ::API::Base
include PaginationParams
include APIGuard
helpers ::API::Helpers::EventsHelpers
allow_access_with_scope :read_user, if: -> (request) { request.get? || request.head? }
feature_category :user_profile
urgency :low
resource :events do
desc "List currently authenticated user's events" do
detail 'This feature was introduced in GitLab 9.3.'
success Entities::Event
is_array true
failure [
{ code: 401, message: 'Unauthorized' }
]
end
params do
optional :scope, type: String,
desc: 'Include all events across a user’s projects',
documentation: { example: 'all' }
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
tags %w[events]
is_array true
failure [
{ code: 404, message: 'Not found' }
]
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
|