Add backend-generated sitemap with website manifest sync and nginx SEO proxy support.

Stores synced route config from /meshkee/sitemap-config.json, serves sitemap.xml and robots.txt per tenant, and invalidates cache on CMS writes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-22 15:15:32 +03:30
co-authored by Cursor
parent c7d5204b49
commit 2e8d7c1cfd
27 changed files with 1167 additions and 3 deletions
@@ -2,6 +2,9 @@ import { Prisma } from '@prisma/client';
import {
normalizeBusinessPrimaryColorId,
} from './business-primary-colors';
import {
normalizeWebsiteSitemapConfig,
} from '../sitemap/sitemap-config.util';
import {
BUSINESS_MODULE_IDS,
BusinessModuleId,
@@ -28,6 +31,7 @@ import {
type SpecialProductsSource,
OrderProcessStep,
StubGatewaySettings,
WebsiteSitemapConfig,
ZarinpalGatewaySettings,
} from './business-settings.types';
import {
@@ -412,6 +416,7 @@ export function normalizeBusinessSettings(raw: unknown): BusinessSettings {
website.specialProductsSource,
enabledModules,
),
sitemapConfig: normalizeWebsiteSitemapConfig(website.sitemapConfig),
},
};
}
@@ -458,6 +463,10 @@ export function mergeBusinessSettings(
specialProductsSource:
patch.website?.specialProductsSource ??
current.website.specialProductsSource,
sitemapConfig:
patch.website?.sitemapConfig !== undefined
? patch.website.sitemapConfig
: current.website.sitemapConfig,
},
};
}