Skip to content

Commit f37c647

Browse files
committed
Code review fixes
1 parent 9535992 commit f37c647

File tree

8 files changed

+25
-52
lines changed

8 files changed

+25
-52
lines changed

django_mongodb_backend/fields/encryption.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,6 @@
44
from django_mongodb_backend.fields.objectid import ObjectIdField
55

66

7-
class EncryptedArrayField(ArrayField):
8-
encrypted = True
9-
10-
11-
class EncryptedEmbeddedModelArrayField(EmbeddedModelArrayField):
12-
encrypted = True
13-
14-
15-
class EncryptedEmbeddedModelField(EmbeddedModelField):
16-
encrypted = True
17-
18-
197
class EncryptedFieldMixin:
208
encrypted = True
219

@@ -40,6 +28,7 @@ def deconstruct(self):
4028
return name, path, args, kwargs
4129

4230

31+
# Django fields
4332
class EncryptedBinaryField(EncryptedFieldMixin, models.BinaryField):
4433
pass
4534

@@ -88,10 +77,6 @@ class EncryptedIntegerField(EncryptedFieldMixin, models.IntegerField):
8877
pass
8978

9079

91-
class EncryptedObjectIdField(EncryptedFieldMixin, ObjectIdField):
92-
pass
93-
94-
9580
class EncryptedPositiveBigIntegerField(EncryptedFieldMixin, models.PositiveBigIntegerField):
9681
pass
9782

@@ -122,3 +107,20 @@ class EncryptedURLField(EncryptedFieldMixin, models.URLField):
122107

123108
class EncryptedUUIDField(EncryptedFieldMixin, models.UUIDField):
124109
pass
110+
111+
112+
# MongoDB fields
113+
class EncryptedArrayField(EncryptedFieldMixin, ArrayField):
114+
pass
115+
116+
117+
class EncryptedEmbeddedModelArrayField(EncryptedFieldMixin, EmbeddedModelArrayField):
118+
pass
119+
120+
121+
class EncryptedEmbeddedModelField(EncryptedFieldMixin, EmbeddedModelField):
122+
pass
123+
124+
125+
class EncryptedObjectIdField(EncryptedFieldMixin, ObjectIdField):
126+
pass

django_mongodb_backend/management/commands/showencryptedfieldsmap.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ class Command(BaseCommand):
1111
Shows the mapping of encrypted fields to field attributes, including data
1212
type, data keys and query types. The output can be used to set
1313
``encrypted_fields_map`` in ``AutoEncryptionOpts``.
14-
15-
Defaults to showing keys from the ``key_vault_namespace`` collection.
1614
"""
1715

1816
def add_arguments(self, parser):

docs/ref/django-admin.rst

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,3 @@ Available commands
3636
.. code-block:: console
3737
3838
$ python manage.py showencryptedfieldsmap --database encrypted
39-
40-
The output will look like::
41-
42-
{
43-
"myapp.mymodel": {
44-
"encrypted_field_1": {
45-
"bsonType": "string",
46-
"keyId": "UUID('...')",
47-
"queries": ["equality", "range"]
48-
},
49-
"encrypted_field_2": {
50-
"bsonType": "int",
51-
"keyId": "UUID('...')",
52-
"queries": ["equality"]
53-
}
54-
},
55-
...
56-
}

docs/ref/models/encrypted-fields.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@ for use with Queryable Encryption.
6363
+----------------------------------------+------------------------------------------------------+
6464
| Encrypted Field | MongoDB Field |
6565
+----------------------------------------+------------------------------------------------------+
66-
| ``EncryptedArrayField`` | :ref:`arrayfield` |
66+
| ``EncryptedArrayField`` | :class:`~.fields.ArrayField` |
6767
+----------------------------------------+------------------------------------------------------+
68-
| ``EncryptedEmbeddedModelArrayField`` | :ref:`embeddedmodelarrayfield` |
68+
| ``EncryptedEmbeddedModelArrayField`` | :class:`~.fields.EmbeddedModelArrayField` |
6969
+----------------------------------------+------------------------------------------------------+
70-
| ``EncryptedEmbeddedModelField`` | :ref:`embeddedmodelfield` |
70+
| ``EncryptedEmbeddedModelField`` | :class:`~.fields.EmbeddedModelField` |
7171
+----------------------------------------+------------------------------------------------------+
72-
| ``EncryptedObjectIdField`` | :ref:`objectidfield` |
72+
| ``EncryptedObjectIdField`` | :class:`~.fields.ObjectIdField` |
7373
+----------------------------------------+------------------------------------------------------+
7474

7575
The following fields are supported by Django MongoDB Backend but not by

docs/ref/models/fields.rst

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ MongoDB-specific model fields
4646

4747
Some MongoDB-specific fields are available in ``django_mongodb_backend.fields``.
4848

49-
.. _arrayfield:
50-
5149
``ArrayField``
5250
--------------
5351

@@ -262,8 +260,6 @@ transform do not change. For example:
262260
263261
These indexes use 0-based indexing.
264262

265-
.. _embeddedmodelfield:
266-
267263
``EmbeddedModelField``
268264
----------------------
269265

@@ -314,8 +310,6 @@ These indexes use 0-based indexing.
314310
created these models and then added an indexed field to ``Address``,
315311
the index created in the nested ``Book`` embed is not created.
316312

317-
.. _embeddedmodelarrayfield:
318-
319313
``EmbeddedModelArrayField``
320314
---------------------------
321315

@@ -352,8 +346,6 @@ These indexes use 0-based indexing.
352346
This field is typically the default primary key field for all models stored
353347
in MongoDB. See :ref:`specifying the-default-pk-field`.
354348

355-
.. _objectidfield:
356-
357349
``ObjectIdField``
358350
-----------------
359351

docs/ref/settings.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ Key Management Service (KMS) credentials for Queryable Encryption.
1212

1313
.. setting:: DATABASE-KMS-CREDENTIALS
1414

15-
.. _database-kms-credentials:
16-
1715
``KMS_CREDENTIALS``
1816
-------------------
1917

tests/encryption_/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ class Movie(EncryptedTestModel):
7474
title = models.CharField(max_length=200)
7575
plot = models.TextField(blank=True)
7676
runtime = models.IntegerField(default=0)
77-
released = models.DateTimeField("release date", null=True, blank=True)
78-
cast = EncryptedEmbeddedModelArrayField(Actor, null=True, blank=True)
77+
released = models.DateTimeField("release date")
78+
cast = EncryptedEmbeddedModelArrayField(Actor)
7979

8080
def __str__(self):
8181
return self.title

tests/encryption_/test_fields.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ def setUp(self):
7070
self.movie = Movie.objects.create(
7171
title="Sample Movie",
7272
cast=[self.actor1, self.actor2],
73+
released=datetime.date(2024, 6, 1),
7374
)
7475

7576
def test_array(self):

0 commit comments

Comments
 (0)