# no use in the current code

############################################################################
# Import the necessary libraries
############################################################################


from Ai_Agents.app.database.data import trigger_1, section_1, section_2, mannual_trigger_1, section_3, character_1
from pymongo import MongoClient # type: ignore
from dotenv import load_dotenv # type: ignore
import os

load_dotenv()


############################################################################
# Connect to the MongoDB database
############################################################################


uri = os.getenv('MONGO_URI')
if not uri:
    raise ValueError("MongoDB URI not found in .env file")

client = MongoClient(uri)

db_1 = client['narrative_design_test']
sections_collection = db_1['sections']
triggers_collection = db_1['triggers']
mannual_triggers_collection = db_1['mannual_triggers']

db_2 = client['character_test']
character_descriptions_collection = db_2['character_descriptions']


############################################################################
# Insert the data into the database
############################################################################


def insert_data():
    sections = [section_1, section_2, section_3]
    triggers = [trigger_1]
    mannual_triggers = [mannual_trigger_1]
    character_descriptions = [character_1]

    for section in sections:
        result = sections_collection.insert_one(section.to_dict())
        print(f"Inserted section with ID: {result.inserted_id}")
    
    for trigger in triggers:
        result = triggers_collection.insert_one(trigger.to_dict())
        print(f"Inserted trigger with ID: {result.inserted_id}")

    for mannual_trigger in mannual_triggers:
        result = mannual_triggers_collection.insert_one(mannual_trigger.to_dict())
        print(f"Inserted mannual trigger with ID: {result.inserted_id}")

    for character_description in character_descriptions:
        result = character_descriptions_collection.insert_one(character_description.to_dict())
        print(f"Inserted character description with ID: {result.inserted_id}")

    
    print()
    print("Insertion done!!")

insert_data()