Skip to content

Commit a8c3ab0

Browse files
committed
feat: add verify-email route and update email verification logic
1 parent 67335e2 commit a8c3ab0

File tree

5 files changed

+32
-5
lines changed

5 files changed

+32
-5
lines changed

.react-router/types/+register.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,5 @@ type Params = {
2828
"/account/profile": {};
2929
"/account/orders": {};
3030
"/not-found": {};
31+
"/verify-email": {};
3132
};

src/routes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export default [
2323
route("orders", "./routes/account/orders/index.tsx"),
2424
]),
2525
route("/not-found", "./routes/not-found/index.tsx"),
26+
route("/verify-email", "./routes/verify-email/index.tsx"),
2627
],
2728
},
2829
] satisfies RouteConfig;

src/routes/verify-email/index.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { verifyUniqueEmail } from "@/services/user.service";
2+
3+
import type { Route } from "./+types";
4+
5+
export async function loader({ request }: Route.ActionArgs) {
6+
const url = new URL(request.url);
7+
const email = url.searchParams.get("email");
8+
9+
if (email) {
10+
const response = await verifyUniqueEmail(email);
11+
return response;
12+
}
13+
return false;
14+
}
Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
1-
import { verifyUniqueEmail } from "./user.service";
2-
3-
// Se mantiene para hacer la validación de correo electrónico en el registro del lado del cliente
41
export async function findEmail(email: string): Promise<boolean> {
5-
return verifyUniqueEmail(email);
2+
try {
3+
const response = await fetch(
4+
`/verify-email?email=${encodeURIComponent(email)}`
5+
);
6+
7+
if (!response.ok) {
8+
throw new Error(`HTTP error! status: ${response.status}`);
9+
}
10+
11+
const result = await response.json();
12+
return result;
13+
} catch (error) {
14+
console.error("Error verifying email:", error);
15+
return false;
16+
}
617
}

src/services/user.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,5 @@ export async function verifyUniqueEmail(email: string): Promise<boolean> {
5454
where: { email },
5555
});
5656

57-
return user ? true : false;
57+
return user ? false : true;
5858
}

0 commit comments

Comments
 (0)