From bb8b532afc8cef37d337f48d084c41b7bf19724e Mon Sep 17 00:00:00 2001 From: Omer Sabic Date: Wed, 28 Aug 2024 15:39:35 +0200 Subject: [PATCH] dashboard should only show finished articles --- src/routes/dashboard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/dashboard.js b/src/routes/dashboard.js index 170aceb..a7c4e80 100644 --- a/src/routes/dashboard.js +++ b/src/routes/dashboard.js @@ -1,6 +1,6 @@ /** @typedef {import("fastify").FastifyInstance} FastifyInstance */ -import { and, desc, eq, getTableColumns, inArray, notInArray, sql } from "drizzle-orm"; +import { and, desc, eq, getTableColumns, inArray, notInArray, sql, not } from "drizzle-orm"; import { db } from "../db/index.js"; import { articles, articles as articlesTable, signups as signupsTable, sites, users } from "../db/schemas.js"; import { authMiddleware, authMiddlewareFn } from "../modules/middleware.js"; @@ -40,7 +40,7 @@ export const dashboardRoutes = (fastify, _, done) => { .where(eq(signupsTable.site_id, site_id)) .orderBy(desc(signupsTable.created_at)).limit(8); - const [{ totalArticles }] = await db.select({ totalArticles: sql`count(*)` }).from(articlesTable).where(eq(articlesTable.site_id, site_id)); + const [{ totalArticles }] = await db.select({ totalArticles: sql`count(*)` }).from(articlesTable).where(and(eq(articlesTable.site_id, site_id), eq(articlesTable.status, "done"))); const [{ totalViews }] = await db.select({ totalViews: sql`COALESCE(sum(${articlesTable.views}), 0)` }).from(articlesTable).where(eq(articlesTable.site_id, site_id)); const [{ totalEmails }] = await db.select({ totalEmails: sql`count(*)` }).from(signupsTable).where(eq(signupsTable.site_id, site_id));