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


class RecommerceIntegration(MarketplaceIntegration):
    """
    Интеграция с Recommerce.

    Recommerce - платформа для управления интернет-магазином.
    API документация: запросы отправляются на домен магазина с заголовком x-auth-token.

    Обязательные настройки:
    - store_url: URL магазина (домен для API запросов)
    - api_token: токен авторизации (передаётся в заголовке x-auth-token)
    """

    # API токен (x-auth-token) - ЗАШИФРОВАН
    api_token = EncryptedCharField(
        max_length=500,
        blank=True,
        verbose_name="API Токен (x-auth-token)",
        help_text="Токен авторизации из панели управления Recommerce"
    )

    class Meta:
        verbose_name = "Recommerce"
        verbose_name_plural = "Recommerce"

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

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