]> git.openstreetmap.org Git - rails.git/blobdiff - script/cleanup
Merge pull request #5019 from tomhughes/oauth2-cleanup
[rails.git] / script / cleanup
index 2708770965bb67979ffa0b3ce8221a35a0022c7f..e829be176b9ece957a1a36a87db9942717c27ebf 100755 (executable)
@@ -1,18 +1,12 @@
 #!/usr/bin/env ruby
 
-require File.dirname(__FILE__) + '/../config/environment'
+require File.join(File.dirname(__FILE__), "..", "config", "environment")
 
-Session.find(:all, :conditions => ["updated_at < ?", 1.week.ago]).each do |session|
-  begin
-    if session[:user] and User.find(session[:user])
-      session.destroy if session.updated_at < 1.month.ago
-    else
-      session.destroy
-    end
-  rescue Exception => ex
-    puts "Invalid session #{session.session_id}: #{ex.to_s}"
-    session.destroy
-  end
-end
+OauthNonce.where("timestamp < EXTRACT(EPOCH FROM NOW() - INTERVAL '1 day')").delete_all
+OauthToken.where("invalidated_at < NOW() - INTERVAL '28 days'").delete_all
+RequestToken.where("authorized_at IS NULL AND created_at < NOW() - INTERVAL '28 days'").delete_all
 
-UserToken.delete_all("expiry < NOW()")
+Doorkeeper::AccessGrant.where("revoked_at < NOW() - INTERVAL '28 days' OR (created_at + expires_in * INTERVAL '1 second') < NOW() - INTERVAL '28 days'").delete_all
+Doorkeeper::AccessToken.where("revoked_at < NOW() - INTERVAL '28 days' OR (created_at + expires_in * INTERVAL '1 second') < NOW() - INTERVAL '28 days'").delete_all
+
+exit 0