from langchain_core.retrievers import BaseRetriever
from langchain.schema.document import Document
from langchain_core.callbacks.manager import CallbackManagerForRetrieverRun

from qdrant import QwinQdrantClient

class MarketingRetriever(BaseRetriever):
    qdrant: QwinQdrantClient
    
    def _get_relevant_documents(self, query, run_manager: CallbackManagerForRetrieverRun):
        return [Document(page_content=doc) 
                for doc in self.qdrant.search_marketing_docs()]
    
def create_marketing_retriever() -> MarketingRetriever:
    return MarketingRetriever(qdrant=QwinQdrantClient())