Uber_Clone/app/api/user+api.ts

33 lines
946 B
TypeScript
Raw Normal View History

2025-03-27 10:16:39 +00:00
import { neon } from "@neondatabase/serverless";
2025-03-25 12:08:42 +00:00
export async function POST(request: Request) {
try {
2025-03-27 10:16:39 +00:00
const sql = neon(process.env.DATABASE_URL as string);
2025-03-25 12:08:42 +00:00
const { name, email, clerkId } = await request.json()
if (!name || !email || !clerkId) {
2025-03-27 10:16:39 +00:00
// return Response.json({ error: "Miss required fields" }, { status: 400 })
return new Response(JSON.stringify({ error: "Missing required fields" }), { status: 400 });
2025-03-25 12:08:42 +00:00
}
const response = await sql`
2025-03-27 10:16:39 +00:00
INSERT INTO users (
2025-03-25 12:08:42 +00:00
name,
email,
clerk_id
)
2025-03-27 10:16:39 +00:00
VALUES (
2025-03-25 12:08:42 +00:00
${name},
${email},
${clerkId}
)
2025-03-27 10:16:39 +00:00
RETURNING *;
2025-03-25 12:08:42 +00:00
`;
2025-03-27 10:16:39 +00:00
console.log(response);
2025-03-25 12:08:42 +00:00
return new Response(JSON.stringify({ data: response }), { status: 201 });
}
catch (error) {
2025-03-27 10:16:39 +00:00
console.log("DataBase Error:",error);
return new Response(JSON.stringify({ error: "DataBase Error" }), { status: 500 });
2025-03-25 12:08:42 +00:00
}
}