from django.db import models


class Order(models.Model):
    """Order synced from Shopify to Digistore (adjust fields to match your APIs)."""
    # Shopify order id is only known after we create the order from the Digistore IPN.
    # Make it nullable so multiple Digistore orders can exist before Shopify returns an id.
    shopify_order_id = models.CharField(max_length=64, unique=True, db_index=True, null=True, blank=True)
    digistore_order_id = models.CharField(max_length=64, blank=True)
    status = models.CharField(max_length=32, default="pending")
    raw_payload = models.JSONField(null=True, blank=True)
    sync_error = models.TextField(blank=True, default="")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return f"Order {self.shopify_order_id}"
