|
|
|
|
@ -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 [
|
|
|
|
|
' <url>',
|
|
|
|
|
` <loc>${location}</loc>`,
|
|
|
|
|
` <lastmod>${currentDate}T00:00:00+00:00</lastmod>`,
|
|
|
|
|
' </url>'
|
|
|
|
|
].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 [
|
|
|
|
|
' <url>',
|
|
|
|
|
|