refactor: extract url helpers, add EMAIL_DOMAIN support

- Add src/utils/urls.ts with baseUrl, feedRssUrl, feedAtomUrl, feedUrl,
  feedEmailAddress, feedTopicPattern
- Add optional EMAIL_DOMAIN env var so web domain and email domain can
  differ (e.g. demo.kill-the.news serves feeds, @kill-the.news receives mail)
- Replace all inline domain template literals with the new helpers
- Remove unused site_url/feed_url fields from FeedConfig
- Remove unused feedPath param from fetchFeedData
- Extract verifyCallback() to deduplicate verifyAndStoreSubscription /
  verifyAndDeleteSubscription

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
Julien HerrandClaude Sonnet 4.6 committed 2026-05-22 22:38:29 +02:00
1 parent c64ceb4ee7
commit 7b2b98d693
15 files changed
+104 -92

No files matched your search

-3
View File
@@ -9,7 +9,6 @@ export interface FeedData {
export async function fetchFeedData(
feedId: string,
env: Env,
feedPath: "rss" | "atom",
): Promise<FeedData | null> {
const storage = env.EMAIL_STORAGE;
@@ -26,8 +25,6 @@ export async function fetchFeedData(
)) as FeedConfig | null) ?? {
title: `Newsletter Feed ${feedId}`,
description: "Converted email newsletter",
site_url: `https://${env.DOMAIN}/${feedPath}/${feedId}`,
feed_url: `https://${env.DOMAIN}/${feedPath}/${feedId}`,
language: "en",
created_at: Date.now(),
};