From e16429cdd91b92878d7058edeaa5c8d52e326b0c Mon Sep 17 00:00:00 2001 From: bloodwiing Date: Mon, 20 May 2024 22:53:51 +0300 Subject: [PATCH] Add: Post Review flag --- src/lib/serialize/parse.js | 1 + src/lib/server/db/post.js | 7 ++++--- src/types/base.ts | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/serialize/parse.js b/src/lib/serialize/parse.js index b2dd341..0faf1b9 100644 --- a/src/lib/serialize/parse.js +++ b/src/lib/serialize/parse.js @@ -62,6 +62,7 @@ export function parsePost(object) { category: getObject(object, 'category', {}, parseCategory), edited: get(object, 'edited', false), editCount: get(object, 'editCount', 0), + reviewed: get(object, 'reviewed', false), postDate: getDate(object, 'postDate'), rating: getObject(object, 'rating', {}, parseRating), metrics: getObject(object, 'metrics', null, parsePostMetrics), diff --git a/src/lib/server/db/post.js b/src/lib/server/db/post.js index 0339a5f..88f6a9f 100644 --- a/src/lib/server/db/post.js +++ b/src/lib/server/db/post.js @@ -39,6 +39,7 @@ function parsePostFromRow(author, category, row, withMetrics = false) { content: row['latest_content'], edited: row['edit_count'] > 1, editCount: row['edit_count'] - 1, + reviewed: row['reviewed'], postDate: row['created_date'], rating: { likes: BigInt(row['likes']), @@ -88,13 +89,13 @@ export async function getPosts(opts = {}) { withMetrics = false, } = opts; - const filter = category ? sql`WHERE category_id = ${ category.id }` : sql``; + const filter = category ? sql`AND category_id = ${ category.id }` : sql``; const metrics = withMetrics ? sql`, comment_count, user_count, latest_activity, engagement, age, relevancy` : sql``; const query = sql` - SELECT id, author_id, name, category_id, latest_content, edit_count, created_date, likes, dislikes ${ metrics } + SELECT id, author_id, name, category_id, latest_content, reviewed, edit_count, created_date, likes, dislikes ${ metrics } FROM doki8902.message_post - ${ filter } + WHERE reviewed ${ filter } FETCH FIRST ${ limit } ROWS ONLY OFFSET ${ offset };`; diff --git a/src/types/base.ts b/src/types/base.ts index 65f41ad..3be6757 100644 --- a/src/types/base.ts +++ b/src/types/base.ts @@ -33,6 +33,7 @@ export type Post = { content: string, edited: boolean, editCount: number, + reviewed: boolean, postDate: Date, rating: Rating, metrics: PostMetrics | null,