wolf_core 0.1.28 → 0.1.30

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: 89932e1140c20b24b0de380a7734568f434ed8a0ed51fb492080bf7ea36217b7
4
- data.tar.gz: 2bc80ddfdae98c1d97e4c738a0c2b6ab7eed99e40ab529a26a51df64405b9333
3
+ metadata.gz: 49f3ef2edeb0bcba802326f94227bfc55b6e5e58cbf30e23bcd056bb3b8ef379
4
+ data.tar.gz: 24b7f61bfcd2e986d25951effdc570d999ec9ead56124b12194f409c23dc15eb
5
5
  SHA512:
6
- metadata.gz: 4de2bed8e0cb028a9d01776da0a0c64d0cff9fd45cdfe0fd15f4e1098806471a0b78482ececb38c8535af20abd3ccbc9f2de20ff9617e5d54cae4d781f318113
7
- data.tar.gz: 562faac225103241be4fac6c63820d4edb134983518643afc476cacd3830cc5ba70f03ae91d0084d812c1af0a35e101fe9517173bc72e67831d710cfba736b3d
6
+ metadata.gz: e91b962300ed726555568e4088b6592b6717d08132a2d3fc512210fd043d787290a11840f28fd002a27652ff33b05810beb56ce5aba44c87f047287094d113f6
7
+ data.tar.gz: b90a749d5d6c910fa4fd844a9557234d8962a4f9de1547e24614a25041933fcc88e315dca46633701c674d338d74351a6a3884cdfbfb16d6d859d259b9e9e531
@@ -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.with_indifferent_access
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.30"
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.30
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