From 954c3170ebecfcb0643c0a1000e24969a1c2fbc1 Mon Sep 17 00:00:00 2001 From: Mathieu Agopian Date: Wed, 7 Oct 2026 11:00:57 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(migration)=20import=5Fmigration=20man?= =?UTF-8?q?agement=20command=20imports=20Favorites?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Straightforward DocumentFavorite import Signed-off-by: Mathieu Agopian --- .../management/commands/import_migration.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/backend/core/management/commands/import_migration.py b/src/backend/core/management/commands/import_migration.py index 6b12170a1..b019272e7 100644 --- a/src/backend/core/management/commands/import_migration.py +++ b/src/backend/core/management/commands/import_migration.py @@ -25,6 +25,7 @@ from core.models import ( Document, DocumentAccess, DocumentAskForAccess, + DocumentFavorite, Invitation, LinkTrace, User, @@ -107,6 +108,10 @@ class Command(BaseCommand): created = self._import_document_ask_for_access( pk, fields, user_uuid_remap ) + case "core.documentfavorite": + created = self._import_document_favorite( + pk, fields, user_uuid_remap + ) case _: if model_label not in skipped_models: self.stderr.write( @@ -344,3 +349,19 @@ class Command(BaseCommand): [DocumentAskForAccess(**fields, id=pk)] ) return True + + def _import_document_favorite(self, pk, fields, user_uuid_remap): + """ + Import one document favorite record. + + Returns True if a new row was created, False if it already existed. + """ + user_id = fields.get("user_id") + if user_id and user_id in user_uuid_remap: + fields["user_id"] = user_uuid_remap[user_id] + + if DocumentFavorite.objects.filter(id=pk).exists(): + return False + + DocumentFavorite.objects.bulk_create([DocumentFavorite(**fields, id=pk)]) + return True