Source code for graphql_jwt.refresh_token.management.commands.cleartokens
from django.core.management.base import BaseCommand
from django.db.models import Q
from django.template.defaultfilters import pluralize
from ...utils import get_refresh_token_model
class Command(BaseCommand):
help = "Clears refresh tokens"
def add_arguments(self, parser):
parser.add_argument(
"--expired",
action="store_true",
help="Clears expired tokens",
)
[docs] def handle(self, expired, *args, **options):
qs = get_refresh_token_model().objects
query = Q(revoked__isnull=False)
if expired:
qs = qs.expired()
query |= Q(expired=True)
deleted, _ = qs.filter(query).delete()
msg = f"Successfully deleted {deleted} token{pluralize(deleted)}"
self.stdout.write(self.style.SUCCESS(msg))