From 0a5066ebce09d9286aec043114d4874f64badc13 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:24:00 -0700 Subject: [PATCH] Use encryption --- .../management/commands/document_exporter.py | 10 ++++++---- src/documents/management/commands/mixins.py | 16 ++++++++++++++++ src/documents/tests/test_management_exporter.py | 6 +----- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/documents/management/commands/document_exporter.py b/src/documents/management/commands/document_exporter.py index 736cda069..081c2c12b 100644 --- a/src/documents/management/commands/document_exporter.py +++ b/src/documents/management/commands/document_exporter.py @@ -569,11 +569,13 @@ class Command(CryptMixin, BaseCommand): value=manifest_record["fields"][field], ) - elif MailAccount.objects.count() > 0: + elif ( + MailAccount.objects.count() > 0 + or SocialToken.objects.count() > 0 + or Token.objects.count() > 0 + ): self.stdout.write( self.style.NOTICE( - "You have configured mail accounts, " - "but no passphrase was given. " - "Passwords will be in plaintext", + "No passphrase was given, sensitive fields will be in plaintext", ), ) diff --git a/src/documents/management/commands/mixins.py b/src/documents/management/commands/mixins.py index 212ecf597..be0256ed6 100644 --- a/src/documents/management/commands/mixins.py +++ b/src/documents/management/commands/mixins.py @@ -97,6 +97,22 @@ class CryptMixin: "model_name": "paperless_mail.mailaccount", "fields": [ "password", + "refresh_token", + ], + }, + { + "exporter_key": "social_tokens", + "model_name": "socialaccount.socialtoken", + "fields": [ + "token", + "token_secret", + ], + }, + { + "exporter_key": "auth_tokens", + "model_name": "authtoken.token", + "fields": [ + "key", ], }, ] diff --git a/src/documents/tests/test_management_exporter.py b/src/documents/tests/test_management_exporter.py index 74431bdae..ff514a7d6 100644 --- a/src/documents/tests/test_management_exporter.py +++ b/src/documents/tests/test_management_exporter.py @@ -971,10 +971,6 @@ class TestCryptExportImport( ) stdout.seek(0) self.assertIn( - ( - "You have configured mail accounts, " - "but no passphrase was given. " - "Passwords will be in plaintext" - ), + ("No passphrase was given, sensitive fields will be in plaintext"), stdout.read(), )