|
|
|
from .mongo_db import insert_document, find_documents
|
|
from datetime import datetime, timezone
|
|
import logging
|
|
from .database_init import get_mongodb
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
COLLECTION_NAME = 'chat_history-v3'
|
|
|
|
def store_chat_history(username, messages, analysis_type):
|
|
chat_document = {
|
|
'username': username,
|
|
'timestamp': datetime.now(timezone.utc).isoformat(),
|
|
'messages': messages,
|
|
'analysis_type': analysis_type
|
|
}
|
|
|
|
result = insert_document(COLLECTION_NAME, chat_document)
|
|
if result:
|
|
logger.info(f"Historial de chat guardado con ID: {result} para el usuario: {username}")
|
|
return True
|
|
return False
|
|
|
|
def get_chat_history(username, analysis_type, limit=None):
|
|
query = {"username": username}
|
|
if analysis_type:
|
|
query["analysis_type"] = analysis_type
|
|
|
|
db = get_mongodb()
|
|
collection = db['chat_history-v3']
|
|
cursor = collection.find(query).sort("timestamp", -1)
|
|
if limit:
|
|
cursor = cursor.limit(limit)
|
|
|
|
return list(cursor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|