from django.db import models

from apps.core.models import TimeStampedModel


class Product(TimeStampedModel):
    """Product belonging to a store."""

    store = models.ForeignKey("stores.Store", on_delete=models.CASCADE, related_name="products")
    category = models.ForeignKey(
        "stores.Category", on_delete=models.SET_NULL, null=True, blank=True, related_name="products"
    )
    name_en = models.CharField(max_length=300)
    name_ar = models.CharField(max_length=300, blank=True)
    description_en = models.TextField(blank=True)
    description_ar = models.TextField(blank=True)
    image = models.ImageField(upload_to="products/", null=True, blank=True)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    original_price = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
    discount_percent = models.PositiveSmallIntegerField(default=0)
    is_featured = models.BooleanField(default=False)

    class Meta:
        db_table = "products"

    def __str__(self):
        return self.name_en
