You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
863 B
37 lines
863 B
import {
|
|
DATE_FORMAT,
|
|
getYesterday,
|
|
interpolate
|
|
} from '@ghostfolio/common/helper';
|
|
|
|
import { Controller, Get, Res, VERSION_NEUTRAL, Version } from '@nestjs/common';
|
|
import { format } from 'date-fns';
|
|
import { Response } from 'express';
|
|
import * as fs from 'fs';
|
|
import * as path from 'path';
|
|
|
|
@Controller('sitemap.xml')
|
|
export class SitemapController {
|
|
public sitemapXml = '';
|
|
|
|
public constructor() {
|
|
try {
|
|
this.sitemapXml = fs.readFileSync(
|
|
path.join(__dirname, 'assets', 'sitemap.xml'),
|
|
'utf8'
|
|
);
|
|
} catch {}
|
|
}
|
|
|
|
@Get()
|
|
@Version(VERSION_NEUTRAL)
|
|
public async flushCache(@Res() response: Response): Promise<void> {
|
|
response.setHeader('content-type', 'application/xml');
|
|
response.send(
|
|
interpolate(this.sitemapXml, {
|
|
currentDate: format(getYesterday(), DATE_FORMAT)
|
|
})
|
|
);
|
|
}
|
|
}
|