feat
CI / Verify (push) Successful in 1m47s
CI / Build immutable images and deploy (push) Successful in 2m51s

This commit is contained in:
2026-10-01 22:53:48 +07:00 Unverified
parent d85687c332
commit bdce288951
10 changed files with 102 additions and 371 deletions
+2 -1
View File
@@ -7,6 +7,7 @@ import { notifyPaidTicketDiscord } from "@/lib/commission/discord";
import { verifyCommissionSlip } from "@/lib/commission/payment";
import { notifyCommission } from "@/lib/commission/server";
import { checkoutExpired } from "@/lib/commission/checkout-expiration";
import { commissionSlipLockKey } from "@/lib/commission/slip-lock";
import { getMediaStorage } from "@/lib/media/storage";
import { inspectImage } from "@/lib/media/inspect";
import { getRedisClient } from "@/lib/redis/client";
@@ -21,7 +22,7 @@ export async function verifyAndCreateTicket(checkout: Checkout, file: FormDataEn
throw new HttpError(415, "invalid-slip-image");
const redis = await getRedisClient();
const lockKey = `${process.env.REDIS_SECURITY_PREFIX || "buzz:security"}:commission-slip-lock:${checkout.id}`;
const lockKey = commissionSlipLockKey(checkout.id);
const lockId = crypto.randomUUID();
if (await redis.set(lockKey, lockId, "EX", 60, "NX") !== "OK")
throw new HttpError(409, "slip-verification-in-progress");