File size: 1,260 Bytes
7fc5208 6c6d16c 7fc5208 6c6d16c 7fc5208 6c6d16c 7fc5208 6c6d16c 7fc5208 6c6d16c 7fc5208 6c6d16c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import { authApiToken, authMiddleware } from "../../utils/auth.js";
import { addCorsHeaders } from "../../utils/cors.js";
import { AuthService } from "../../utils/authService.js";
export const onRequest = async (context: RouteContext): Promise<Response> => {
const request = context.request;
const env: Env = context.env;
const authResponse = await authMiddleware(request, env);
const apiResponse = await authApiToken(request, env);
if (authResponse && apiResponse) {
return addCorsHeaders(authResponse);
}
try {
const { email } = await request.json() as any;
if (!email) {
throw new Error("Email is required");
}
const authService = new AuthService(env);
const result = await authService.authenticateEmail(email);
if (!result.success) {
throw new Error(result.error);
}
return new Response(
JSON.stringify({ success: true }),
{
status: 200,
headers: { 'Content-Type': 'application/json' }
}
);
} catch (error: any) {
return new Response(
JSON.stringify({ error: error.message }),
{ status: 500 }
);
}
};
|