From d2908351680c5201494f9381d93c83fb1f54a310 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Sat, 2 Aug 2025 17:07:57 +0200
Subject: [PATCH] Optimize performance
---
.../app/endpoints/sitemap/sitemap.service.ts | 52 +++++++++++++------
1 file changed, 36 insertions(+), 16 deletions(-)
diff --git a/apps/api/src/app/endpoints/sitemap/sitemap.service.ts b/apps/api/src/app/endpoints/sitemap/sitemap.service.ts
index d18fe884a..3774d2274 100644
--- a/apps/api/src/app/endpoints/sitemap/sitemap.service.ts
+++ b/apps/api/src/app/endpoints/sitemap/sitemap.service.ts
@@ -21,18 +21,42 @@ export class SitemapService {
const rootUrl = this.configurationService.get('ROOT_URL');
return SUPPORTED_LANGUAGE_CODES.flatMap((languageCode) => {
+ const resourcesPath = this.i18nService.getTranslation({
+ languageCode,
+ id: publicRoutes.resources.path.match(
+ SitemapService.TRANSLATION_TAGGED_MESSAGE_REGEX
+ ).groups.id
+ });
+
+ const personalFinanceToolsPath = this.i18nService.getTranslation({
+ languageCode,
+ id: publicRoutes.resources.subRoutes.personalFinanceTools.path.match(
+ SitemapService.TRANSLATION_TAGGED_MESSAGE_REGEX
+ ).groups.id
+ });
+
+ const productPath = this.i18nService.getTranslation({
+ languageCode,
+ id: publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes.product.path.match(
+ SitemapService.TRANSLATION_TAGGED_MESSAGE_REGEX
+ ).groups.id
+ });
+
return personalFinanceTools.map(({ alias, key }) => {
- const route =
- publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes
- .product;
- const params = {
- currentDate,
- languageCode,
+ const location = [
rootUrl,
- urlPostfix: alias ?? key
- };
-
- return this.createRouteSitemapUrl({ ...params, route });
+ languageCode,
+ resourcesPath,
+ personalFinanceToolsPath,
+ `${productPath}-${alias ?? key}`
+ ].join('/');
+
+ return [
+ ' ',
+ ` ${location}`,
+ ` ${currentDate}T00:00:00+00:00`,
+ ' '
+ ].join('\n');
});
}).join('\n');
}
@@ -58,14 +82,12 @@ export class SitemapService {
currentDate,
languageCode,
rootUrl,
- route,
- urlPostfix
+ route
}: {
currentDate: string;
languageCode: string;
rootUrl: string;
route?: PublicRoute;
- urlPostfix?: string;
}): string {
const segments =
route?.routerLink.map((link) => {
@@ -83,9 +105,7 @@ export class SitemapService {
return segment.replace(/^\/+|\/+$/, '');
}) ?? [];
- const location =
- [rootUrl, languageCode, ...segments].join('/') +
- (urlPostfix ? `-${urlPostfix}` : '');
+ const location = [rootUrl, languageCode, ...segments].join('/');
return [
' ',