diff --git a/src/lib/server/db/post.js b/src/lib/server/db/post.js index e3801a0..d9b7b55 100644 --- a/src/lib/server/db/post.js +++ b/src/lib/server/db/post.js @@ -47,6 +47,29 @@ function parsePostFromRow(author, category, row, withMetrics = false) { }; } +/** + * @param {{ + * category?: import('$types/base').Category | undefined + * }} opts + * @returns {Promise} + */ +export async function getPostCount(opts = {}) { + const { + category = undefined + } = opts; + + const filter = category ? sql`WHERE category_id = ${ category.id }` : sql``; + + const query = sql` + SELECT COUNT(*) + FROM doki8902.message_post + ${ filter };`; + + const count = await query; + + return count[0]['count']; +} + /** * @param {{ * category?: import('$types/base').Category | undefined,