diff --git a/app/services/api_geo_service.rb b/app/services/api_geo_service.rb index 19931cc19..06e1cb094 100644 --- a/app/services/api_geo_service.rb +++ b/app/services/api_geo_service.rb @@ -81,9 +81,11 @@ class APIGeoService end def communes_by_postal_code(postal_code) - communes_by_postal_code_map.fetch(postal_code, []) - .filter { !_1[:code].in?(['75056', '13055', '69123']) } - .sort_by { I18n.transliterate([_1[:name], _1[:postal_code]].join(' ')) } + Rails.cache.fetch("api_geo_communes_by_pc_#{postal_code}", expires_in: 1.week, version: 3) do + communes_by_postal_code_map.fetch(postal_code, []) + .filter { !_1[:code].in?(['75056', '13055', '69123']) } + .sort_by { I18n.transliterate([_1[:name], _1[:postal_code]].join(' ')) } + end end def commune_name(departement_code, code)