from django.db import models


class ClinicalRotationSyncReceipt(models.Model):
    plan = models.ForeignKey(
        "api.ClinicalRotationPlan", on_delete=models.PROTECT, related_name="sync_receipts"
    )
    plan_revision = models.PositiveIntegerField()
    authoritative_generation = models.CharField(max_length=190)
    canonical_readback_digest = models.CharField(max_length=71)
    generation_evidence = models.JSONField(default=dict)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        db_table = "clinical_rotation_sync_receipt"
        constraints = [
            models.UniqueConstraint(
                fields=["plan", "plan_revision", "authoritative_generation"],
                name="uq_cr_sync_plan_generation",
            )
        ]
