chatbotAPI / src /services /message_services.py
dhruv4023's picture
Synced repo using 'sync_with_huggingface' Github Action
a3386d3 verified
from src.config.databaseConfig import DATABASE
from src.config.appConfig import ENV_VAR
from bson import ObjectId
async def save_question_and_answer_to_chat_history(username, history_obj):
try:
existing_chat_history = DATABASE.client[ENV_VAR.MONGO_DB_NAME_CHATS][
"chathistories"
].find_one({"username": username})
history_obj["_id"] = ObjectId()
if not existing_chat_history:
new_chat_history = {
"username": username,
"history": [history_obj],
"historyCount": 1,
}
DATABASE.client[ENV_VAR.MONGO_DB_NAME_CHATS]["chathistories"].insert_one(
new_chat_history
)
else:
DATABASE.client[ENV_VAR.MONGO_DB_NAME_CHATS]["chathistories"].update_one(
{"username": username},
{
"$push": {"history": {"$each": [history_obj], "$position": 0}},
"$inc": {"historyCount": 1},
},
)
except Exception as error:
raise ValueError(f"Error saving question and answer to chat history: {error}")