mirror of
https://github.com/ramvignesh-b/pi-ku.git
synced 2026-05-04 08:56:52 +00:00
feat: add encrypted_dek field to Letter model and enforce its presence during serialization
This commit is contained in:
@@ -12,6 +12,7 @@ class LetterSerializer(serializers.ModelSerializer):
|
||||
"status",
|
||||
"encrypted_content",
|
||||
"encrypted_metadata",
|
||||
"encrypted_dek",
|
||||
"unlock_at",
|
||||
"sealed_at",
|
||||
"created_at",
|
||||
@@ -22,3 +23,10 @@ class LetterSerializer(serializers.ModelSerializer):
|
||||
def create(self, validated_data):
|
||||
user = self.context["request"].user # get user from access token
|
||||
return Letter.objects.create(user=user, **validated_data)
|
||||
|
||||
def validate(self, data):
|
||||
if (data.get("encrypted_content") or data.get("encrypted_metadata")) and not data.get("encrypted_dek"):
|
||||
raise serializers.ValidationError(
|
||||
"encrypted_dek is required when encrypted_content and encrypted_metadata are present"
|
||||
)
|
||||
return data
|
||||
|
||||
Reference in New Issue
Block a user