47 lines
1.1 KiB
Ruby
47 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Administrateurs
|
|
class JetonParticulierController < AdministrateurController
|
|
before_action :retrieve_procedure
|
|
|
|
def api_particulier
|
|
end
|
|
|
|
def show
|
|
end
|
|
|
|
def update
|
|
@procedure.api_particulier_token = token
|
|
|
|
if @procedure.invalid?
|
|
flash.now.alert = @procedure.errors.full_messages
|
|
render :show
|
|
elsif scopes.empty?
|
|
flash.now.alert = t('.no_scopes_token')
|
|
render :show
|
|
else
|
|
@procedure.update!(api_particulier_scopes: scopes, api_particulier_sources: {})
|
|
|
|
redirect_to admin_procedure_api_particulier_sources_path(procedure_id: @procedure.id),
|
|
notice: t('.token_ok')
|
|
end
|
|
|
|
rescue APIParticulier::Error::Unauthorized
|
|
flash.now.alert = t('.not_found_token')
|
|
render :show
|
|
rescue APIParticulier::Error::HttpError
|
|
flash.now.alert = t('.network_error')
|
|
render :show
|
|
end
|
|
|
|
private
|
|
|
|
def scopes
|
|
@scopes ||= APIParticulier::API.new(token).scopes
|
|
end
|
|
|
|
def token
|
|
params[:procedure][:api_particulier_token]
|
|
end
|
|
end
|
|
end
|