wolf_core 0.1.28 → 0.1.29

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: 89932e1140c20b24b0de380a7734568f434ed8a0ed51fb492080bf7ea36217b7
4
- data.tar.gz: 2bc80ddfdae98c1d97e4c738a0c2b6ab7eed99e40ab529a26a51df64405b9333
3
+ metadata.gz: 57aa9bfd33652940c175b75d42f9d9cb48d1da5215f3f527643ea44748a7b34f
4
+ data.tar.gz: 7a0a439e84012da04ef0b8ea94d5282a0ecd47b4444e7c71497c16a951c3900e
5
5
  SHA512:
6
- metadata.gz: 4de2bed8e0cb028a9d01776da0a0c64d0cff9fd45cdfe0fd15f4e1098806471a0b78482ececb38c8535af20abd3ccbc9f2de20ff9617e5d54cae4d781f318113
7
- data.tar.gz: 562faac225103241be4fac6c63820d4edb134983518643afc476cacd3830cc5ba70f03ae91d0084d812c1af0a35e101fe9517173bc72e67831d710cfba736b3d
6
+ metadata.gz: 7e0c02cb302dfb785c98b6f7c856578a6a9854e997b76df7cb7705882de738de06130bad46a00280ec752c6946766bcc9583b2a644d3b37c255a5f79e9825ded
7
+ data.tar.gz: d4547671e07bf6ddc59d2ad6f10e080db5882194f901cfea2639d28929d994b2594f0a633d46e9e48e4bcee4fa22d0d519c84ffc0317648e77bb5ccf51e5c0b6
@@ -40,11 +40,6 @@ module WolfCore
40
40
  return permitted
41
41
  end
42
42
 
43
- def route_event_request(path:, body:)
44
- domain_url = ENV['CURRENT_SAM_URL']
45
- async_http_post(url: "#{domain_url}/#{path}", body: body)
46
- end
47
-
48
43
  def get_salesforce_access_token
49
44
  result = WolfCore::SalesforceOauthService.new.call
50
45
  raise_failed_result(result)
@@ -0,0 +1,28 @@
1
+ module WolfCore
2
+ module Barton
3
+ module Routing
4
+ include WolfCore::HttpOperations
5
+ include WolfCore::LambdaFunctionOperations
6
+
7
+ PATH_TO_FUNCTION_NAME_MAPPING = {
8
+ 'barton/import/jobseeker' => 'BartonImportJobseeker',
9
+ 'barton/export/jobseeker' => 'BartonExportJobseeker',
10
+ 'barton/import/order' => 'BartonImportOrder',
11
+ 'barton/export/order' => 'BartonExportOrder',
12
+ }
13
+
14
+ def route_event_request(path:, body:)
15
+ domain_url = ENV['CURRENT_SAM_URL']
16
+ if domain_url.present?
17
+ async_http_post(url: "#{domain_url}/#{path}", body: body)
18
+ else
19
+ function_name = PATH_TO_FUNCTION_NAME_MAPPING[path]
20
+ invoke_lambda(
21
+ function_name: function_name,
22
+ payload: body,
23
+ )
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -3,5 +3,31 @@ module WolfCore
3
3
  def invoke_lambda(function_name:, payload:)
4
4
  WolfCore::LambdaFunctionDataSource.invoke(function_name: function_name, payload: payload)
5
5
  end
6
+
7
+ def get_event_params(event)
8
+ event_body = event['body']
9
+ return deep_parse_json(event_body) if event_body.present?
10
+ event
11
+ end
12
+
13
+ def deep_parse_json(input)
14
+ while input.is_a?(String)
15
+ begin
16
+ input = JSON.parse(input)
17
+ rescue JSON::ParserError
18
+ break
19
+ end
20
+ end
21
+
22
+ input&.with_indifferent_access || {}
23
+ end
24
+
25
+ def result_to_response(result)
26
+ if result.success?
27
+ { statusCode: 200, body: result.data.to_h.to_json }
28
+ else
29
+ { statusCode: result.error.status || 422, body: result.error.to_h.to_json }
30
+ end
31
+ end
6
32
  end
7
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "0.1.28"
4
+ VERSION = "0.1.29"
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.1.28
4
+ version: 0.1.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Roncallo
@@ -62,6 +62,7 @@ files:
62
62
  - lib/wolf_core.rb
63
63
  - lib/wolf_core/application/application_service.rb
64
64
  - lib/wolf_core/application/barton/mappings.rb
65
+ - lib/wolf_core/application/barton/routing.rb
65
66
  - lib/wolf_core/application/exception_operations.rb
66
67
  - lib/wolf_core/application/salesforce_oauth_service.rb
67
68
  - lib/wolf_core/application/service_exception.rb