import json
from datetime import datetime

from sqlalchemy import Column, DateTime, Integer, String, Text

from database import Base


class GespeicherteRecherche(Base):
    __tablename__ = "gespeicherte_recherche"

    id = Column(Integer, primary_key=True, autoincrement=True)
    name = Column(String(200), nullable=False)
    kontakt_ids_json = Column(Text, nullable=False)  # JSON-Array der ausgewählten IDs
    erstellt_am = Column(DateTime, default=datetime.now)
    erstellt_von = Column(String(10))

    @property
    def anzahl_kontakte(self):
        try:
            return len(json.loads(self.kontakt_ids_json))
        except (json.JSONDecodeError, TypeError):
            return 0
