From ce7e757082d18570863754339a2effabc73edc1c Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Sun, 15 Jan 2023 21:31:05 +0200 Subject: [PATCH] Image upload admin: Show unvalidated left count --- .../queries/countAllUnvalidatedImg.server.ts | 10 ++++++++++ app/features/img-upload/routes/upload.admin.tsx | 3 +++ 2 files changed, 13 insertions(+) create mode 100644 app/features/img-upload/queries/countAllUnvalidatedImg.server.ts diff --git a/app/features/img-upload/queries/countAllUnvalidatedImg.server.ts b/app/features/img-upload/queries/countAllUnvalidatedImg.server.ts new file mode 100644 index 000000000..a39f3ce78 --- /dev/null +++ b/app/features/img-upload/queries/countAllUnvalidatedImg.server.ts @@ -0,0 +1,10 @@ +import { sql } from "~/db/sql"; + +const stm = sql.prepare(/*sql*/ ` + select count(*) as "count" from "UnvalidatedUserSubmittedImage" + where "validatedAt" is null +`); + +export function countAllUnvalidatedImg() { + return stm.get().count as number; +} diff --git a/app/features/img-upload/routes/upload.admin.tsx b/app/features/img-upload/routes/upload.admin.tsx index a4e49b375..24ed5b63b 100644 --- a/app/features/img-upload/routes/upload.admin.tsx +++ b/app/features/img-upload/routes/upload.admin.tsx @@ -6,6 +6,7 @@ import { requireUserId } from "~/modules/auth/user.server"; import { isAdmin } from "~/permissions"; import { notFoundIfFalsy, parseRequestFormData, validate } from "~/utils/remix"; import { userSubmittedImage } from "~/utils/urls"; +import { countAllUnvalidatedImg } from "../queries/countAllUnvalidatedImg.server"; import { oneUnvalidatedImage } from "../queries/oneUnvalidatedImage"; import { validateImage } from "../queries/validateImage"; import { validateImageSchema } from "../upload-schemas.server"; @@ -31,6 +32,7 @@ export const loader = async ({ request }: LoaderArgs) => { return { image: oneUnvalidatedImage(), + unvalidatedImgCount: countAllUnvalidatedImg(), }; }; @@ -51,6 +53,7 @@ function ImageValidator() { return ( <> +