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
|
# File 'app/controllers/fuik/webhooks_controller.rb', line 9
def create
verify_signature!
webhook_event = WebhookEvent.create!(
provider: params[:provider],
event_id: event_id,
event_type: event_type,
body: json_body,
headers:
)
Notifications.received(
provider: params[:provider],
event_id: event_id,
event_type: event_type,
webhook_event: webhook_event
)
webhook_event.process_later!
head :ok
rescue Fuik::InvalidSignature
Notifications.signature_invalid(
provider: params[:provider],
event_id: event_id
)
head :unauthorized
rescue ActiveRecord::RecordNotUnique
head :ok
rescue => error
Notifications.receive_error(
provider: request.path_parameters[:provider],
error: error
)
head :internal_server_error
end
|