From 97ce8f312baa008fbe36b0a172c8ea285619bdac Mon Sep 17 00:00:00 2001 From: Paul Chavard Date: Thu, 14 Jan 2021 23:55:34 +0100 Subject: [PATCH] Use external_id to fetch annuaire_education data --- app/jobs/annuaire_education_update_job.rb | 8 ++++---- app/lib/api_education/annuaire_education_adapter.rb | 6 +++--- app/lib/api_education/api.rb | 4 ++-- app/models/champs/annuaire_education_champ.rb | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/jobs/annuaire_education_update_job.rb b/app/jobs/annuaire_education_update_job.rb index b312a0fd7..334b268e9 100644 --- a/app/jobs/annuaire_education_update_job.rb +++ b/app/jobs/annuaire_education_update_job.rb @@ -1,14 +1,14 @@ class AnnuaireEducationUpdateJob < ApplicationJob def perform(champ) - search_term = champ.value + external_id = champ.external_id - if search_term.present? - data = ApiEducation::AnnuaireEducationAdapter.new(search_term).to_params + if external_id.present? + data = ApiEducation::AnnuaireEducationAdapter.new(external_id).to_params if data.present? champ.data = data else - champ.value = nil + champ.external_id = nil end champ.save! end diff --git a/app/lib/api_education/annuaire_education_adapter.rb b/app/lib/api_education/annuaire_education_adapter.rb index 46bf3b977..151120ec1 100644 --- a/app/lib/api_education/annuaire_education_adapter.rb +++ b/app/lib/api_education/annuaire_education_adapter.rb @@ -7,8 +7,8 @@ class ApiEducation::AnnuaireEducationAdapter end end - def initialize(search_term) - @search_term = search_term + def initialize(id) + @id = id end def to_params @@ -27,7 +27,7 @@ class ApiEducation::AnnuaireEducationAdapter private def data_source - @data_source ||= JSON.parse(ApiEducation::API.search_annuaire_education(@search_term), symbolize_names: true) + @data_source ||= JSON.parse(ApiEducation::API.get_annuaire_education(@id), symbolize_names: true) end def schemer diff --git a/app/lib/api_education/api.rb b/app/lib/api_education/api.rb index b113ebce9..368096712 100644 --- a/app/lib/api_education/api.rb +++ b/app/lib/api_education/api.rb @@ -2,8 +2,8 @@ class ApiEducation::API class ResourceNotFound < StandardError end - def self.search_annuaire_education(search_term) - call([API_EDUCATION_URL, 'search'].join('/'), 'fr-en-annuaire-education', { q: search_term }) + def self.get_annuaire_education(id) + call([API_EDUCATION_URL, 'search'].join('/'), 'fr-en-annuaire-education', { 'refine.identifiant_de_l_etablissement': id }) end private diff --git a/app/models/champs/annuaire_education_champ.rb b/app/models/champs/annuaire_education_champ.rb index 874d69949..4463cc622 100644 --- a/app/models/champs/annuaire_education_champ.rb +++ b/app/models/champs/annuaire_education_champ.rb @@ -23,13 +23,13 @@ class Champs::AnnuaireEducationChamp < Champs::TextChamp private def cleanup_if_empty - if value_changed? + if external_id_changed? self.data = nil end end def fetch_data - if value.present? && data.nil? + if external_id.present? && data.nil? AnnuaireEducationUpdateJob.perform_later(self) end end