perf: Update account change secret status and date on successful secret change

pull/14940/head
wangruidong 2025-02-26 15:38:46 +08:00 committed by w940853815
parent 385bf47b11
commit a498b22e80
2 changed files with 5 additions and 2 deletions

View File

@ -138,10 +138,12 @@ class BaseChangeSecretPushManager(AccountBasePlaybookManager):
account.secret = getattr(recorder, 'new_secret', account.secret)
account.date_updated = timezone.now()
account.date_change_secret = timezone.now()
account.change_secret_status = ChangeSecretRecordStatusChoice.success
with safe_db_connection():
recorder.save(update_fields=['status', 'date_finished'])
account.save(update_fields=['secret', 'date_updated'])
account.save(update_fields=['secret', 'date_updated', 'date_change_secret', 'change_secret_status'])
self.summary['ok_accounts'] += 1
self.result['ok_accounts'].append(

View File

@ -7,6 +7,7 @@ from django_filters import rest_framework as drf_filters
from assets.models import Node
from common.drf.filters import BaseFilterSet
from common.utils.timezone import local_zero_hour, local_now
from .const.automation import ChangeSecretRecordStatusChoice
from .models import Account, GatheredAccount, ChangeSecretRecord, PushSecretRecord, IntegrationApplication
@ -104,7 +105,7 @@ class AccountFilterSet(BaseFilterSet):
if name == "latest_secret_change_failed":
queryset = queryset.filter(date_change_secret__gt=date).exclude(
change_secret_status="ok"
change_secret_status=ChangeSecretRecordStatusChoice.success
)
if kwargs: