# from app.domain.models import NewsResponse
from app.entities.search_response import NewsResponse, SearchResponse
from app.repos.mongodb_repo import NewsRepository
from app.shared.kafka_client.kafka_client import SearchKafkaClient
from app.core.config import settings



class NewsService:
    def __init__(self, repository: NewsRepository):
        self.repository = repository
        self.kafka_client = SearchKafkaClient(
            bootstrap_servers=settings.KAFKA_BOOTSTRAP_SERVERS,
            consumer_group=settings.KAFKA_CONSUMER_GROUP
        )

    async def handle_news_response(self, news_response: NewsResponse):
        saved_batch  = await self.repository.save_news_batch(news_response.data)
        
        # send items to kafka 
        for item in saved_batch:
            print("sending items to LLM Service")
            print(item)
            await self.kafka_client.send_message("llm-process",{"id":item["id"],"link":item["link"]})
        
