demarches-normaliennes/app/lib/api_entreprise/rna_adapter.rb
Colin Darie b75cff2fc3 refactor: API Entreprise instancified, more flexible for various input params
En fonction des resources, l'API est appelée :

- dans le contexte d'une Procedure ou non
- avec ou sans token injecté
- avec ou sans siret/siren
- avec ou sans user
2022-09-06 09:23:52 +02:00

38 lines
946 B
Ruby

class APIEntreprise::RNAAdapter < APIEntreprise::Adapter
private
def get_resource
api(@procedure_id).rna(@siret)
end
def process_params
# Sometimes the associations endpoints responses with a 206,
# and these response are often useable as the they only
# contain an error message.
# Therefore here we make sure that our response seems valid
# by checking that there is an association attribute.
if !data_source.key?(:association)
{}
else
association_id = data_source[:association][:id]
params = data_source[:association].slice(*attr_to_fetch)
if association_id.present? && valid_params?(params)
params[:rna] = association_id
params.transform_keys { |k| :"association_#{k}" }
else
{}
end
end
end
def attr_to_fetch
[
:titre,
:objet,
:date_creation,
:date_declaration,
:date_publication
]
end
end