# frozen_string_literal: true
namespace :doorkeeper do
namespace :db do desc "Removes stale data from doorkeeper related database tables" task cleanup: [ "doorkeeper:db:cleanup:revoked_tokens", "doorkeeper:db:cleanup:expired_tokens", "doorkeeper:db:cleanup:revoked_grants", "doorkeeper:db:cleanup:expired_grants", ] namespace :cleanup do desc "Removes stale access tokens" task revoked_tokens: "doorkeeper:setup" do cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper.config.access_token_model) cleaner.clean_revoked end desc "Removes expired (TTL passed) access tokens" task expired_tokens: "doorkeeper:setup" do expirable_tokens = Doorkeeper.config.access_token_model.where(refresh_token: nil) cleaner = Doorkeeper::StaleRecordsCleaner.new(expirable_tokens) cleaner.clean_expired(Doorkeeper.config.access_token_expires_in) end desc "Removes stale access grants" task revoked_grants: "doorkeeper:setup" do cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper.config.access_grant_model) cleaner.clean_revoked end desc "Removes expired (TTL passed) access grants" task expired_grants: "doorkeeper:setup" do cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper.config.access_grant_model) cleaner.clean_expired(Doorkeeper.config.authorization_code_expires_in) end end end
end