from django.db import models

class Neo4jProfile(models.Model):
    """
    Stores multiple Neo4j database configurations for different use cases, along with AI model configurations.
    """
    name = models.CharField(max_length=100, unique=True, help_text="Profile name for the Neo4j database.")
    uri = models.CharField(max_length=255, help_text="Neo4j connection URI.")
    username = models.CharField(max_length=100, help_text="Neo4j username.")
    password = models.CharField(max_length=100, help_text="Neo4j password (stored securely).")
    
    # AI Model Configuration for Cypher Query Generation
    openai_api_key = models.CharField(max_length=255, help_text="OpenAI API key (or equivalent LLM provider).")
    model_name = models.CharField(max_length=100, help_text="LLM Model used (e.g., gpt-4, deepseek-chat).")

    def __str__(self):
        return f"{self.name} | Model: {self.model_name}"
