Skip to content

Commit

Permalink
move end point logic to services
Browse files Browse the repository at this point in the history
  • Loading branch information
javier-npq committed Jun 23, 2023
1 parent 30a3c03 commit 222015c
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 23 deletions.
24 changes: 1 addition & 23 deletions app/jobs/receive_lead_provider_approval_status_from_ecf.rb
Original file line number Diff line number Diff line change
@@ -1,28 +1,6 @@
class ReceiveLeadProviderApprovalStatusFromEcf < ApplicationJob
queue_as :default
def perform
begin
uri = URI.parse("#{ENV['ECF_APP_BASE_URL']}/api/v3/npq-applications/send_lead_provider_approval_status_to_npq")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer #{ENV['ECF_APP_BEARER_TOKEN']}"
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
if response.is_a?(Net::HTTPSuccess)
response_data = JSON.parse(response.body)
filtered_applications = Application.where.not(ecf_id: nil)
response_data["data"].map do |status_data|
retrieved_id = status_data["attributes"]["id"]
retrieved_status = status_data["attributes"]["lead_provider_approval_status"]
application = filtered_applications.find_by(ecf_id: retrieved_id)
application.update!(lead_provider_approval_status: retrieved_status) if application.present?
end
else
response_message = response.message
raise "Failed to retrieve lead provider approval status: #{response_message}"
end
rescue StandardError => e
Rails.logger.error "An error occurred during lead provider approval status retrieval: #{e.message}"
end
Services::Ecf::EcfLeadProviderApprovalStatusReciever.new.call
end
end
29 changes: 29 additions & 0 deletions app/lib/services/ecf/ecf_lead_provider_approval_status_reciever.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
module Services
module Ecf
class EcfLeadProviderApprovalStatusReciever
def call
uri = URI.parse("#{ENV['ECF_APP_BASE_URL']}/api/v3/npq-applications/send_lead_provider_approval_status_to_npq")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer #{ENV['ECF_APP_BEARER_TOKEN']}"
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
if response.is_a?(Net::HTTPSuccess)
response_data = JSON.parse(response.body)
filtered_applications = Application.where.not(ecf_id: nil)
response_data["data"].map do |status_data|
retrieved_id = status_data["attributes"]["id"]
retrieved_status = status_data["attributes"]["lead_provider_approval_status"]
application = filtered_applications.find_by(ecf_id: retrieved_id)
application.update!(lead_provider_approval_status: retrieved_status) if application.present?
end
else
response_message = response.message
raise "Failed to retrieve lead provider approval status: #{response_message}"
end
rescue StandardError => e
Rails.logger.error "An error occurred during lead provider approval status retrieval: #{e.message}"
end
end
end
end

0 comments on commit 222015c

Please sign in to comment.