aboutsummaryrefslogtreecommitdiff
path: root/src/routes/feeds
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-09-17 20:00:24 -0700
committerFuwn <[email protected]>2023-09-17 20:00:24 -0700
commitd3fcc2d587bd9c1e5a405518c7b53f2461bb8221 (patch)
tree9fa2429d01684dffc987a344513e4af3f7281c09 /src/routes/feeds
parentfix(notifications): add types (diff)
downloaddue.moe-d3fcc2d587bd9c1e5a405518c7b53f2461bb8221.tar.xz
due.moe-d3fcc2d587bd9c1e5a405518c7b53f2461bb8221.zip
refactor(feeds): rename notifications
Diffstat (limited to 'src/routes/feeds')
-rw-r--r--src/routes/feeds/notifications/+server.ts58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/routes/feeds/notifications/+server.ts b/src/routes/feeds/notifications/+server.ts
deleted file mode 100644
index b06aa1f3..00000000
--- a/src/routes/feeds/notifications/+server.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { notifications, type Notification } from '$lib/AniList/notifications';
-
-export const GET = async ({ url }) => {
- const data = await notifications(url.searchParams.get('token') || 'null');
- const render = (posts: Notification[]) => `<?xml version="1.0" encoding="UTF-8" ?>
-<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
- <channel>
- <atom:link href="https://due.moe/feeds/notifications" rel="self" type="application/rss+xml" />
- <title>期限 | AniList Notifications</title>
- <link>https://due.moe</link>
- <description>Instantly view your AniList notifications via RSS!</description>
- <pubDate>${new Date().toUTCString()}</pubDate>
- <lastBuildDate>${new Date().toUTCString()}</lastBuildDate>
- <language>en-US</language>
- <image>
- <url>https://due.moe/favicon-192x192.png</url>
- <link>https://due.moe</link>
- <title>期限 Logo</title>
- </image>
- ${posts
- .map((notification: Notification) => {
- let title = `${notification.user.name} ${notification.context}`;
- const prettyType = notification.type
- .toString()
- .replace(/_/g, ' ')
- .toLowerCase()
- .replace(/\w\S*/g, (text) => {
- return text.charAt(0).toUpperCase() + text.substr(1).toLowerCase();
- });
-
- if (notification.type.toString().includes('THREAD')) {
- title += `${notification.thread.title}`;
- }
-
- return `<item>
-<guid>${notification.id}</guid>
-<title>${title}</title>
-<link>https://anilist.co/user/${notification.user.name}</link>
-<author>${notification.user.name}</author>
-<enclosure url="${notification.user.avatar.large}" type="image/png" />
-<category>${prettyType}</category>
-<pubDate>${new Date(
- notification.createdAt * 1000 + new Date().getTimezoneOffset()
- ).toUTCString()}</pubDate>
-</item>`;
- })
- .join('')}
- </channel>
-</rss>
-`;
-
- return new Response(render(data), {
- headers: {
- 'Cache-Control': `max-age=0, s-max-age=${600}`,
- 'Content-Type': 'application/xml'
- }
- });
-};