zemenay-blog
Version:
Zemenay Blog as a pluggable Next.js package (dedicated DB)
29 lines (21 loc) • 816 B
text/typescript
import { type NextRequest, NextResponse } from "next/server"
export async function POST(request: NextRequest) {
try {
const { email } = await request.json()
if (!email) {
return NextResponse.json({ error: "Email is required" }, { status: 400 })
}
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
if (!emailRegex.test(email)) {
return NextResponse.json({ error: "Invalid email format" }, { status: 400 })
}
console.log(`Newsletter subscription: ${email}`)
return NextResponse.json({
success: true,
message: "Successfully subscribed to newsletter!"
})
} catch (error) {
console.error("Newsletter subscription error:", error)
return NextResponse.json({ error: "Internal server error" }, { status: 500 })
}
}