From 461289966a55cdd7ba24b1c2853432bae0c7dfce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com> Date: Thu, 3 Mar 2022 11:49:49 +0100 Subject: [PATCH] Added refresh token task --- .../administration/qualiopi/indicator.rb | 2 +- app/models/communication/website.rb | 2 +- .../communication/website/configs/base_url.rb | 2 +- .../website/configs/permalinks.rb | 2 +- app/models/education/program.rb | 2 +- lib/tasks/app.rake | 24 +++++++++++++++++++ test/fixtures/communication/websites.yml | 2 +- 7 files changed, 30 insertions(+), 6 deletions(-) diff --git a/app/models/administration/qualiopi/indicator.rb b/app/models/administration/qualiopi/indicator.rb index 6e06a0273..300286f22 100644 --- a/app/models/administration/qualiopi/indicator.rb +++ b/app/models/administration/qualiopi/indicator.rb @@ -20,7 +20,7 @@ # # Foreign Keys # -# fk_rails_eed87f7acf (criterion_id => administration_qualiopi_criterions.id) +# fk_rails_31f1a0a2c9 (criterion_id => administration_qualiopi_criterions.id) # class Administration::Qualiopi::Indicator < ApplicationRecord include Sanitizable diff --git a/app/models/communication/website.rb b/app/models/communication/website.rb index b72ab03ad..e4a3519a6 100644 --- a/app/models/communication/website.rb +++ b/app/models/communication/website.rb @@ -31,7 +31,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # class Communication::Website < ApplicationRecord include WithAbouts diff --git a/app/models/communication/website/configs/base_url.rb b/app/models/communication/website/configs/base_url.rb index ffae45935..b016268e4 100644 --- a/app/models/communication/website/configs/base_url.rb +++ b/app/models/communication/website/configs/base_url.rb @@ -31,7 +31,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # class Communication::Website::Configs::BaseUrl < Communication::Website diff --git a/app/models/communication/website/configs/permalinks.rb b/app/models/communication/website/configs/permalinks.rb index 0f269522a..b38d3d26f 100644 --- a/app/models/communication/website/configs/permalinks.rb +++ b/app/models/communication/website/configs/permalinks.rb @@ -31,7 +31,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # class Communication::Website::Configs::Permalinks < Communication::Website diff --git a/app/models/education/program.rb b/app/models/education/program.rb index 69cc14e8e..9857f76eb 100644 --- a/app/models/education/program.rb +++ b/app/models/education/program.rb @@ -39,7 +39,7 @@ # # Foreign Keys # -# fk_rails_08b351087c (university_id => universities.id) +# fk_rails_6e16107511 (university_id => universities.id) # fk_rails_ec1f16f607 (parent_id => education_programs.id) # class Education::Program < ApplicationRecord diff --git a/lib/tasks/app.rake b/lib/tasks/app.rake index b0e8e56d8..616dfe0f4 100644 --- a/lib/tasks/app.rake +++ b/lib/tasks/app.rake @@ -22,6 +22,30 @@ namespace :app do end end + namespace :websites do + desc "Refresh access token for Communication Websites." + task refresh_tokens: :environment do + options = {} + option_parser = OptionParser.new + option_parser.banner = "Usage: rake app:websites:refresh_tokens -- --old ghp_oldtoken --new ghp_newtoken" + option_parser.on("-o OLDTOKEN", "--old OLDTOKEN") do |old_access_token| + options[:old_access_token] = old_access_token + end + option_parser.on("-n NEWTOKEN", "--new NEWTOKEN") do |new_access_token| + options[:new_access_token] = new_access_token + end + args = option_parser.order!(ARGV) {} + option_parser.parse!(args) + + websites = Communication::Website.where(access_token: options[:old_access_token]) + websites.each { |website| + puts "Refreshing token for « #{website} »" + website.update_column :access_token, options[:new_access_token] + } + exit 0 + end + end + namespace :db do desc 'Get database from Scalingo' task :staging do diff --git a/test/fixtures/communication/websites.yml b/test/fixtures/communication/websites.yml index 33965b28a..d6718e99b 100644 --- a/test/fixtures/communication/websites.yml +++ b/test/fixtures/communication/websites.yml @@ -31,7 +31,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # website_with_github: university: default_university -- GitLab