"use strict"; const plugins = require("./smartnginx.plugins"); const paths = require("./smartnginx.paths"); const snippets = require("./smartnginx.snippets"); const smartnginx_classes_nginxprocess_1 = require("./smartnginx.classes.nginxprocess"); let allConfigs = []; class NginxConfig { constructor(optionsArg) { this.zones = []; this.nginxProcess = new smartnginx_classes_nginxprocess_1.NginxProcess(this); this.isDeployed = false; this.cert = new plugins.cert.Cert({ cfEmail: optionsArg.cfEmail, cfKey: optionsArg.cfKey, sslDir: paths.nginxCertBase, gitOriginRepo: optionsArg.gitOriginRepo, testMode: optionsArg.testMode }); } ; // interact with Zones addZone(zoneArg) { this.zones.push(zoneArg); } listZones() { return this.zones; } ; removeZones(zoneArg) { } clean() { this.zones = []; } // handle deployment of zones deploy() { let done = plugins.q.defer(); plugins.smartfile.fs.ensureDirSync(paths.nginxConfigBase); plugins.smartfile.fs.ensureDirSync(paths.nginxZoneBase); plugins.smartfile.fs.ensureDirSync(paths.nginxCertBase); for (let config of allConfigs) { config.isDeployed = false; } ; this.isDeployed = true; // write base config plugins.smartfile.memory.toFsSync(snippets.getBaseConfigString(), paths.nginxConfFile); // deploy zones let promiseArray = []; for (let zone of this.zones) { let zoneDeployedPromise = zone.deploy(this.cert); zoneDeployedPromise.then(() => { plugins.beautylog.info(`Zone ${zone.zoneName} deployed!`); this.nginxProcess.reloadConfig(); }); promiseArray.push(zoneDeployedPromise); } ; plugins.q.all(promiseArray) .then(() => { done.resolve(); }); return done.promise; } ; } exports.NginxConfig = NginxConfig; ; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELE1BQVksS0FBSyxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFDNUMsTUFBWSxRQUFRLFdBQU0sdUJBQXVCLENBQUMsQ0FBQTtBQUVsRCxrREFBNkIsbUNBQW1DLENBQUMsQ0FBQTtBQUNqRSxJQUFJLFVBQVUsR0FBa0IsRUFBRSxDQUFDO0FBRW5DO0lBS0ksWUFBWSxVQUFnRDtRQUo1RCxVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUV4QixpQkFBWSxHQUFpQixJQUFJLDhDQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1lBQzNCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDM0IsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhO1lBQ3ZDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtTQUNoQyxDQUFDLENBQUM7SUFDUCxDQUFDOztJQUVELHNCQUFzQjtJQUN0QixPQUFPLENBQUMsT0FBa0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFNBQVM7UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDOztJQUNELFdBQVcsQ0FBQyxPQUFrQjtJQUU5QixDQUFDO0lBQ0QsS0FBSztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCw2QkFBNkI7SUFDN0IsTUFBTTtRQUNGLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsR0FBRyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM1QixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUM5QixDQUFDO1FBQUEsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQzdCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxFQUM5QixLQUFLLENBQUMsYUFBYSxDQUN0QixDQUFDO1FBQ0YsZUFBZTtRQUNmLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pELG1CQUFtQixDQUFDLElBQUksQ0FBQztnQkFDckIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxZQUFZLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztZQUNILFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQUEsQ0FBQztRQUNGLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQzthQUN0QixJQUFJLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFUCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDOztBQUNMLENBQUM7QUE1RFksbUJBQVcsY0E0RHZCLENBQUE7QUFBQSxDQUFDIn0=