← back to Homebuyer Claim Helper

deadline-mailer.mjs

16 lines

// Sends a deadline reminder for the homebuyer claim. Run daily; skips if past deadline
// or if a completion marker exists (data/submitted.flag). --dry to preview.
import fs from 'node:fs'; import { send, daysToDeadline } from './lib/george.mjs';
const cfg=Object.fromEntries(fs.readFileSync(new URL('./.env',import.meta.url),'utf8').split('\n').filter(l=>l.includes('=')).map(l=>{const i=l.indexOf('=');return [l.slice(0,i),l.slice(i+1)];}));
const DRY=process.argv.includes('--dry');
if(fs.existsSync(new URL('./data/submitted.flag',import.meta.url))){ console.log('claim marked submitted — no reminder.'); process.exit(0); }
const days=daysToDeadline(cfg.DEADLINE);
if(days<0){ console.log('past deadline — no reminder.'); process.exit(0); }
const subject=`⏰ ${days} day${days===1?'':'s'} left — Homebuyer settlement claim (deadline ${cfg.DEADLINE})`;
const html=`<div style="font-family:Arial;font-size:15px;line-height:1.5">
<p><b>${days} day${days===1?'':'s'} until the Keller Williams/RE/MAX homebuyer settlement deadline (${cfg.DEADLINE}).</b></p>
<p>The claim for 4444½ Mammoth Ave is filled and waiting on your final attestation + reCAPTCHA + Submit.</p>
<p>Portal: <a href="${cfg.CLAIM_URL}">${cfg.CLAIM_URL}</a></p></div>`;
const res=await send({to:cfg.RECIPIENT,subject,html,dry:DRY});
console.log(JSON.stringify({days,sent:!DRY,res}));