using ClaudeDo.Data.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

namespace ClaudeDo.Data.Configuration;

public class ListConfigEntityConfiguration : IEntityTypeConfiguration<ListConfigEntity>
{
    public void Configure(EntityTypeBuilder<ListConfigEntity> builder)
    {
        builder.ToTable("list_config");

        builder.HasKey(c => c.ListId);
        builder.Property(c => c.ListId).HasColumnName("list_id");
        builder.Property(c => c.Model).HasColumnName("model");
        builder.Property(c => c.SystemPrompt).HasColumnName("system_prompt");
        builder.Property(c => c.AgentPath).HasColumnName("agent_path");
        builder.Property(c => c.MaxTurns).HasColumnName("max_turns");
        builder.Property(c => c.SessionSkills).HasColumnName("session_skills");
        builder.Property(c => c.VerifyCommand).HasColumnName("verify_command");
        builder.Property(c => c.PermissionMode).HasColumnName("permission_mode");
        builder.Property(c => c.TicketProjectId).HasColumnName("ticket_project_id");
    }
}
