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

from qdrant import QwinQdrantClient

class CasinoRetriever(BaseRetriever):
    qdrant: QwinQdrantClient
    
    def _get_relevant_documents(self, query: str, run_manager:CallbackManagerForRetrieverRun):
        return [Document(page_content=doc) 
                for doc in self.qdrant.search_casino_docs()]
        
def create_casino_retriever() -> CasinoRetriever:
    return CasinoRetriever(qdrant=QwinQdrantClient())