from django.db import models
from apps.car_stock.models import CarStock


class CarStockSource(models.Model):
    """
    Keeps mapping between DealerPulse CarStock and external inventory systems.
    """
    car = models.OneToOneField(
        CarStock,
        related_name="source",
        on_delete=models.CASCADE
    )

    provider = models.CharField(
        max_length=50,
        help_text="e.g. dealer_api, auto_trader, internal_erp"
    )

    external_id = models.CharField(
        max_length=100,
        db_index=True
    )

    synced_at = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = "car_stock_source"
        verbose_name_plural = "Car Stock Sources"
        unique_together = ("provider", "external_id")

    def __str__(self):
        return f"{self.provider}:{self.external_id}"
