mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
export_realm: Add RealmExport model.
Earlier, we used to store the key data related to realm exports in RealmAuditLog. This commit adds a separate table to store those data. It includes the code to migrate the concerned existing data in RealmAuditLog to RealmExport. Fixes part of #31201.
This commit is contained in:
committed by
Tim Abbott
parent
5d9eb4e358
commit
07dcee36b2
@@ -2,7 +2,7 @@ from django.utils.timezone import now as timezone_now
|
||||
|
||||
from zerver.lib.export import get_realm_exports_serialized
|
||||
from zerver.lib.upload import delete_export_tarball
|
||||
from zerver.models import Realm, RealmAuditLog
|
||||
from zerver.models import Realm, RealmExport
|
||||
from zerver.tornado.django_api import send_event_on_commit
|
||||
|
||||
|
||||
@@ -11,15 +11,13 @@ def notify_realm_export(realm: Realm) -> None:
|
||||
send_event_on_commit(realm, event, realm.get_human_admin_users().values_list("id", flat=True))
|
||||
|
||||
|
||||
def do_delete_realm_export(export: RealmAuditLog) -> None:
|
||||
export_data = export.extra_data
|
||||
export_path = export_data.get("export_path")
|
||||
def do_delete_realm_export(export_row: RealmExport) -> None:
|
||||
export_path = export_row.export_path
|
||||
assert export_path is not None
|
||||
|
||||
if export_path:
|
||||
# Allow removal even if the export failed.
|
||||
delete_export_tarball(export_path)
|
||||
delete_export_tarball(export_path)
|
||||
|
||||
export_data.update(deleted_timestamp=timezone_now().timestamp())
|
||||
export.extra_data = export_data
|
||||
export.save(update_fields=["extra_data"])
|
||||
notify_realm_export(export.realm)
|
||||
export_row.status = RealmExport.DELETED
|
||||
export_row.date_deleted = timezone_now()
|
||||
export_row.save(update_fields=["status", "date_deleted"])
|
||||
notify_realm_export(export_row.realm)
|
||||
|
||||
Reference in New Issue
Block a user