mirror of
https://github.com/multipleof4/lynchmark.git
synced 2026-01-13 16:17:54 +00:00
Feat: Send ntfy notification alongside Resend contact creation
This commit is contained in:
@@ -3,6 +3,9 @@ export async function onRequestPost({ request, env }) {
|
|||||||
if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email))
|
if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email))
|
||||||
return new Response('{"error":"Invalid email"}', { status: 400, headers: { 'Content-Type': 'application/json' } });
|
return new Response('{"error":"Invalid email"}', { status: 400, headers: { 'Content-Type': 'application/json' } });
|
||||||
|
|
||||||
|
const c = request.cf || {};
|
||||||
|
const geo = [c.city, c.region, c.country].filter(Boolean).join(', ') || 'Unknown';
|
||||||
|
|
||||||
const res = await fetch('https://api.resend.com/contacts', {
|
const res = await fetch('https://api.resend.com/contacts', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
@@ -17,5 +20,11 @@ export async function onRequestPost({ request, env }) {
|
|||||||
return new Response(`{"error":"Resend error: ${text}"}`, { status: 500, headers: { 'Content-Type': 'application/json' } });
|
return new Response(`{"error":"Resend error: ${text}"}`, { status: 500, headers: { 'Content-Type': 'application/json' } });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await fetch(`https://ntfy.sh/${env.NTFY_TOPIC}`, {
|
||||||
|
method: 'POST',
|
||||||
|
headers: { Priority: '3', Title: `📬 ${geo}` },
|
||||||
|
body: email
|
||||||
|
});
|
||||||
|
|
||||||
return new Response('{"ok":true}', { headers: { 'Content-Type': 'application/json' } });
|
return new Response('{"ok":true}', { headers: { 'Content-Type': 'application/json' } });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user