Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1# Taken from: 2# https://about.gitlab.com/2017/03/20/gitlab-8-dot-17-dot-4-security-release/ 3 4# lib/tasks/reset_token.rake 5require_relative '../../app/models/concerns/token_authenticatable.rb' 6 7STDOUT.sync = true 8 9namespace :tokens do 10 desc "Reset all GitLab user auth tokens" 11 task reset_all: :environment do 12 reset_all_users_token(:reset_authentication_token!) 13 end 14 15 desc "Reset all GitLab email tokens" 16 task reset_all_email: :environment do 17 reset_all_users_token(:reset_incoming_email_token!) 18 end 19 20 def reset_all_users_token(token) 21 TmpUser.find_in_batches do |batch| 22 puts "Processing batch starting with user ID: #{batch.first.id}" 23 24 batch.each(&token) 25 end 26 end 27end 28 29class TmpUser < ActiveRecord::Base 30 include TokenAuthenticatable 31 32 self.table_name = 'users' 33 34 def reset_authentication_token! 35 write_new_token(:authentication_token) 36 save!(validate: false) 37 end 38 39 def reset_incoming_email_token! 40 write_new_token(:incoming_email_token) 41 save!(validate: false) 42 end 43end