from django.db import models
from .base import MarketplaceIntegration
from ...fields import EncryptedCharField


class WooCommerceIntegration(MarketplaceIntegration):
    """
    Интеграция с WooCommerce.
    WooCommerce - плагин электронной коммерции для WordPress.
    """

    # WooCommerce REST API credentials - ЗАШИФРОВАНЫ
    consumer_key = EncryptedCharField(
        max_length=255,
        blank=True,
        verbose_name="Consumer Key",
        help_text="REST API Consumer Key (хранится зашифрованным)"
    )

    consumer_secret = EncryptedCharField(
        max_length=255,
        blank=True,
        verbose_name="Consumer Secret",
        help_text="REST API Consumer Secret (хранится зашифрованным)"
    )

    # API версия (WooCommerce REST API v1, v2, v3)
    api_version = models.CharField(
        max_length=10,
        default='v3',
        blank=True,
        verbose_name="Версия API",
        help_text="Версия WooCommerce REST API"
    )

    class Meta:
        verbose_name = "WooCommerce"
        verbose_name_plural = "WooCommerce"

    def __str__(self):
        return f"WooCommerce: {self.name or self.store_url or 'не настроен'}"

    @property
    def is_configured(self) -> bool:
        """WooCommerce требует consumer_key и consumer_secret"""
        return bool(self.consumer_key and self.consumer_secret and self.store_url)
