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:
1 parent
c64ceb4ee7
commit
7b2b98d693
15 files changed
+104
-92
No files matched your search
@@ -3,6 +3,7 @@ import { z } from "zod";
|
||||
import { Env, FeedConfig, FeedMetadata, EmailData } from "../../types";
|
||||
import { generateFeedId } from "../../utils/id-generator";
|
||||
import { waitUntilSafe } from "../../utils/worker";
|
||||
import { feedRssUrl, feedEmailAddress } from "../../utils/urls";
|
||||
import { logger } from "../../lib/logger";
|
||||
import { Layout } from "./ui";
|
||||
import {
|
||||
@@ -192,8 +193,6 @@ feedsRouter.post("/create", async (c) => {
|
||||
title: parsedData.title,
|
||||
description: parsedData.description,
|
||||
language: parsedData.language,
|
||||
site_url: `https://${env.DOMAIN}/rss/${feedId}`,
|
||||
feed_url: `https://${env.DOMAIN}/rss/${feedId}`,
|
||||
allowed_senders: parsedData.allowedSenders,
|
||||
created_at: Date.now(),
|
||||
updated_at: Date.now(),
|
||||
@@ -216,8 +215,8 @@ feedsRouter.post("/create", async (c) => {
|
||||
if (isJson) {
|
||||
return c.json({
|
||||
feedId,
|
||||
email: `${feedId}@${env.DOMAIN}`,
|
||||
feedUrl: feedConfig.feed_url,
|
||||
email: feedEmailAddress(feedId, env),
|
||||
feedUrl: feedRssUrl(feedId, env),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user