34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
|
class ProcedureExternalURLCheckJob < ApplicationJob
|
||
|
def perform(procedure)
|
||
|
procedure.validate
|
||
|
|
||
|
if procedure.lien_notice.present?
|
||
|
error = procedure.errors.find { _1.attribute == :lien_notice }
|
||
|
if error.present?
|
||
|
procedure.update!(lien_notice_error: error.message)
|
||
|
else
|
||
|
response = Typhoeus.get(procedure.lien_notice, followlocation: true)
|
||
|
if response.success?
|
||
|
procedure.update!(lien_notice_error: nil)
|
||
|
else
|
||
|
procedure.update!(lien_notice_error: "#{response.code} #{response.return_message}")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if procedure.lien_dpo.present? && !procedure.lien_dpo_email?
|
||
|
error = procedure.errors.find { _1.attribute == :lien_dpo }
|
||
|
if error.present?
|
||
|
procedure.update!(lien_dpo_error: error.message)
|
||
|
else
|
||
|
response = Typhoeus.get(procedure.lien_dpo, followlocation: true)
|
||
|
if response.success?
|
||
|
procedure.update!(lien_dpo_error: nil)
|
||
|
else
|
||
|
procedure.update!(lien_dpo_error: "#{response.code} #{response.return_message}")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|