smartnginx/dist/smartnginx.classes.nginxconfig.js

69 lines
5.1 KiB
JavaScript
Raw Normal View History

2016-07-06 01:14:44 +00:00
"use strict";
2016-07-06 04:33:31 +00:00
var plugins = require("./smartnginx.plugins");
var paths = require("./smartnginx.paths");
var command = require("./smartnginx.command");
2016-07-08 01:36:51 +00:00
var snippets = require("./smartnginx.snippets");
2016-07-06 04:33:31 +00:00
var allConfigs = [];
2016-07-06 01:14:44 +00:00
var NginxConfig = (function () {
2016-07-12 21:20:08 +00:00
function NginxConfig(optionsArg) {
2016-07-08 02:24:07 +00:00
this.zones = [];
2016-07-06 04:33:31 +00:00
this.isDeployed = false;
2016-07-12 21:20:08 +00:00
this.cert = new plugins.cert.Cert({
cfEmail: optionsArg.cfEmail,
cfKey: optionsArg.cfKey,
sslDir: optionsArg.sslDir,
gitOriginRepo: optionsArg.gitOriginRepo
});
2016-07-06 01:14:44 +00:00
}
;
2016-07-06 01:33:39 +00:00
// interact with Zones
NginxConfig.prototype.addZone = function (zoneArg) {
2016-07-08 02:24:07 +00:00
this.zones.push(zoneArg);
2016-07-06 01:14:44 +00:00
};
2016-07-06 01:33:39 +00:00
NginxConfig.prototype.listZones = function () {
return this.zones;
};
;
NginxConfig.prototype.removeZones = function (zoneArg) {
};
// handle deployment of zones
2016-07-06 04:33:31 +00:00
NginxConfig.prototype.deploy = function (nginxRestartArg) {
2016-07-12 21:20:08 +00:00
var _this = this;
2016-07-06 04:33:31 +00:00
if (nginxRestartArg === void 0) { nginxRestartArg = false; }
2016-07-12 21:20:08 +00:00
var done = plugins.q.defer();
2016-07-08 02:24:07 +00:00
plugins.smartfile.fs.removeSync(paths.nginxConfigBase);
plugins.smartfile.fs.ensureDirSync(paths.nginxConfigBase);
plugins.smartfile.fs.ensureDirSync(paths.nginxZoneBase);
2016-07-12 21:20:08 +00:00
plugins.smartfile.fs.ensureDirSync(paths.nginxCertBase);
2016-07-06 04:33:31 +00:00
for (var _i = 0, allConfigs_1 = allConfigs; _i < allConfigs_1.length; _i++) {
var config = allConfigs_1[_i];
config.isDeployed = false;
}
;
this.isDeployed = true;
2016-07-12 21:20:08 +00:00
// write base config
plugins.smartfile.memory.toFsSync(snippets.getBaseConfigString(), plugins.path.join(paths.nginxConfigBase, "nginx.conf"));
// deploy zones
var promiseArray = [];
2016-07-06 04:33:31 +00:00
for (var _a = 0, _b = this.zones; _a < _b.length; _a++) {
var zone = _b[_a];
2016-07-12 21:20:08 +00:00
promiseArray.push(zone.deploy(this.cert));
2016-07-06 04:33:31 +00:00
}
2016-07-08 02:24:07 +00:00
;
2016-07-12 21:20:08 +00:00
plugins.q.all(promiseArray)
.then(function () {
// restart nginx
if (nginxRestartArg) {
command.restart(_this);
}
;
done.resolve();
});
return done.promise;
2016-07-06 01:14:44 +00:00
};
;
return NginxConfig;
}());
exports.NginxConfig = NginxConfig;
;
2016-07-12 21:20:08 +00:00
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELElBQVksS0FBSyxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQXNCLENBQUMsQ0FBQTtBQUNoRCxJQUFZLFFBQVEsV0FBTSx1QkFDMUIsQ0FBQyxDQURnRDtBQUVqRCxJQUFJLFVBQVUsR0FBaUIsRUFBRSxDQUFDO0FBRWxDO0lBSUkscUJBQVksVUFBOEM7UUFIMUQsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQVcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QixPQUFPLEVBQUMsVUFBVSxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBQyxVQUFVLENBQUMsTUFBTTtZQUN4QixhQUFhLEVBQUMsVUFBVSxDQUFDLGFBQWE7U0FDekMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7SUFFRCxzQkFBc0I7SUFDdEIsNkJBQU8sR0FBUCxVQUFRLE9BQWlCO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCwrQkFBUyxHQUFUO1FBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7SUFDRCxpQ0FBVyxHQUFYLFVBQVksT0FBaUI7SUFFN0IsQ0FBQztJQUVELDZCQUE2QjtJQUM3Qiw0QkFBTSxHQUFOLFVBQU8sZUFBK0I7UUFBdEMsaUJBOEJDO1FBOUJNLCtCQUErQixHQUEvQix1QkFBK0I7UUFDbEMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELEdBQUcsQ0FBQSxDQUFlLFVBQVUsRUFBVix5QkFBVSxFQUFWLHdCQUFVLEVBQVYsSUFBVSxDQUFDO1lBQXpCLElBQUksTUFBTSxtQkFBQTtZQUNWLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQzdCO1FBQUEsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQzdCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxFQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFDLFlBQVksQ0FBQyxDQUN4RCxDQUFDO1FBQ0YsZUFBZTtRQUNmLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixHQUFHLENBQUEsQ0FBYSxVQUFVLEVBQVYsS0FBQSxJQUFJLENBQUMsS0FBSyxFQUFWLGNBQVUsRUFBVixJQUFVLENBQUM7WUFBdkIsSUFBSSxJQUFJLFNBQUE7WUFDUixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFBQSxDQUFDO1FBQ0YsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO2FBQ3RCLElBQUksQ0FBQztZQUNGLGdCQUFnQjtZQUNoQixFQUFFLENBQUEsQ0FBQyxlQUFlLENBQUMsQ0FBQSxDQUFDO2dCQUNoQixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFBQSxDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7SUFDTCxrQkFBQztBQUFELENBQUMsQUF4REQsSUF3REM7QUF4RFksbUJBQVcsY0F3RHZCLENBQUE7QUFBQSxDQUFDIn0=