feat(procedure): validate external links
This commit is contained in:
parent
a43c3fd19d
commit
7136c96a36
13 changed files with 133 additions and 17 deletions
33
app/jobs/procedure_external_url_check_job.rb
Normal file
33
app/jobs/procedure_external_url_check_job.rb
Normal file
|
@ -0,0 +1,33 @@
|
|||
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
|
Loading…
Add table
Add a link
Reference in a new issue