adonis-mailbuilder
Version:
AdonisJS 5 mailbuilder
58 lines (57 loc) • 2.32 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = require("path");
const ace_1 = require("@adonisjs/ace");
// import { ConfigContract } from '@ioc:Adonis/Core/Config'
const utils_1 = require("../src/utils");
/**
* Generate MailBuilder class for new mailbuilder
*
* @version 1.0.0
* @adonis-version 5.0+
*/
class MailBuilderMake extends ace_1.BaseCommand {
constructor(app, kernel) {
super(app, kernel);
// this.config = app.container.use('Adonis/Core/Config')
}
/**
* Execute command
*/
async run() {
const templatePath = (0, path_1.join)(__dirname, `../templates/emailTemplate.txt`);
if (!this.name) {
throw new Error('Please provide name');
}
try {
this.generator
.addFile(this.name, { pattern: 'pascalcase', form: 'singular' })
.apply({})
.stub(templatePath)
.destinationDir((0, utils_1.getMailBuilderAppClassesPath)(this.application))
.useMustache()
.appRoot(this.application.cliCwd || this.application.appRoot);
await this.generator.run();
}
catch (e) {
console.error(e);
this.logger.error('Failed to generate mailbuilder class with error ' + e.message);
}
}
}
// private config: ConfigContract
MailBuilderMake.commandName = 'mailbuilder:make';
MailBuilderMake.description = 'Generate class for new mailbuilder';
MailBuilderMake.settings = {
loadApp: true,
};
exports.default = MailBuilderMake;
__decorate([
ace_1.args.string({ description: 'Name of mailbuilder', required: true })
], MailBuilderMake.prototype, "name", void 0);