From 98f00929c2bd75be7d88e8c3ac338b693903e976 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Wed, 21 Jan 2026 16:07:11 -0800 Subject: [PATCH] Feat: Add ntfy alert for user signup --- functions/api/signup.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/functions/api/signup.js b/functions/api/signup.js index 5f8cac3..f7d13ce 100644 --- a/functions/api/signup.js +++ b/functions/api/signup.js @@ -3,6 +3,7 @@ const json = (d, o = {}) => { h.set('Content-Type', 'application/json'); return new Response(JSON.stringify(d), { ...o, headers: h }); }; +const notify=(url,msg,prio=3)=>{if(!url)return;const target=url.startsWith('http')?url:`https://${url}`;fetch(target,{method:'POST',body:msg,headers:{'X-Priority':prio.toString()}}).catch(()=>{})}; export async function onRequestPost({ request, env }) { try { @@ -22,6 +23,9 @@ export async function onRequestPost({ request, env }) { ).bind(username, email, pass_hash, request.headers.get('CF-Connecting-IP')).run(); const user = await env.D1_SPCHCAP.prepare('SELECT role FROM users WHERE username = ?').bind(username).first(); + + notify(env.NTFY_URL, `New User Signup: ${username} (${email})`, 3); + const exp = new Date(Date.now() + 2592e6); // 30 days const opts = `Domain=.speech.capital; Path=/; Expires=${exp.toUTCString()}; HttpOnly; Secure; SameSite=Strict`; const headers = new Headers();