diff --git a/src/index.tsx b/src/index.tsx index 3d9b47e..002c454 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -599,6 +599,14 @@ const app = new Elysia({ const values = []; if (body.email) { + // Enforce unique email constraint + const existingUser = await db.query( + "SELECT id FROM users WHERE email = ?", + ).get(body.email); + if (existingUser && existingUser.id !== user.id) { + set.status = 409; + return { message: "Email already in use." }; + } fields.push("email"); values.push(body.email); }