25 lines
774 B
TypeScript
25 lines
774 B
TypeScript
import { NextRequest, NextResponse } from "next/server"
|
|
import { query } from "@/lib/db"
|
|
import { getSessionUser } from "@/lib/auth"
|
|
|
|
export async function DELETE(request: NextRequest, { params }: { params: Promise<{ id: string }> }) {
|
|
try {
|
|
const sessionUser = await getSessionUser()
|
|
if (!sessionUser) {
|
|
return NextResponse.json({ error: "Not authenticated" }, { status: 401 })
|
|
}
|
|
|
|
const { id } = await params
|
|
|
|
await query(
|
|
`UPDATE users SET deleted_at = NOW() WHERE id = $1 AND deleted_at IS NULL`,
|
|
[id]
|
|
)
|
|
|
|
return NextResponse.json({ success: true }, { status: 200 })
|
|
} catch (error) {
|
|
console.error("Error deleting user:", error)
|
|
return NextResponse.json({ error: "Failed to delete user" }, { status: 500 })
|
|
}
|
|
}
|