From 49c89da2dac99a7c26b147345b2a425da436130b Mon Sep 17 00:00:00 2001 From: Samuel Paccoud - DINUM Date: Thu, 12 Sep 2024 16:20:17 +0200 Subject: [PATCH] add flag for e2e encoded documents --- src/backend/core/api/serializers.py | 1 + ...ment_is_public_document_is_e2ee_and_more.py | 18 ++++++++++++++++++ src/backend/core/models.py | 1 + .../documents/test_api_documents_retrieve.py | 6 ++++++ 4 files changed, 26 insertions(+) create mode 100644 src/backend/core/migrations/0006_remove_document_is_public_document_is_e2ee_and_more.py diff --git a/src/backend/core/api/serializers.py b/src/backend/core/api/serializers.py index 3ef1ebad4..e68f76e3f 100644 --- a/src/backend/core/api/serializers.py +++ b/src/backend/core/api/serializers.py @@ -148,6 +148,7 @@ class DocumentSerializer(BaseResourceSerializer): "title", "accesses", "abilities", + "is_e2ee", "link_role", "link_reach", "created_at", diff --git a/src/backend/core/migrations/0006_remove_document_is_public_document_is_e2ee_and_more.py b/src/backend/core/migrations/0006_remove_document_is_public_document_is_e2ee_and_more.py new file mode 100644 index 000000000..00d35e637 --- /dev/null +++ b/src/backend/core/migrations/0006_remove_document_is_public_document_is_e2ee_and_more.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1 on 2024-09-12 13:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0005_remove_document_is_public_alter_document_link_reach_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='document', + name='is_e2ee', + field=models.BooleanField(default=False), + ), + ] diff --git a/src/backend/core/models.py b/src/backend/core/models.py index d7f19a2e8..c4eb60180 100644 --- a/src/backend/core/models.py +++ b/src/backend/core/models.py @@ -329,6 +329,7 @@ class Document(BaseModel): link_role = models.CharField( max_length=20, choices=LinkRoleChoices.choices, default=LinkRoleChoices.READER ) + is_e2ee = models.BooleanField(default=False) _content = None diff --git a/src/backend/core/tests/documents/test_api_documents_retrieve.py b/src/backend/core/tests/documents/test_api_documents_retrieve.py index f37339f6d..a5cfdf881 100644 --- a/src/backend/core/tests/documents/test_api_documents_retrieve.py +++ b/src/backend/core/tests/documents/test_api_documents_retrieve.py @@ -33,6 +33,7 @@ def test_api_documents_retrieve_anonymous_public(): "versions_retrieve": False, }, "accesses": [], + "is_e2ee": False, "link_reach": "public", "link_role": document.link_role, "title": document.title, @@ -87,6 +88,7 @@ def test_api_documents_retrieve_authenticated_unrelated_public_or_authenticated( "versions_retrieve": False, }, "accesses": [], + "is_e2ee": False, "link_reach": reach, "link_role": document.link_role, "title": document.title, @@ -194,6 +196,7 @@ def test_api_documents_retrieve_authenticated_related_direct(): "title": document.title, "content": document.content, "abilities": document.get_abilities(user), + "is_e2ee": False, "link_reach": document.link_reach, "link_role": document.link_role, "created_at": document.created_at.isoformat().replace("+00:00", "Z"), @@ -332,6 +335,7 @@ def test_api_documents_retrieve_authenticated_related_team_members( "title": document.title, "content": document.content, "abilities": document.get_abilities(user), + "is_e2ee": False, "link_reach": "restricted", "link_role": document.link_role, "created_at": document.created_at.isoformat().replace("+00:00", "Z"), @@ -452,6 +456,7 @@ def test_api_documents_retrieve_authenticated_related_team_administrators( "title": document.title, "content": document.content, "abilities": document.get_abilities(user), + "is_e2ee": False, "link_reach": "restricted", "link_role": document.link_role, "created_at": document.created_at.isoformat().replace("+00:00", "Z"), @@ -576,6 +581,7 @@ def test_api_documents_retrieve_authenticated_related_team_owners( "title": document.title, "content": document.content, "abilities": document.get_abilities(user), + "is_e2ee": False, "link_reach": "restricted", "link_role": document.link_role, "created_at": document.created_at.isoformat().replace("+00:00", "Z"),