UNPKG

@fusionauth/cli

Version:
38 lines (31 loc) 1.65 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}`)); });