wolf_core 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 72dc3ed5c7b6520f4baa43f27e45a304ac21b7b68d5167beeed386fd088ee2e9
4
- data.tar.gz: 87fa7ece4f89b46d81f7ca97c0e1470fa7f3ceff03de7725d5e3bc31b7b09d2e
3
+ metadata.gz: 25d89c3a8737d9499b4447c06589393dea5ab143eb34c0e7590ec5bf3d0fa9e4
4
+ data.tar.gz: 351c09422199fac40c791a2e5b67cb3a9313e522786743e57b241127a33d0b1d
5
5
  SHA512:
6
- metadata.gz: 570ad8e75a0c36bab766171acc847ecf0cf73e668890c425da83ed89bda51ca2890df07a9fb3a97dab425ded238287abfd239c4e510726ad44826bdd3be7b102
7
- data.tar.gz: ae521dc9bc683c8cbc960abaf0b23037b5a804e2bcbeabb18b088b6fd7d36b345a679d81158152173a4d739effcbc45f4cae1f5ef0571996a1916fa3bebf9b06
6
+ metadata.gz: 380d68d53a9acfeafe6da17f988da627c3386bbb8a401d93046601ea64cf677818cfa6eb61512a158a2baf8eb585954c041aa030695c773e5f1b62ee7ecfb5d5
7
+ data.tar.gz: dca7237f623f957f7e6400de442376e07830aa5fd450532c9aa4bc5eb6c92a5b08e57dab2f17a7e5157b172be248b571fd2177b20bd5293d04df984fa56e3cde
@@ -1,7 +1,8 @@
1
1
  module WolfCore
2
2
  module Integrations
3
3
  module WebhooksOperations
4
- def get_payload(event_type:, params:)
4
+ def get_payload(params:, event_type: nil)
5
+ event_type ||= get_event_type(params: params)
5
6
  return if event_type == 'SubscriptionConfirmation'
6
7
  params = JSON.parse(params['Message'] || '{}')
7
8
  JSON.parse(params['payload'] || '{}')
@@ -16,7 +17,7 @@ module WolfCore
16
17
  message['event_name']
17
18
  end
18
19
 
19
- def validate_user(params:)
20
+ def validate_user_is_not_admin(params:)
20
21
  event_type = get_event_type(params: params)
21
22
  return if event_type == 'SubscriptionConfirmation'
22
23
 
@@ -27,17 +28,15 @@ module WolfCore
27
28
  end
28
29
 
29
30
  def subscription_confirmation_request(url:)
30
- response = safe_http_get(
31
+ safe_http_get(
31
32
  url: url,
32
33
  error_message: "Can not confirm subscription",
33
34
  )
34
- response
35
35
  end
36
36
 
37
37
  def process_webhook(params:)
38
38
  event_type = get_event_type(params: params)
39
39
  event_name = get_event_name(params: params)
40
- # payload = get_payload(event_type: event_type, params: params)
41
40
  if event_type == 'SubscriptionConfirmation'
42
41
  url = params['SubscribeURL']
43
42
  elsif event_type == 'Notification'
@@ -56,6 +55,44 @@ module WolfCore
56
55
  params = JSON.parse(params['Message'] || '{}')
57
56
  params['object_id']
58
57
  end
58
+
59
+ def group_custom_values_by_custom_requirement_group(
60
+ params:,
61
+ jobseeker_file_custom_requirement_ids:,
62
+ reference_form_custom_requirement_ids:,
63
+ disclosure_form_custom_requirement_ids:
64
+ )
65
+ log_object jobseeker_file_custom_requirement_ids, title: 'group_custom_values_by_custom_requirement_group jobseeker_file_custom_requirement_ids are'
66
+ log_object reference_form_custom_requirement_ids, title: 'group_custom_values_by_custom_requirement_group reference_form_custom_requirement_ids are'
67
+ log_object disclosure_form_custom_requirement_ids, title: 'group_custom_values_by_custom_requirement_group disclosure_form_custom_requirement_ids are'
68
+ payload = get_payload(params: params)
69
+ log_object payload, title: 'group_custom_values_by_custom_requirement_group payload is'
70
+ custom_values = payload.dig('changes', 'custom_values')
71
+ log_object custom_values, title: 'group_custom_values_by_custom_requirement_group custom_values 1 are'
72
+ if custom_values.blank?
73
+ custom_values = [ payload['attributes'] ]
74
+ log_object custom_values, title: 'group_custom_values_by_custom_requirement_group custom_values 2 are'
75
+ end
76
+
77
+ custom_values.group_by do |custom_value|
78
+ log_object custom_value, title: 'group_custom_values_by_custom_requirement_group custom_value is'
79
+ custom_requirement_group = if jobseeker_file_custom_requirement_ids.include?(custom_value['custom_requirement_id'])
80
+ 'jobseeker_file'
81
+ elsif reference_form_custom_requirement_ids.include?(custom_value['custom_requirement_id'])
82
+ 'reference_form'
83
+ elsif disclosure_form_custom_requirement_ids.include?(custom_value['custom_requirement_id'])
84
+ 'disclosure_form'
85
+ elsif custom_value['user_category'] == 'Freelancer'
86
+ 'jobseeker'
87
+ elsif custom_value['user_category'] == 'Campaign'
88
+ 'order'
89
+ else
90
+ 'unknown_group'
91
+ end
92
+
93
+ custom_requirement_group
94
+ end
95
+ end
59
96
  end
60
97
  end
61
98
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.2"
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: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Roncallo