import productSearchApi from '@/lib/product/api/productSearchApi' import { create } from 'xmlbuilder' import _ from 'lodash-contrib' import { createSlug } from '@/core/utils/slug' import odooApi from '@/core/api/odooApi' export async function getServerSideProps({ res }) { const categories = await odooApi('GET', '/api/v1/category/tree') const sitemap = create('urlset', { encoding: 'UTF-8' }) categories.forEach((category) => { addUrlToSitemap(sitemap, category.name, category.id) category.childs.forEach((child1Category) => { addUrlToSitemap(sitemap, child1Category.name, child1Category.id) child1Category.childs.forEach((child2Category) => { addUrlToSitemap(sitemap, child2Category.name, child2Category.id) }) }) }) res.setHeader('Content-Type', 'text/xml') res.write(sitemap.end()) res.end() return { props: {} } } function addUrlToSitemap(sitemap, name, id) { const baseUrl = process.env.SELF_HOST + '/shop/category/' const date = new Date() const url = sitemap.ele('url') url.ele('loc', createSlug(baseUrl, name, id)) url.ele('lastmod', date.toISOString().slice(0, 10)) url.ele('changefreq', 'weekly') url.ele('priority', '0.8') } export default function SitemapProducts() { return null }