Skip to content

Commit 15b8bfd

Browse files
committed
DRY for client encryption config
1 parent 8656b2c commit 15b8bfd

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

django_mongodb_backend/schema.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -495,26 +495,21 @@ def _get_encrypted_fields(
495495
fields = model._meta.fields
496496
key_alt_name = key_alt_name or model._meta.db_table
497497

498+
options = client._options
499+
auto_encryption_opts = options.auto_encryption_opts
500+
key_vault_db, key_vault_coll = auto_encryption_opts._key_vault_namespace.split(".", 1)
501+
key_vault_collection = client[key_vault_db][key_vault_coll]
502+
kms_provider = router.kms_provider(model)
503+
master_key = connection.settings_dict.get("KMS_CREDENTIALS", {}).get(kms_provider)
504+
498505
# Initialize ClientEncryption once
499506
if client_encryption is None:
500-
options = client._options
501-
auto_encryption_opts = options.auto_encryption_opts
502-
kms_provider = router.kms_provider(model)
503-
master_key = connection.settings_dict.get("KMS_CREDENTIALS", {}).get(kms_provider)
504507
client_encryption = ClientEncryption(
505508
auto_encryption_opts._kms_providers,
506509
auto_encryption_opts._key_vault_namespace,
507510
client,
508511
client.codec_options,
509512
)
510-
key_vault_db, key_vault_coll = auto_encryption_opts._key_vault_namespace.split(".", 1)
511-
key_vault_collection = client[key_vault_db][key_vault_coll]
512-
else:
513-
auto_encryption_opts = client._options.auto_encryption_opts
514-
key_vault_db, key_vault_coll = auto_encryption_opts._key_vault_namespace.split(".", 1)
515-
key_vault_collection = client[key_vault_db][key_vault_coll]
516-
kms_provider = router.kms_provider(model)
517-
master_key = connection.settings_dict.get("KMS_CREDENTIALS", {}).get(kms_provider)
518513

519514
field_list = []
520515

0 commit comments

Comments
 (0)