Update some code & made a basic isThis ArticleStarred api? & starring is

now a wip!
This commit is contained in:
吳元皓 2025-06-14 23:46:23 +08:00
parent 026c4a31a3
commit 2cf787a401
4 changed files with 75 additions and 1 deletions

View File

@ -1,6 +1,11 @@
<script setup lang="ts">
// FOR THIS MODULE DO NOT USE THE ?APPNAME URL TYPE, IT WILL FALL AT ALL TIMES, I HAVE NO CLUE WHY IS BEHAVIOR HAPPENING RN?
import { SparklesIcon, UserIcon, NewspaperIcon } from "lucide-vue-next";
import {
SparklesIcon,
UserIcon,
NewspaperIcon,
StarIcon,
} from "lucide-vue-next";
import translate from "translate";
interface translateInterfaceText {
@ -178,6 +183,7 @@ const aiSummary = async () => {
</div>
</div>
</div>
<button><StarIcon /></button>
</div>
</div>
</template>

View File

@ -0,0 +1,30 @@
import sql from "~/server/components/postgres";
import getUserTokenMinusSQLInjection from "~/server/components/getUserToken";
export default defineEventHandler(async (event) => {
try {
const slug = getRouterParam(event, "slug");
const token = await getUserTokenMinusSQLInjection(event);
if (token.error.length !== 0) {
return {
error: token.error,
};
}
const getOtherUserDataJsonFile = await sql`
SELECT starred_news from user_other_data
where username = ${token.user}
`;
if (getOtherUserDataJsonFile.length === 0) {
return {
error: "ERR_NO_DATA",
};
}
const jsonData = getOtherUserDataJsonFile[0].starred_news;
return jsonData;
} catch (e) {
console.log(e);
return {
error: "INTERNAL_SERVER_ERR",
e: e.message,
};
}
});

View File

@ -0,0 +1,30 @@
import sql from "~/server/components/postgres";
import getUserTokenMinusSQLInjection from "~/server/components/getUserToken";
export default defineEventHandler(async (event) => {
try {
const slug = getRouterParam(event, "slug");
const token = await getUserTokenMinusSQLInjection(event);
if (token.error.length !== 0) {
return {
error: token.error,
};
}
const getOtherUserDataJsonFile = await sql`
SELECT starred_news from user_other_data
where username = ${token.user}
`;
if (getOtherUserDataJsonFile.length === 0) {
return {
error: "ERR_NO_DATA",
};
}
const jsonData = getOtherUserDataJsonFile[0].starred_news;
return jsonData;
} catch (e) {
console.log(e);
return {
error: "INTERNAL_SERVER_ERR",
e: e.message,
};
}
});

View File

@ -29,6 +29,14 @@ export default defineEventHandler(async (event) => {
sqlC: sqlC,
success: true,
};
} else if (requestChange === "email") {
const sqlC = await sql`
UPDATE users SET email = ${apiKeyqq[0]}
WHERE username = ${token.user}`;
return {
sqlC: sqlC,
success: true,
};
}
const sqlC = await sql.unsafe(
`UPDATE user_other_data SET ${requestChange} = $1 WHERE username = $2`,