wolf_core 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 953b66fcc955d5b4ae8a2f1d17e3e4cc53d2ae21843fa72b1ace1df5823b064e
4
- data.tar.gz: 8cdd27b6a73f40ea9cd4d4ee0127d4c9bb1b011cde46e1b2dfbd114a09a2e70e
3
+ metadata.gz: dcfd91aedb5d4ebb38e45ba2cd911633fd732d4096f3e5c08a60afff24199b95
4
+ data.tar.gz: 964fe3de836bd69567299b9dcc7c69975406cb9373c032f530d4a4ebcc6e6e87
5
5
  SHA512:
6
- metadata.gz: 1d5fd3fa9396960f9e67fb99a73c548eac336d8e169789785a8c60d4f3404c27895f0ec405bd25ecef632b9583d8baee5f07f122352996025babda4a15da53c3
7
- data.tar.gz: 40c108d6eb259ce1676cbd33f9c305049f3082a2d5aa0410a4944e019796d41f3a8f3e247615cb8589655444da312660dd7d520b3cbb1be050e222ab71d9dc70
6
+ metadata.gz: 80e7e908fac3ee1866d45e7faf12d65c6d1370d8e83582a32336192180e728e9adc1ed6f0db7e31ce8b627c04213f7a84751e80ee187ab782273cea8dd5134f2
7
+ data.tar.gz: 720faa8d753336d7c58d05334c73144bb0c6e28e38d231a2b2225157e5a635d24ae9dbe0fb0d8b52470dabc02fea274dc54e19b0e567118f170d409c5fb4e591
@@ -3,26 +3,33 @@ module WolfCore
3
3
  module WebhooksOperations
4
4
  def get_payload(params:, event_type: nil)
5
5
  event_type ||= get_event_type(params: params)
6
- return if event_type == 'SubscriptionConfirmation'
7
- params = JSON.parse(params['Message'] || '{}')
8
- JSON.parse(params['payload'] || '{}')
6
+ return if event_type == "SubscriptionConfirmation"
7
+
8
+ message = params["Message"] || {}
9
+ message = JSON.parse(message) if message.is_a?(String)
10
+
11
+ payload = message["payload"] || {}
12
+ payload = JSON.parse(payload) if payload.is_a?(String)
13
+
14
+ payload
9
15
  end
10
16
 
11
17
  def get_event_type(params:)
12
- params['Type']
18
+ params["Type"]
13
19
  end
14
20
 
15
21
  def get_event_name(params:)
16
- message = JSON.parse(params['Message'] || {})
17
- message['event_name']
22
+ message = params["Message"] || {}
23
+ message = JSON.parse(message) if message.is_a?(String)
24
+ message["event_name"]
18
25
  end
19
26
 
20
27
  def validate_user_is_not_admin(params:)
21
28
  event_type = get_event_type(params: params)
22
- return if event_type == 'SubscriptionConfirmation'
29
+ return if event_type == "SubscriptionConfirmation"
23
30
 
24
- user_id = params.dig('invoker', 'user_id').to_s
25
- return unless user_id == ENV['WOLF_ADMIN_ID'].to_s
31
+ user_id = params.dig("invoker", "user_id").to_s
32
+ return unless user_id == ENV["WOLF_ADMIN_ID"].to_s
26
33
 
27
34
  raise_service_error("Ignoring event from user id #{user_id}")
28
35
  end
@@ -30,16 +37,16 @@ module WolfCore
30
37
  def subscription_confirmation_request(url:)
31
38
  safe_http_get(
32
39
  url: url,
33
- error_message: "Can not confirm subscription",
40
+ error_message: "Can not confirm subscription"
34
41
  )
35
42
  end
36
43
 
37
44
  def process_webhook(params:)
38
45
  event_type = get_event_type(params: params)
39
- if event_type == 'SubscriptionConfirmation'
40
- url = params['SubscribeURL']
46
+ if event_type == "SubscriptionConfirmation"
47
+ url = params["SubscribeURL"]
41
48
  subscription_confirmation_request(url: url)
42
- elsif event_type == 'Notification'
49
+ elsif event_type == "Notification"
43
50
  event_name = get_event_name(params: params)
44
51
  yield(event_name)
45
52
  end
@@ -52,14 +59,15 @@ module WolfCore
52
59
  }
53
60
  if include_changes
54
61
  payload = get_payload(params: params)
55
- body[:changes] = payload&.dig('changes')
62
+ body[:changes] = payload&.dig("changes")
56
63
  end
57
64
  body
58
65
  end
59
66
 
60
67
  def get_object_id(params:)
61
- params = JSON.parse(params['Message'] || '{}')
62
- params['object_id']
68
+ message = params["Message"] || {}
69
+ message = JSON.parse(message) if message.is_a?(String)
70
+ message["object_id"]
63
71
  end
64
72
 
65
73
  def group_custom_values_by_custom_requirement_group(
@@ -68,29 +76,27 @@ module WolfCore
68
76
  reference_form_custom_requirement_ids:,
69
77
  disclosure_form_custom_requirement_ids:
70
78
  )
71
- custom_values = payload.dig('changes', 'custom_values')
72
- if custom_values.blank?
73
- custom_values = [ payload['attributes'] ]
74
- end
79
+ custom_values = payload.dig("changes", "custom_values")
80
+ custom_values = [payload["attributes"]] if custom_values.blank?
75
81
 
76
82
  custom_values.group_by do |custom_value|
77
- custom_requirement_group = if jobseeker_file_custom_requirement_ids.include?(custom_value['custom_requirement_id'].to_s)
78
- 'jobseeker_file'
79
- elsif reference_form_custom_requirement_ids.include?(custom_value['custom_requirement_id'].to_s)
80
- 'reference_form'
81
- elsif disclosure_form_custom_requirement_ids.include?(custom_value['custom_requirement_id'].to_s)
82
- 'disclosure_form'
83
- elsif custom_value['user_category'] == 'Freelancer'
84
- 'jobseeker'
85
- elsif custom_value['user_category'] == 'Campaign'
86
- 'order'
87
- else
88
- 'unknown_group'
89
- end
83
+ custom_requirement_group = if jobseeker_file_custom_requirement_ids.include?(custom_value["custom_requirement_id"].to_s)
84
+ "jobseeker_file"
85
+ elsif reference_form_custom_requirement_ids.include?(custom_value["custom_requirement_id"].to_s)
86
+ "reference_form"
87
+ elsif disclosure_form_custom_requirement_ids.include?(custom_value["custom_requirement_id"].to_s)
88
+ "disclosure_form"
89
+ elsif custom_value["user_category"] == "Freelancer"
90
+ "jobseeker"
91
+ elsif custom_value["user_category"] == "Campaign"
92
+ "order"
93
+ else
94
+ "unknown_group"
95
+ end
90
96
 
91
97
  custom_requirement_group
92
98
  end
93
99
  end
94
100
  end
95
101
  end
96
- end
102
+ end
@@ -139,11 +139,6 @@ module WolfCore
139
139
 
140
140
  name_range ||= 0..-2
141
141
  lastname_range ||= -1..-1
142
- log_object words, title: "split_name words are"
143
- log_object name_range, title: "split_name name_range is"
144
- log_object lastname_range, title: "split_name lastname_range is"
145
- log_object words[name_range], title: "split_name words[name_range] is"
146
- log_object words[lastname_range], title: "split_name words[lastname_range] is"
147
142
 
148
143
  name = words[name_range].join(" ")
149
144
  lastname = words[lastname_range].join(" ")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "1.1.2"
4
+ VERSION = "1.1.4"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wolf_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Roncallo