From 61f56a8c0ae84cee89dfd9d30eec22cfa78cc375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B3=E5=85=83=E7=9A=93?= Date: Thu, 12 Jun 2025 00:04:25 +0800 Subject: [PATCH] Add archiving system & pushing news org. --- server/api/download/news-article-archive.json.ts | 11 +++++++++++ server/api/publishers/lt/[slug].ts | 14 +++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 server/api/download/news-article-archive.json.ts diff --git a/server/api/download/news-article-archive.json.ts b/server/api/download/news-article-archive.json.ts new file mode 100644 index 0000000..d07ff91 --- /dev/null +++ b/server/api/download/news-article-archive.json.ts @@ -0,0 +1,11 @@ +import sql from "~/server/components/postgres"; +export default defineEventHandler(async (event) => { + const articles = await sql` + SELECT * FROM news_articles; + `; + setHeaders(event, { + "Content-Type": "application/json", + "Content-Disposition": `attachment; filename="news-articles-export-${new Date().toISOString().split("T")[0]}.json"`, + }); + return articles; +}); diff --git a/server/api/publishers/lt/[slug].ts b/server/api/publishers/lt/[slug].ts index f088046..722c054 100644 --- a/server/api/publishers/lt/[slug].ts +++ b/server/api/publishers/lt/[slug].ts @@ -1,6 +1,7 @@ import sql from "~/server/components/postgres"; import CheckKidUnfriendlyContent from "~/components/checks/checkKidUnfriendlyContent"; import * as cheerio from "cheerio"; +import { v4 as uuidv4 } from "uuid"; // Caching @@ -91,9 +92,16 @@ export default defineEventHandler(async (event) => { }); } }); - /*const pushNewsOrg = await sql` - insert into - `*/ + const pushNewsOrg = await sql` + insert into lt_news_org (news_id, name, description) + values (${uuidv4()}, ${newsOrgName}, ${description}) + `; + console.log(pushNewsOrg); + /** + * news_id text primary key, + name text not null, + description text + */ cache[slug] = { slug: slug, title: newsOrgName,