Refactor API endpoints to use cached data and update Code of Conduct to Contributor Covenant

This commit is contained in:
yuanhau 2025-05-14 18:52:14 +08:00
parent 878ac4f1a6
commit 96b297f617
17 changed files with 207 additions and 31 deletions

View file

@ -0,0 +1,13 @@
export default defineEventHandler(async (event) => {
const body = await readBody(event);
return {
body: body,
title: "News Org 1",
slug: "taisounds",
website: "https://www.taisounds.com.tw",
description: "wah wah wah wah wah wah I dont fucking care",
facebook: "https://www.facebook.com/taisounds",
logoUrl:
"https://cdn.discordapp.com/avatars/918723093646684180/4eecc27ac05ee8a701fa167808610c7a.jpg",
};
});

View file

@ -0,0 +1,13 @@
export default defineEventHandler(async (event) => {
const body = await readBody(event);
return {
0: {
id: "1",
image: "whatever",
tags: [],
title: "三立新聞",
lean: "left",
score: "40",
},
};
});

View file

@ -0,0 +1,27 @@
import sql from "~/server/components/postgres";
export default defineEventHandler(async (event) => {
const body = await readBody(event);
const query = getQuery(event);
/*const sources = await sql`SELECT * FROM sources`;
return sources;*/
// Fake data
return {
status: "ok",
data: [
{
id: 1,
title: "Source 1",
logo: "#",
url: "https://source1.com",
description: "Description for Source 1",
},
{
id: 2,
title: "Source 2",
logo: "#",
url: "https://source2.com",
description: "Description for Source 2",
},
],
};
});

View file

@ -0,0 +1,30 @@
import Parser from "rss-parser";
import { HTMLToJSON } from "html-to-json-parser";
export default defineEventHandler(async (event) => {
let array = [];
const parser = new Parser();
try {
const feed = await parser.parseURL(
"https://news.google.com/rss?&hl=zh-TW&gl=TW&ceid=TW:zh-Hant",
);
feed.items.forEach(async (item) => {
const rawRelatedNews = await HTMLToJSON(item.content, true);
const relatedNews = JSON.parse(rawRelatedNews.replace("ol", ""));
array.push({
title: item.title,
link: item.link,
date: item.pubDate,
content: relatedNews,
});
console.log(item.title);
});
return array;
} catch (error) {
console.error("Error fetching RSS:", error);
throw createError({
statusCode: 500,
message: "Failed to fetch RSS feed",
});
}
});