wolf_core 0.1.93 → 0.1.95

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: d6a14edf874aa355f27855dd9d079eb6021cfbdadb567145ea504bc9c6db0cb9
4
- data.tar.gz: f487aa97b22d03c87d2dc9a5b6c31368b3ba58b5a886657748c3d90a4ff3f181
3
+ metadata.gz: e19a6b8b85db964078cb573c3c0a9a70d259ac868b7cf13340646be965d74dde
4
+ data.tar.gz: 9ed9bf169bfd6e3d1b98ae11d3338f5aaa5f1546338b10e9a8fbe2e1aa5b8f66
5
5
  SHA512:
6
- metadata.gz: b1b821159b757e9fcc292d91148eb66d56245f2578a230fb0a3ba3bee4e894ecbaccc7a18d4671550b436411c9813c18339a0ae59a961eb9b918d8bc0c87de19
7
- data.tar.gz: fda07fdd47fc816a7e5bf8f5e5778c91feeaeec08ee5d63344cb13f888b0bdfa1163bd3f027a34894adf8c352ced6018b02afdaa8812ee62bd0b97dcf2e0af12
6
+ metadata.gz: 59d2649c23a0471dfcf230d4d4ac71206fee9b389d2e30a75387ae3784bf0b47b48f37cd92c810ce5e41b5c68201c34b8220c243a33494ee579d058a0fc2f849
7
+ data.tar.gz: 72f602f75d91972f8ecfcc0d1d21c77f70dcb84a659fddda7f2d2f8f9bc17121fe772e2b659eadb1f35986bd95c2927a134b93fdae48337a0af8368caf5fb573
@@ -0,0 +1,22 @@
1
+ module WolfCore
2
+ module Burnett
3
+ module Auth
4
+ module Operations
5
+ def get_erecruit_access_token
6
+ response = safe_http_post(
7
+ url: ENV['ERECRUIT_AUTH_URL'],
8
+ headers: { 'Content-Type' => 'application/x-www-form-urlencoded' },
9
+ body: {
10
+ client_id: ENV['ERECRUIT_AUTH_CLIENT_ID'],
11
+ client_secret: ENV['ERECRUIT_AUTH_CLIENT_SECRET'],
12
+ grant_type: ENV['ERECRUIT_AUTH_GRANT_TYPE'],
13
+ },
14
+ error_message: 'Unable to get erecruit token'
15
+ )
16
+ access_token = response.body['access_token']
17
+ access_token
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ module WolfCore
2
+ module Integrations
3
+ module RoutingOperations
4
+ def route_event_request(path:, body:)
5
+ environment = ENV['ENVIRONMENT']
6
+ if environment == 'production'
7
+ function_name = PATH_TO_FUNCTION_NAME_MAPPING[path]
8
+ raise_service_error("Function name not found for path: #{path}") if function_name.blank?
9
+
10
+ invoke_lambda(
11
+ function_name: function_name,
12
+ payload: body,
13
+ )
14
+ else
15
+ domain_url = ENV['CURRENT_SAM_URL']
16
+ async_http_post(url: "#{domain_url}/#{path}", body: body)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,43 @@
1
+ module WolfCore
2
+ module Integrations
3
+ module WebhooksOperations
4
+ def get_payload(event_type:, params:)
5
+ return if event_type == 'SubscriptionConfirmation'
6
+ params = JSON.parse(params['Message'] || '{}')
7
+ params['payload'] = JSON.parse(params['payload'] || '{}')
8
+ end
9
+
10
+ def get_event_type(params:)
11
+ params['Type']
12
+ end
13
+
14
+ def get_event_name(params:)
15
+ message = JSON.parse(params['Message'] || {})
16
+ message['event_name']
17
+ end
18
+
19
+ def validate_user(event_type:, params:)
20
+ return if event_type == 'SubscriptionConfirmation'
21
+
22
+ user_id = params.dig('invoker', 'user_id').to_s
23
+ return unless user_id == ENV['WOLF_ADMIN_ID'].to_s
24
+
25
+ raise_service_error("Ignoring event from user id #{user_id}")
26
+ end
27
+
28
+ def subscription_confirmation_request(url:)
29
+ response = safe_http_get(
30
+ url: url,
31
+ error_message: "Can not confirm subscription",
32
+ )
33
+ response
34
+ end
35
+
36
+ def build_body_from_params(params:, id_key:)
37
+ params.slice(
38
+ 'event_name', 'payload'
39
+ ).merge({ id_key => params['object_id'] })
40
+ end
41
+ end
42
+ end
43
+ end
@@ -17,8 +17,7 @@ module WolfCore
17
17
  response = http_get(url: url, headers: headers, query: query)
18
18
  response = parse_http_response(response)
19
19
 
20
- title ||= 'safe_http_get response is'
21
- log_object response, title: title
20
+ log_object response, title: title if title.present?
22
21
 
23
22
  error_message ||= 'Error on safe_http_get'
24
23
  validate_http_response(response: response, message: error_message)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "0.1.93"
4
+ VERSION = "0.1.95"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wolf_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.93
4
+ version: 0.1.95
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Roncallo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-25 00:00:00.000000000 Z
11
+ date: 2024-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -92,8 +92,11 @@ files:
92
92
  - lib/wolf_core/application/barton/mappings.rb
93
93
  - lib/wolf_core/application/barton/parsing.rb
94
94
  - lib/wolf_core/application/barton/routing.rb
95
+ - lib/wolf_core/application/burnett/auth/auth_operations.rb
95
96
  - lib/wolf_core/application/exception_operations.rb
96
97
  - lib/wolf_core/application/integrations/change_detection.rb
98
+ - lib/wolf_core/application/integrations/routing_operations.rb
99
+ - lib/wolf_core/application/integrations/webhooks_operations.rb
97
100
  - lib/wolf_core/application/salesforce_oauth_service.rb
98
101
  - lib/wolf_core/application/service_exception.rb
99
102
  - lib/wolf_core/infrastructure/fkm_operations.rb
@@ -134,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
137
  - !ruby/object:Gem::Version
135
138
  version: '0'
136
139
  requirements: []
137
- rubygems_version: 3.5.18
140
+ rubygems_version: 3.5.16
138
141
  signing_key:
139
142
  specification_version: 4
140
143
  summary: Repository to store shared code among Ruby projects.