UNPKG

fusionauth-cli

Version:
32 lines (31 loc) 1.57 kB
import { Command } from "@commander-js/extra-typings"; import { ensureDir, ensureFile } from "fs-extra"; import { v4 } from "uuid"; import chalk from "chalk"; // noinspection JSUnusedGlobalSymbols export const emailCreate = new Command('email:create') .description('Create an email template in FusionAuth') .option('-o, --output <output>', 'The output directory', './emails/') .option('-l, --locales <locales...>', 'The locales to create.', []) .action(async ({ output, locales }) => { console.log(`Creating email template in ${output}`); const emailTemplateId = v4(); const emailTemplateDirectory = `${output}/${emailTemplateId}/`; // Create directory await ensureDir(emailTemplateDirectory); // Create files await ensureFile(`${emailTemplateDirectory}/name.txt`); await ensureFile(`${emailTemplateDirectory}/from_email.txt`); await ensureFile(`${emailTemplateDirectory}/body.html`); await ensureFile(`${emailTemplateDirectory}/body.txt`); await ensureFile(`${emailTemplateDirectory}/subject.txt`); await ensureFile(`${emailTemplateDirectory}/from_name.txt`); for await (const locale of locales) { const localeDirectory = `${emailTemplateDirectory}/${locale}`; await ensureFile(`${localeDirectory}/body.html`); await ensureFile(`${localeDirectory}/body.txt`); await ensureFile(`${localeDirectory}/subject.txt`); await ensureFile(`${localeDirectory}/from_name.txt`); } console.log(chalk.green(`Email template created in ${emailTemplateDirectory}`)); });