7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/legion/api/webhooks.rb', line 7
def self.registered(app)
app.get '/api/webhooks' do
json_response(Legion::Webhooks.list)
end
app.post '/api/webhooks' do
Legion::Logging.debug "API: POST /api/webhooks params=#{params.keys}"
body = parse_request_body
result = Legion::Webhooks.register(
url: body[:url], secret: body[:secret],
event_types: body[:event_types] || ['*'],
max_retries: body[:max_retries] || 5
)
Legion::Logging.info "API: registered webhook for url=#{body[:url]} events=#{(body[:event_types] || ['*']).join(',')}"
json_response(result, status_code: 201)
end
app.delete '/api/webhooks/:id' do
result = Legion::Webhooks.unregister(id: params[:id].to_i)
Legion::Logging.info "API: deleted webhook #{params[:id]}"
json_response(result)
end
end
|