From 955fe318627cb7b6d808ba02b0332c07205089c7 Mon Sep 17 00:00:00 2001 From: csehatt741 Date: Sun, 29 Jun 2025 08:46:53 +0200 Subject: [PATCH] code review changes --- .../endpoints/sitemap/sitemap.controller.ts | 8 +-- .../app/endpoints/sitemap/sitemap.service.ts | 50 ++++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/apps/api/src/app/endpoints/sitemap/sitemap.controller.ts b/apps/api/src/app/endpoints/sitemap/sitemap.controller.ts index 8b20cca33..f10f0bfd8 100644 --- a/apps/api/src/app/endpoints/sitemap/sitemap.controller.ts +++ b/apps/api/src/app/endpoints/sitemap/sitemap.controller.ts @@ -37,14 +37,14 @@ export class SitemapController { response.setHeader('content-type', 'application/xml'); response.send( interpolate(this.sitemapXml, { - publicRoutes: this.sitemapService.getPublicRoutes({ - currentDate - }), personalFinanceTools: this.configurationService.get( 'ENABLE_FEATURE_SUBSCRIPTION' ) ? this.sitemapService.getPersonalFinanceTools({ currentDate }) - : '' + : '', + publicRoutes: this.sitemapService.getPublicRoutes({ + currentDate + }) }) ); } diff --git a/apps/api/src/app/endpoints/sitemap/sitemap.service.ts b/apps/api/src/app/endpoints/sitemap/sitemap.service.ts index 62dac680b..94b5d6ba5 100644 --- a/apps/api/src/app/endpoints/sitemap/sitemap.service.ts +++ b/apps/api/src/app/endpoints/sitemap/sitemap.service.ts @@ -7,11 +7,11 @@ import { publicRoutes } from '@ghostfolio/common/routes/routes'; import { Injectable } from '@nestjs/common'; -const translationTaggedMessageRegex = - /:.*@@(?[a-zA-Z0-9.]+):(?.+)/; - @Injectable() export class SitemapService { + private static readonly TRANSLATION_TAGGED_MESSAGE_REGEX = + /:.*@@(?[a-zA-Z0-9.]+):(?.+)/; + public constructor( private readonly configurationService: ConfigurationService, private readonly i18nService: I18nService @@ -26,9 +26,9 @@ export class SitemapService { publicRoutes.resources.subRoutes.personalFinanceTools.subRoutes .product; const params = { - rootUrl, - languageCode, currentDate, + languageCode, + rootUrl, urlPostfix: alias ?? key }; @@ -42,31 +42,31 @@ export class SitemapService { return SUPPORTED_LANGUAGE_CODES.flatMap((languageCode) => { const params = { - rootUrl, + currentDate, languageCode, - currentDate + rootUrl }; - // add language specific root URL - const urls = [this.createRouteSitemapUrl(params)]; - - urls.push(...this.createSitemapUrls(publicRoutes, params)); - - return urls; + return [ + this.createRouteSitemapUrl(params), // create language specific root URL + ...this.createSitemapUrls(params, publicRoutes) + ]; }).join('\n'); } private createSitemapUrls( - routes: Record, - params: { rootUrl: string; languageCode: string; currentDate: string } + params: { currentDate: string; languageCode: string; rootUrl: string }, + routes: Record ): string[] { return Object.values(routes).flatMap((route) => { - if (route.excludeFromSitemap) return []; + if (route.excludeFromSitemap) { + return []; + } const urls = [this.createRouteSitemapUrl({ route, ...params })]; if (route.subRoutes) { - urls.push(...this.createSitemapUrls(route.subRoutes, params)); + urls.push(...this.createSitemapUrls(params, route.subRoutes)); } return urls; @@ -74,21 +74,23 @@ export class SitemapService { } private createRouteSitemapUrl({ - route, - rootUrl, - languageCode, currentDate, + languageCode, + rootUrl, + route, urlPostfix }: { - route?: PublicRoute; - rootUrl: string; - languageCode: string; currentDate: string; + languageCode: string; + rootUrl: string; + route?: PublicRoute; urlPostfix?: string; }): string { const segments = route?.routerLink.map((link) => { - const match = link.match(translationTaggedMessageRegex); + const match = link.match( + SitemapService.TRANSLATION_TAGGED_MESSAGE_REGEX + ); const segment = match ? (this.i18nService.getTranslation({ languageCode,