chore(api_entreprise): intercept token expiration for a more contextual frontend message

Auparavant le service échouait silencieusement et ne retournait rien,
ce qui dans les implémentations du front aboutissait au message que
l'établissement/l'entreprise n'a pas été trouvé.

Un type d'erreur spécifique sur l'expiration du token permet d'afficher
le message lié à un problème temporaire de récupération d'infos.
This commit is contained in:
Colin Darie 2022-07-12 19:06:20 +02:00
parent 5e1fc855e3
commit d3232a28cd
7 changed files with 10 additions and 5 deletions

View file

@ -82,7 +82,10 @@ class APIEntreprise::API
end
def self.call_with_siret(resource_name, siret_or_siren, procedure_id, user_id = nil)
return if APIEntrepriseToken.new(token_for_procedure(procedure_id)).expired?
if APIEntrepriseToken.new(token_for_procedure(procedure_id)).expired?
raise APIEntrepriseToken::TokenError, I18n.t("api_entreprise.errors.token_expired")
end
url = url(resource_name, siret_or_siren)
params = params(siret_or_siren, procedure_id, user_id)