using CareFix.Api.Infrastructure;
using CareFix.Api.Security;
using CareFix.Core;
using Dapper;
using Microsoft.Data.SqlClient;
namespace CareFix.Api.Knowledge;
/// Imports the data dictionary, relations, rules and playbooks from CSV (templates in /kb-templates).
public sealed class KbImportService(ControlDb db, KnowledgeBase kb, SqlGuard guard, AuditService audit)
{
private static readonly Dictionary Required = new(StringComparer.OrdinalIgnoreCase)
{
["tables"] = ["TableName", "Module", "Meaning"],
["columns"] = ["TableName", "ColumnName", "Meaning"],
["relations"] = ["ParentTable", "ChildTable", "JoinKeys"],
["rules"] = ["Module", "RuleText"],
["playbooks"] = ["Title", "Keywords", "Description"],
};
public async Task