Module: WolfCore::FkmOperations

Includes:
HttpOperations
Defined in:
lib/wolf_core/application/fkm_operations.rb

Instance Method Summary collapse

Methods included from HttpOperations

#http_get, #http_post, #parse_http_response, #validate_http_response

Methods included from ExceptionOperations

#raise_service_error

Instance Method Details

#get_foreign_key_destination_id(tenant:, source:, source_id:, destination:) ⇒ Object



5
6
7
8
9
# File 'lib/wolf_core/application/fkm_operations.rb', line 5

def get_foreign_key_destination_id(tenant:, source:, source_id:, destination:)
  response_body = get_foreign_keys(tenant: tenant, source: source, source_id: source_id)
  foreign_keys = response_body
  foreign_keys.find { |fk| fk['destination'] == destination }&.dig('destination_id')
end

#get_foreign_keys(tenant:, source:, source_id:) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/wolf_core/application/fkm_operations.rb', line 11

def get_foreign_keys(tenant:, source:, source_id:)
  response = http_get(
    url: "#{ENV['FKM_URL']}/Prod/lookup?tenant=#{tenant}&source=#{source}&source_id=#{source_id}"
  )
  validate_http_response(response: response, message: 'Error getting foreign keys')
  parse_http_response(response).body
end