From 8cd213898927b8ab1cb1af4af34bac3ae2b4c8ae Mon Sep 17 00:00:00 2001 From: Ajay Date: Tue, 8 Apr 2025 16:50:04 -0400 Subject: [PATCH] Use config for old submitter check --- src/utils/permissions.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/utils/permissions.ts b/src/utils/permissions.ts index 050cfa3..eeba3e2 100644 --- a/src/utils/permissions.ts +++ b/src/utils/permissions.ts @@ -6,6 +6,7 @@ import { hasFeature } from "./features"; import { isUserVIP } from "./isUserVIP"; import { oneOf } from "./promise"; import { getReputation } from "./reputation"; +import { getServerConfig } from "./serverConfig"; interface CanSubmitResult { canSubmit: boolean; @@ -20,15 +21,25 @@ async function lowDownvotes(userID: HashedUserID): Promise { } async function oldSubmitter(userID: HashedUserID): Promise { - const result = await db.prepare("get", `SELECT count(*) as "submissionCount" FROM "sponsorTimes" WHERE "userID" = ? AND "timeSubmitted" < 1743827196000` - , [userID], { useReplica: true }); + const submitterThreshold = await getServerConfig("old-submitter-block-date"); + if (!submitterThreshold) { + return true; + } + + const result = await db.prepare("get", `SELECT count(*) as "submissionCount" FROM "sponsorTimes" WHERE "userID" = ? AND "timeSubmitted" < ?` + , [userID, parseInt(submitterThreshold)], { useReplica: true }); return result.submissionCount >= 1; } async function oldDeArrowSubmitter(userID: HashedUserID): Promise { + const submitterThreshold = await getServerConfig("old-submitter-block-date"); + if (!submitterThreshold) { + return true; + } + const result = await db.prepare("get", `SELECT count(*) as "submissionCount" FROM "titles" WHERE "userID" = ? AND "timeSubmitted" < 1743827196000` - , [userID], { useReplica: true }); + , [userID, parseInt(submitterThreshold)], { useReplica: true }); return result.submissionCount >= 1; }