import fs from "fs";
import path from "path";

export function syncShopSeederFile(shopData: Record<string, any>) {
    try {
        const seederFilePath = path.join(process.cwd(), "prisma", "seeders", "shop.seed.ts");
        const formattedData = {
            shopName: shopData.shopName ?? "AMMAN VEGETABLES STORES",
            shortName: (shopData.shortName?.trim() || "AVS").slice(0, 3),
            godName1: shopData.godName1 ?? "ஸ்ரீ உருமணசாமி துணை",
            godName2: shopData.godName2 ?? "ஸ்ரீ சமயபுர மாரியம்மன் துணை",
            godName3: shopData.godName3 ?? "ஸ்ரீ காளியம்மன் துணை",
            mobile: shopData.mobile ?? "9042007772",
            mobile2: shopData.mobile2 ?? "8838261772",
            mapUrl: shopData.mapUrl ?? "https://maps.app.goo.gl/zCDd2uwtA5zAAhpc8?g_st=ac",
            address: shopData.address ?? "VEGETABLE & FRUITS TRADING\nNO: 80,NB BLOCK,NO: 6 GATE ,GANDHI MARKET, TRICHY-620 008",
            logo: shopData.logo ?? "default-logo.png",
            godImage1: shopData.godImage1 ?? "default-god1.png",
            godImage2: shopData.godImage2 ?? "default-god2.png",
            authorizedSign: shopData.authorizedSign ?? null,
        };

        const content = `import { PrismaClient } from "../../src/generated/prisma/client";

export async function shopSeeder(prisma: PrismaClient) {
    const shopData = ${JSON.stringify(formattedData, null, 8)};

    await prisma.shop.upsert({
        where: { id: 1 },
        update: shopData,
        create: shopData,
    });

    console.log("✔ Shop details seeded");
}
`;
        fs.writeFileSync(seederFilePath, content, "utf-8");
    } catch (err) {
        console.error("Failed to sync shop seeder file:", err);
    }
}
