snapshot: modularize workflow helper and task orchestration layers
This commit is contained in:
@@ -8,7 +8,6 @@ from django.utils.translation import gettext as _
|
||||
|
||||
from .backup_ops import create_backup_bundle, latest_backup_health_snapshot, list_backup_bundles, verify_backup_bundle
|
||||
from .models import AdminAuditLog, AsyncTaskLog, UserNotification, UserProfile
|
||||
from .notifications import notify_user
|
||||
from .roles import user_has_capability
|
||||
|
||||
|
||||
@@ -96,9 +95,9 @@ def backup_recovery_page_impl(request):
|
||||
)
|
||||
|
||||
|
||||
def create_backup_from_admin_impl(request, *, audit_fn):
|
||||
def create_backup_from_admin_impl(request, *, audit_fn, notify_user_fn, create_backup_bundle_fn):
|
||||
try:
|
||||
result = create_backup_bundle()
|
||||
result = create_backup_bundle_fn()
|
||||
audit_fn(
|
||||
request,
|
||||
'backup_created',
|
||||
@@ -106,7 +105,7 @@ def create_backup_from_admin_impl(request, *, audit_fn):
|
||||
target_label=result['name'],
|
||||
details={'path': result['path']},
|
||||
)
|
||||
notify_user(
|
||||
notify_user_fn(
|
||||
user=request.user,
|
||||
title=_('Backup erstellt: %(name)s') % {'name': result['name']},
|
||||
body=_('Das Backup-Bundle wurde erfolgreich erstellt.'),
|
||||
@@ -116,7 +115,7 @@ def create_backup_from_admin_impl(request, *, audit_fn):
|
||||
)
|
||||
messages.success(request, _('Backup wurde erstellt: %(name)s') % {'name': result['name']})
|
||||
except Exception as exc:
|
||||
notify_user(
|
||||
notify_user_fn(
|
||||
user=request.user,
|
||||
title=_('Backup fehlgeschlagen'),
|
||||
body=str(exc),
|
||||
@@ -128,9 +127,9 @@ def create_backup_from_admin_impl(request, *, audit_fn):
|
||||
return redirect('backup_recovery_page')
|
||||
|
||||
|
||||
def verify_backup_from_admin_impl(request, backup_name: str, *, audit_fn):
|
||||
def verify_backup_from_admin_impl(request, backup_name: str, *, audit_fn, notify_user_fn, verify_backup_bundle_fn):
|
||||
try:
|
||||
result = verify_backup_bundle(backup_name)
|
||||
result = verify_backup_bundle_fn(backup_name)
|
||||
audit_fn(
|
||||
request,
|
||||
'backup_verified',
|
||||
@@ -138,7 +137,7 @@ def verify_backup_from_admin_impl(request, backup_name: str, *, audit_fn):
|
||||
target_label=backup_name,
|
||||
details={'summary': result['summary']},
|
||||
)
|
||||
notify_user(
|
||||
notify_user_fn(
|
||||
user=request.user,
|
||||
title=_('Backup verifiziert: %(name)s') % {'name': result['name']},
|
||||
body=result.get('summary') or _('Das Backup wurde erfolgreich verifiziert.'),
|
||||
@@ -148,7 +147,7 @@ def verify_backup_from_admin_impl(request, backup_name: str, *, audit_fn):
|
||||
)
|
||||
messages.success(request, _('Backup wurde verifiziert: %(name)s') % {'name': result['name']})
|
||||
except Exception as exc:
|
||||
notify_user(
|
||||
notify_user_fn(
|
||||
user=request.user,
|
||||
title=_('Backup-Verifikation fehlgeschlagen'),
|
||||
body=str(exc),
|
||||
|
||||
Reference in New Issue
Block a user