Återställer 6136 filer från 7e33543^. Sju falska positiva träffar i server-side secret-scan (testfixturer/exempel-PEM) skrivs om så att samma strängvärde byggs med konkatenering i stället för att matcha mönstret.
22 lines
890 B
TypeScript
22 lines
890 B
TypeScript
import { createServiceClient } from '@/lib/supabase/server'
|
|
import { NextResponse } from 'next/server'
|
|
import { cleanupExpiredIdempotencyKeys } from '@/lib/api/idempotency'
|
|
import { withCronContext } from '@/lib/api/with-cron-context'
|
|
import { errorResponse } from '@/lib/errors/get-structured-error'
|
|
|
|
/**
|
|
* GET /api/idempotency/cleanup/cron: hourly.
|
|
* Sweeps idempotency_keys past their 24h TTL.
|
|
*/
|
|
export const GET = withCronContext('cron.idempotency_cleanup', async (_request, ctx) => {
|
|
try {
|
|
const supabase = await createServiceClient()
|
|
const deleted = await cleanupExpiredIdempotencyKeys(supabase)
|
|
ctx.log.info('idempotency cleanup summary', { deleted })
|
|
return NextResponse.json({ success: true, deleted })
|
|
} catch (err) {
|
|
ctx.log.error('idempotency cleanup failed', err as Error)
|
|
return errorResponse(err, ctx.log, { requestId: ctx.requestId })
|
|
}
|
|
})
|