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
@@ -0,0 +1,22 @@
# Generated by Django 6.0.4 on 2026-04-10 15:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("letters", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="letter",
name="encrypted_content",
field=models.TextField(blank=True, null=True),
),
migrations.AddField(
model_name="letter",
name="encrypted_metadata",
field=models.TextField(blank=True, null=True),
),
]
@@ -0,0 +1,17 @@
# Generated by Django 6.0.4 on 2026-04-10 15:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("letters", "0002_letter_encrypted_content_letter_encrypted_metadata"),
]
operations = [
migrations.AddField(
model_name="letter",
name="unlock_at",
field=models.DateTimeField(blank=True, null=True),
),
]
@@ -0,0 +1,27 @@
# Generated by Django 6.0.4 on 2026-04-10 16:19
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("letters", "0003_letter_unlock_at"),
]
operations = [
migrations.AddField(
model_name="letter",
name="burned_at",
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name="letter",
name="opened_at",
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name="letter",
name="sealed_at",
field=models.DateTimeField(blank=True, null=True),
),
]