diff --git a/src/lib/types.ts b/src/lib/types.ts
index a44b1367..63a7df6f 100644
--- a/src/lib/types.ts
+++ b/src/lib/types.ts
@@ -97,6 +97,10 @@ export type ExpandedNote = NoteEntity & {
frontMatter?: Record
slug?: string
views?: number
+ score?: {
+ number?: number
+ reason?: string
+ }
}
}
}
diff --git a/src/models/home.model.ts b/src/models/home.model.ts
index c75f71d1..5880e78a 100644
--- a/src/models/home.model.ts
+++ b/src/models/home.model.ts
@@ -1,7 +1,12 @@
import { ExpandedNote } from "~/lib/types"
import { indexer } from "@crossbell/indexer"
+import { toCid } from "~/lib/ipfs-parser"
-const expandPage = async (page: ExpandedNote, useStat?: boolean) => {
+const expandPage = async (
+ page: ExpandedNote,
+ useStat?: boolean,
+ useScore?: boolean,
+) => {
if (page.metadata?.content) {
if (page.metadata?.content?.content) {
const { renderPageContent } = await import("~/markdown")
@@ -28,6 +33,19 @@ const expandPage = async (page: ExpandedNote, useStat?: boolean) => {
).json()
page.metadata.content.views = stat.viewDetailCount
}
+
+ if (useScore) {
+ try {
+ const score = (
+ await (
+ await fetch(`/api/score?cid=${toCid(page.metadata?.uri || "")}`)
+ ).json()
+ ).data
+ page.metadata.content.score = score
+ } catch (e) {
+ // do nothing
+ }
+ }
}
return page
@@ -56,7 +74,7 @@ export async function getFeed({
const list = await Promise.all(
result.list.map(async (page: any) => {
- return expandPage(page, true)
+ return expandPage(page, false, true)
}),
)
diff --git a/src/models/page.model.ts b/src/models/page.model.ts
index c65452c9..afa389a1 100644
--- a/src/models/page.model.ts
+++ b/src/models/page.model.ts
@@ -640,10 +640,6 @@ export async function getSummary({
).data
}
-export async function getScore({ cid }: { cid: string }) {
- return (await (await fetch(`/api/score?cid=${cid}`)).json()).data
-}
-
export async function checkMirror(characterId: string) {
const notes = await indexer.getNotes({
characterId,
diff --git a/src/pages/api/score.ts b/src/pages/api/score.ts
index dec6cdc9..5f17a97a 100644
--- a/src/pages/api/score.ts
+++ b/src/pages/api/score.ts
@@ -37,7 +37,7 @@ const getOriginalScore = async (cid: string) => {
console.timeEnd(`fetching score ${cid}`)
return {
- score: parseInt(response.choices?.[0]?.message?.content?.trim()),
+ number: parseInt(response.choices?.[0]?.message?.content?.trim()),
reason: response.choices?.[0]?.message?.content
?.trim()
.replace(/^\d+([,.\s]*)/, "")
@@ -54,7 +54,7 @@ const getOriginalScore = async (cid: string) => {
export async function getScore(cid: string) {
const score = await cacheGet({
- key: ["summary_score222", cid],
+ key: ["summary_score", cid],
getValueFun: async () => {
const meta = await prisma.metadata.findFirst({
where: {
@@ -64,7 +64,7 @@ export async function getScore(cid: string) {
if (meta) {
if (meta?.ai_score !== null) {
return {
- score: meta.ai_score,
+ number: meta.ai_score,
reason: meta.ai_score_reason,
}
} else {
@@ -75,7 +75,7 @@ export async function getScore(cid: string) {
uri: `ipfs://${cid}`,
},
data: {
- ai_score: score.score,
+ ai_score: score.number,
ai_score_reason: score.reason,
},
})
@@ -89,7 +89,7 @@ export async function getScore(cid: string) {
await prisma.metadata.create({
data: {
uri: `ipfs://${cid}`,
- ai_score: score.score,
+ ai_score: score.number,
ai_score_reason: score.reason,
},
})
diff --git a/src/queries/page.ts b/src/queries/page.ts
index 52a16aa5..9defdb0f 100644
--- a/src/queries/page.ts
+++ b/src/queries/page.ts
@@ -256,17 +256,6 @@ export function useGetSummary(input: { cid?: string; lang?: string }) {
})
}
-export function useGetScore(input: { cid?: string }) {
- return useQuery(["getScore", input.cid], async () => {
- if (!input.cid) {
- return
- }
- return pageModel.getScore({
- cid: input.cid,
- })
- })
-}
-
export function useGetMirrorXyz(input: { address: string }) {
return useQuery(["getMirror", input.address], async () => {
if (!input.address) {