import fs from "fs";
import path from "path";
import { Episode, fetchAllEpisodes } from "./database";
export async function updatePodcastRSS() {
const episodes: Episode[] = await fetchAllEpisodes();
const channelTitle = process.env.PODCAST_TITLE ?? "自動生成ポッドキャスト";
const channelLink = process.env.PODCAST_LINK ?? "https://your-domain.com/podcast";
const channelDescription =
process.env.PODCAST_DESCRIPTION ?? "RSSフィードから自動生成された音声ポッドキャスト";
const channelLanguage = process.env.PODCAST_LANGUAGE ?? "ja";
const channelAuthor = process.env.PODCAST_AUTHOR ?? "管理者";
const channelCategories = process.env.PODCAST_CATEGORIES ?? "Technology";
const channelTTL = process.env.PODCAST_TTL ?? "60";
const lastBuildDate = new Date().toUTCString();
let itemsXml = "";
for (const ep of episodes) {
const fileUrl = `https://your-domain.com/podcast_audio/${path.basename(ep.audioPath)}`;
const pubDate = new Date(ep.pubDate).toUTCString();
itemsXml += `
-
${fileUrl}
${pubDate}
`;
}
const rssXml = `
${channelTitle}
${channelLink}
${channelDescription}]]>
${lastBuildDate}
${itemsXml}
`;
const outputPath = path.join(__dirname, "../public/podcast.xml");
fs.writeFileSync(outputPath, rssXml.trim());
}