"use strict"; var plugins = require("./smartnginx.plugins"); var paths = require("./smartnginx.paths"); var command = require("./smartnginx.command"); var snippets = require("./smartnginx.snippets"); var allConfigs = []; var NginxConfig = (function () { function NginxConfig(optionsArg) { this.zones = []; 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 NginxConfig.prototype.addZone = function (zoneArg) { this.zones.push(zoneArg); }; NginxConfig.prototype.listZones = function () { return this.zones; }; ; NginxConfig.prototype.removeZones = function (zoneArg) { }; // handle deployment of zones NginxConfig.prototype.deploy = function (nginxRestartArg) { var _this = this; if (nginxRestartArg === void 0) { nginxRestartArg = false; } var done = plugins.q.defer(); plugins.smartfile.fs.removeSync(paths.nginxConfigBase); plugins.smartfile.fs.ensureDirSync(paths.nginxConfigBase); plugins.smartfile.fs.ensureDirSync(paths.nginxZoneBase); plugins.smartfile.fs.ensureDirSync(paths.nginxCertBase); for (var _i = 0, allConfigs_1 = allConfigs; _i < allConfigs_1.length; _i++) { var config = allConfigs_1[_i]; config.isDeployed = false; } ; this.isDeployed = true; // write base config plugins.smartfile.memory.toFsSync(snippets.getBaseConfigString(), plugins.path.join(paths.nginxConfigBase, "nginx.conf")); // deploy zones var promiseArray = []; for (var _a = 0, _b = this.zones; _a < _b.length; _a++) { var zone = _b[_a]; promiseArray.push(zone.deploy(this.cert)); } ; plugins.q.all(promiseArray) .then(function () { // restart nginx if (nginxRestartArg) { command.restart(_this); } ; done.resolve(); }); return done.promise; }; ; return NginxConfig; }()); exports.NginxConfig = NginxConfig; ; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELElBQVksS0FBSyxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQXNCLENBQUMsQ0FBQTtBQUNoRCxJQUFZLFFBQVEsV0FBTSx1QkFDMUIsQ0FBQyxDQURnRDtBQUVqRCxJQUFJLFVBQVUsR0FBaUIsRUFBRSxDQUFDO0FBRWxDO0lBSUkscUJBQVksVUFBK0M7UUFIM0QsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQVcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QixPQUFPLEVBQUMsVUFBVSxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBQyxLQUFLLENBQUMsYUFBYTtZQUMxQixhQUFhLEVBQUMsVUFBVSxDQUFDLGFBQWE7WUFDdEMsUUFBUSxFQUFDLFVBQVUsQ0FBQyxRQUFRO1NBQy9CLENBQUMsQ0FBQztJQUNQLENBQUM7O0lBRUQsc0JBQXNCO0lBQ3RCLDZCQUFPLEdBQVAsVUFBUSxPQUFpQjtRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsK0JBQVMsR0FBVDtRQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7O0lBQ0QsaUNBQVcsR0FBWCxVQUFZLE9BQWlCO0lBRTdCLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsNEJBQU0sR0FBTixVQUFPLGVBQStCO1FBQXRDLGlCQThCQztRQTlCTSwrQkFBK0IsR0FBL0IsdUJBQStCO1FBQ2xDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxHQUFHLENBQUEsQ0FBZSxVQUFVLEVBQVYseUJBQVUsRUFBVix3QkFBVSxFQUFWLElBQVUsQ0FBQztZQUF6QixJQUFJLE1BQU0sbUJBQUE7WUFDVixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUM3QjtRQUFBLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUM3QixRQUFRLENBQUMsbUJBQW1CLEVBQUUsRUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBQyxZQUFZLENBQUMsQ0FDeEQsQ0FBQztRQUNGLGVBQWU7UUFDZixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsR0FBRyxDQUFBLENBQWEsVUFBVSxFQUFWLEtBQUEsSUFBSSxDQUFDLEtBQUssRUFBVixjQUFVLEVBQVYsSUFBVSxDQUFDO1lBQXZCLElBQUksSUFBSSxTQUFBO1lBQ1IsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzdDO1FBQUEsQ0FBQztRQUNGLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQzthQUN0QixJQUFJLENBQUM7WUFDRixnQkFBZ0I7WUFDaEIsRUFBRSxDQUFBLENBQUMsZUFBZSxDQUFDLENBQUEsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsQ0FBQztZQUMxQixDQUFDO1lBQUEsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVQLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7O0lBQ0wsa0JBQUM7QUFBRCxDQUFDLEFBekRELElBeURDO0FBekRZLG1CQUFXLGNBeUR2QixDQUFBO0FBQUEsQ0FBQyJ9