import { NextRequest } from "next/server"; import { createClient } from "@vercel/kv"; const kv = process.env?.KV_REST_API_URL && process.env?.KV_REST_API_TOKEN ? createClient({ url: process.env.KV_REST_API_URL, token: process.env.KV_REST_API_TOKEN, }) : null; export async function POST(req: NextRequest) { const { key, image } = await req.json(); if (!kv || !key || !image) { return new Response("", { status: 200, }); } const slug = key.replace(/[^a-zA-Z0-9]/g, "_"); await kv.set(slug, image); return new Response("", { status: 200, }); } export async function GET(req: NextRequest) { const key = req.nextUrl.searchParams.get("share"); if (!kv || !key) { return new Response("", { status: 200, }); } const slug = key.replace(/[^a-zA-Z0-9]/g, "_"); const image = await kv.get(slug); if (!image) { return new Response("", { status: 200, }); } return new Response(image, { status: 200, }); }