From 5244064805a4ce2ec6b289f4d6e17164dcefa01c Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 18 Aug 2020 21:54:21 +0000 Subject: [PATCH] don't delete tokens generated by installer during update --- .../accounts/management/commands/delete_tokens.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/api/tacticalrmm/accounts/management/commands/delete_tokens.py b/api/tacticalrmm/accounts/management/commands/delete_tokens.py index 5765b2b4..f7cd0bf1 100644 --- a/api/tacticalrmm/accounts/management/commands/delete_tokens.py +++ b/api/tacticalrmm/accounts/management/commands/delete_tokens.py @@ -1,10 +1,15 @@ +from django.utils import timezone as djangotime + from django.core.management.base import BaseCommand from knox.models import AuthToken class Command(BaseCommand): - help = "Deletes all knox tokens" + help = "Deletes all knox web tokens" def handle(self, *args, **kwargs): - AuthToken.objects.all().delete() - self.stdout.write("All tokens have been deleted!") + # only delete web tokens, not any generated by the installer + dont_delete = djangotime.now() + djangotime.timedelta(hours=23) + tokens = AuthToken.objects.filter(expiry__lt=dont_delete) + tokens.delete() + self.stdout.write("All web tokens have been deleted!")