@porosys/pss
Version:
Porosys Server Setup (pss): General-purpose server setup and automation tool (including Netdata management)
22 lines (21 loc) • 1.04 kB
text/typescript
import fs from 'fs-extra';
export const updateEmailConfig = async (confPath: string, sender: string, recipient: string) => {
let content = '';
if (await fs.pathExists(confPath)) {
content = await fs.readFile(confPath, 'utf-8');
content = content.replace(/^SEND_EMAIL=.*/m, 'SEND_EMAIL="YES"');
content = content.replace(/^EMAIL_SENDER=.*/m, `EMAIL_SENDER="${sender}"`);
content = content.replace(/^DEFAULT_RECIPIENT_EMAIL=.*/m, `DEFAULT_RECIPIENT_EMAIL="${recipient}"`);
if (!/^SEND_EMAIL=.*/m.test(content)) content += `\nSEND_EMAIL="YES"`;
if (!/^EMAIL_SENDER=.*/m.test(content)) content += `\nEMAIL_SENDER="${sender}"`;
if (!/^DEFAULT_RECIPIENT_EMAIL=.*/m.test(content)) content += `\nDEFAULT_RECIPIENT_EMAIL="${recipient}"`;
} else {
content = [
'SEND_EMAIL="YES"',
`EMAIL_SENDER="${sender}"`,
`DEFAULT_RECIPIENT_EMAIL="${recipient}"`
].join('\n');
}
await fs.writeFile(confPath, content, 'utf-8');
console.log(`✅ Email notification config updated at ${confPath}`);
};