Method: Apidae::ImportController#callback

Defined in:
app/controllers/apidae/import_controller.rb

#callbackObject

Callback endpoint for Apidae exports

projetId : un entier. C’est l’identifiant du projet concerné. statut : une chaine de caractères, ‘SUCCESS’ ou ‘ERROR’. C’est l’issue de l’export. ponctuel : un booléen. Indique si l’export est ponctuel (true) ou périodique (false). reinitialisation : un booléen. Indique si l’export est une réinitialisation (true) ou différentiel (false). urlRecuperation : une chaine de caractères. L’URL de récupération du fichier d’export. urlConfirmation : une chaine de caractères. L’URL de confirmation.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/controllers/apidae/import_controller.rb', line 19

def callback
  export = Export.new(project_id: params[:projetId], remote_status: params[:statut], oneshot: params[:ponctuel] == 'true',
                      reset: params[:reinitialisation] == 'true', file_url: params[:urlRecuperation],
                      confirm_url: params[:urlConfirmation], status: Export::PENDING)
  if export.save
    if Rails.application.config.respond_to?(:apidae_propagate_callback)
      uri = URI(Rails.application.config.apidae_propagate_callback)
      req = Net::HTTP::Post.new(uri)
      Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == "https")) do |http|
        http.request(req, params.to_unsafe_h.to_query)
      end
    end
    head :ok
  else
    head :internal_server_error
  end
end