feat: implement letter encryption fields, lifecycle timestamps, and API endpoints with validation

This commit is contained in:
Your Name
2026-04-10 21:51:53 +05:30
parent 3e02286f6b
commit c6f1e3e2a2
10 changed files with 166 additions and 3 deletions
+24
View File
@@ -0,0 +1,24 @@
from rest_framework import serializers
from .models import Letter
class LetterSerializer(serializers.ModelSerializer):
class Meta:
model = Letter
fields = [
"public_id",
"type",
"status",
"encrypted_content",
"encrypted_metadata",
"unlock_at",
"sealed_at",
"created_at",
"updated_at",
] # user to be fetched from request
read_only_fields = ["public_id", "created_at", "updated_at"]
def create(self, validated_data):
user = self.context["request"].user # get user from access token
return Letter.objects.create(user=user, **validated_data)