<!-- <?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.rivakenkopharma.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.rivakenkopharma.com/About</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.rivakenkopharma.com/ContactUs</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.rivakenkopharma.com/Career</loc>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.rivakenkopharma.com/ShoppingPage</loc>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://www.rivakenkopharma.com/PrivacyPolicy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.rivakenkopharma.com/TermsAndConditions</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.rivakenkopharma.com/return-policy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset> -->

// In your backend Express app (e.g., server.js or routes/sitemap.js)
import express from "express";
// Import your DB models (Product, Category, etc.)
import Product from "./models/Product.js";
import Category from "./models/Category.js";

const router = express.Router();

router.get("/sitemap.xml", async (req, res) => {
  try {
    const baseUrl = "https://www.rivakenkopharma.com";

    // 1. Fetch dynamic items from DB
    const products = await Product.find({ isActive: true }).select("slug updatedAt");
    const categories = await Category.find({}).select("slug name updatedAt");

    // 2. Define static routes
    const staticRoutes = [
      { url: "", changefreq: "weekly", priority: "1.0" },
      { url: "/ShoppingPage", changefreq: "daily", priority: "0.9" },
      { url: "/About", changefreq: "monthly", priority: "0.8" },
      { url: "/ContactUs", changefreq: "monthly", priority: "0.8" },
      { url: "/Career", changefreq: "weekly", priority: "0.7" },
      { url: "/PrivacyPolicy", changefreq: "yearly", priority: "0.3" },
      { url: "/TermsAndConditions", changefreq: "yearly", priority: "0.3" },
      { url: "/return-policy", changefreq: "yearly", priority: "0.3" },
    ];

    // 3. Build XML
    let xml = `<?xml version="1.0" encoding="UTF-8"?>\n`;
    xml += `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n`;

    // Add static routes
    staticRoutes.forEach((route) => {
      xml += `  <url>\n`;
      xml += `    <loc>${baseUrl}${route.url}</loc>\n`;
      xml += `    <changefreq>${route.changefreq}</changefreq>\n`;
      xml += `    <priority>${route.priority}</priority>\n`;
      xml += `  </url>\n`;
    });

    // Add dynamic category routes
    categories.forEach((cat) => {
      const catSlug = encodeURIComponent(cat.slug || cat.name);
      const lastmod = cat.updatedAt ? new Date(cat.updatedAt).toISOString().split("T")[0] : "";
      xml += `  <url>\n`;
      xml += `    <loc>${baseUrl}/category/${catSlug}</loc>\n`;
      if (lastmod) xml += `    <lastmod>${lastmod}</lastmod>\n`;
      xml += `    <changefreq>daily</changefreq>\n`;
      xml += `    <priority>0.8</priority>\n`;
      xml += `  </url>\n`;
    });

    // Add dynamic product routes
    products.forEach((prod) => {
      const prodSlug = encodeURIComponent(prod.slug);
      const lastmod = prod.updatedAt ? new Date(prod.updatedAt).toISOString().split("T")[0] : "";
      xml += `  <url>\n`;
      xml += `    <loc>${baseUrl}/product/${prodSlug}</loc>\n`;
      if (lastmod) xml += `    <lastmod>${lastmod}</lastmod>\n`;
      xml += `    <changefreq>weekly</changefreq>\n`;
      xml += `    <priority>0.9</priority>\n`;
      xml += `  </url>\n`;
    });

    xml += `</urlset>`;

    res.header("Content-Type", "application/xml");
    return res.status(200).send(xml);
  } catch (error) {
    console.error("Error generating sitemap:", error);
    return res.status(500).end();
  }
});

export default router;