// Next.js API route support: https://nextjs.org/docs/api-routes/introduction import type { NextApiRequest, NextApiResponse } from 'next' import Select from "../../../../../server/db/select"; const sql = "SELECT * FROM podcasts WHERE status=1 and podcasts='Поуехали'"; const title ='Поуехали'; const atom_link = 'https://blogbaster.xyz/api/podcasts/lets-go/'; const email = 'crapsh@gmail.com'; const nameCompanies= 'BlogBaster'; const description = 'Интервью с людьми, которые переехали за границу на ПМЖ. Аргентина, Америка, Турция, Грузия, Израиль… зачем, сколько и почему?'; const webSite = 'https://blogbaster.xyz'; const urlImg = 'https://blogbaster.xyz/img/poyexali.jpg'; const lastBuildDate = 'Fri, 06 May 2022 15:30:47 +0000'; interface Rows { episode: number; podcasts: string; title: string; description: string; guid: string; pubDate: string; duration: number; urlImg: string; fileSize: number; audio: string; } const item = (data: Rows) => { let items =` full `+data.episode+` 1 <![CDATA[`+data.podcasts+': '+data.title+`]]> `+data.description+` `+data.description+` `+data.guid+` `+data.pubDate+` `+data.duration+` `+webSite+'/podcast/'+data.guid+` no false `+data.podcasts+': '+data.title+` © 2022 `+nameCompanies+` https://creativecommons.org/licenses/by/4.0/ `; return(items) } const getRssXml = (data: Array) => ` `+title+` `+email+` `+nameCompanies+` `+email+` `+nameCompanies+` `+nameCompanies+` `+description+` `+description+` `+description+` `+webSite+` `+nameCompanies+` `+urlImg+` ru `+webSite+` © 2023 `+nameCompanies+` episodic no no `+lastBuildDate+` yes `+data.map((rows : any) => item(rows))+` `; export default function handler( req: NextApiRequest, res: NextApiResponse ) { const userAgent = req.headers['user-agent']; console.log(userAgent); Select(sql, function(data : any){ res.setHeader('Content-Type', 'text/xml'); res.status(200).send(getRssXml(data)); }) }