feat: schedule automatic form closure

This commit is contained in:
2026-07-31 00:54:15 +07:00 Unverified
parent 8ee011cdfc
commit 6a73b60c48
20 changed files with 1226 additions and 35 deletions
+4 -1
View File
@@ -14,6 +14,7 @@ import {
type StoredAnswerSnapshot,
} from "@/lib/submission-intake";
import { submissionWebhookMessage } from "@/lib/submission-webhook";
import { isFormAcceptingSubmissions } from "@/lib/form-availability";
function getSubmissionResultLink(formId: string, submissionId: string) {
const baseUrl = process.env.BASE_URL || process.env.NEXTAUTH_URL;
@@ -32,7 +33,9 @@ export async function submitForm(
const discordId = await requireDiscordId();
const userName = session.user.name ?? null;
const form = await requireFormAccess(formId, discordId);
if (!form.isOpen) throw new Error("This form is disabled for now");
if (!isFormAcceptingSubmissions(form)) {
throw new Error("This form is closed for submissions");
}
const questionsList = await db.query.questions.findMany({
where: (question, { eq }) => eq(question.formId, formId),