an admin can save it's api particulier token

Co-authored-by: François VANTOMME <akarzim@gmail.com>
This commit is contained in:
simon lehericey 2021-09-15 10:53:09 +02:00
parent 4c0dd43055
commit ee6d19e3ee
4 changed files with 111 additions and 1 deletions

View file

@ -4,5 +4,38 @@ module NewAdministrateur
def api_particulier
end
def show
end
def update
@procedure.api_particulier_token = token
if @procedure.valid? && fetch_scopes(token).any?
@procedure.save
redirect_to admin_procedure_api_particulier_jeton_path(procedure_id: @procedure.id),
notice: "Le jeton a bien été mis à jour"
else
flash.now.alert = "Mise à jour impossible : le jeton n'est pas valide<br /><br />Vérifier le auprès de <a href='https://datapass.api.gouv.fr/'>https://datapass.api.gouv.fr/</a>"
render :show
end
rescue APIParticulier::Error::Unauthorized
flash.now.alert = "Mise à jour impossible : le jeton n'a pas été trouvé ou n'est pas actif<br /><br />Vérifier le auprès de <a href='https://datapass.api.gouv.fr/'>https://datapass.api.gouv.fr/</a>"
render :show
rescue APIParticulier::Error::HttpError
flash.now.alert = "Mise à jour impossible : une erreur réseau est survenue"
render :show
end
private
def fetch_scopes(token)
@scopes ||= APIParticulier::API.new(token).scopes
end
def token
params[:procedure][:api_particulier_token]
end
end
end