File: db.rake

package info (click to toggle)
ruby-doorkeeper 5.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 992 kB
  • sloc: ruby: 4,644; makefile: 4
file content (40 lines) | stat: -rw-r--r-- 1,483 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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