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 01/12] 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, From a720bdd582ec1f730ba753da140c3203e0a5673a 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 13:33:29 +0800 Subject: [PATCH 02/12] Push Create database? --- server/api/create_database.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/server/api/create_database.ts b/server/api/create_database.ts index 25f326d..bf6fbfb 100644 --- a/server/api/create_database.ts +++ b/server/api/create_database.ts @@ -34,8 +34,8 @@ export default defineEventHandler(async (event) => { const createUserOtherData = await sql` create table if not exists user_other_data ( - user_id text primary key , - user text not null unique, + user_id text primary key, + username text not null unique, groq_api_key text, starred_news JSON not null, translate_provider text, @@ -51,11 +51,21 @@ export default defineEventHandler(async (event) => { ) `; + const createArticlesArchive = await sql` + create table if not exists news_articles ( + uuid text primary key, + article_id text primary key, + jsondata json not null, + archive_timestamp timestamp default CURRENT_TIMESTAMP, + ) + `; + return { createUsers: createUsers, usersList: usersList, createUserAiChatHistory: createUserAiChatHistory, createSources: createSources, createUserOtherData: createUserOtherData, + createArticlesArchive: createArticlesArchive, }; }); From 10e1354f274cf372b9ca943ab8877ae8c6e0ea80 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 17:52:51 +0800 Subject: [PATCH 03/12] Add onBoarding & funding.yml? --- .github/funding.yml | 1 + README.md | 2 +- components/app/windows/onBoarding.vue | 8 +++++--- createDatabase.ts | 4 ++-- pages/desktop.vue | 4 +++- pages/home.vue | 2 +- 6 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 .github/funding.yml diff --git a/.github/funding.yml b/.github/funding.yml new file mode 100644 index 0000000..b2ced52 --- /dev/null +++ b/.github/funding.yml @@ -0,0 +1 @@ +ko_fi: howard00 diff --git a/README.md b/README.md index df40a9b..322db69 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Video Guide: [YouTube](https://youtu.be/8P3qgVm6m6g) ## Demo: Production (Latest Docker Image): https://yhw.tw/news -Beta (Beta Docekr Image): https://newsbeta.20090526.xyz +Beta (Beta Docker Image): https://newsbeta.20090526.xyz ## Video Guide diff --git a/components/app/windows/onBoarding.vue b/components/app/windows/onBoarding.vue index df80f06..792f981 100644 --- a/components/app/windows/onBoarding.vue +++ b/components/app/windows/onBoarding.vue @@ -1,9 +1,11 @@