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 () {
|
|
|
|
function NginxConfig() {
|
2016-07-08 02:24:07 +00:00
|
|
|
this.zones = [];
|
2016-07-06 04:33:31 +00:00
|
|
|
this.isDeployed = false;
|
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) {
|
|
|
|
if (nginxRestartArg === void 0) { nginxRestartArg = false; }
|
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-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;
|
|
|
|
for (var _a = 0, _b = this.zones; _a < _b.length; _a++) {
|
|
|
|
var zone = _b[_a];
|
|
|
|
zone.deploy();
|
|
|
|
}
|
2016-07-08 01:36:51 +00:00
|
|
|
;
|
|
|
|
plugins.smartfile.memory.toFsSync(snippets.getBaseConfigString(), plugins.path.join(paths.nginxConfigBase, "nginx.conf"));
|
2016-07-06 04:33:31 +00:00
|
|
|
if (nginxRestartArg) {
|
|
|
|
command.restart(this);
|
|
|
|
}
|
2016-07-08 02:24:07 +00:00
|
|
|
;
|
2016-07-06 01:14:44 +00:00
|
|
|
};
|
|
|
|
;
|
|
|
|
return NginxConfig;
|
|
|
|
}());
|
|
|
|
exports.NginxConfig = NginxConfig;
|
|
|
|
;
|
2016-07-08 02:24:07 +00:00
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELElBQVksS0FBSyxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQXNCLENBQUMsQ0FBQTtBQUNoRCxJQUFZLFFBQVEsV0FBTSx1QkFDMUIsQ0FBQyxDQURnRDtBQUVqRCxJQUFJLFVBQVUsR0FBaUIsRUFBRSxDQUFDO0FBRWxDO0lBR0k7UUFGQSxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBVyxLQUFLLENBQUM7SUFHM0IsQ0FBQzs7SUFFRCxzQkFBc0I7SUFDdEIsNkJBQU8sR0FBUCxVQUFRLE9BQWlCO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCwrQkFBUyxHQUFUO1FBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7SUFDRCxpQ0FBVyxHQUFYLFVBQVksT0FBaUI7SUFFN0IsQ0FBQztJQUVELDZCQUE2QjtJQUM3Qiw0QkFBTSxHQUFOLFVBQU8sZUFBK0I7UUFBL0IsK0JBQStCLEdBQS9CLHVCQUErQjtRQUNsQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxHQUFHLENBQUEsQ0FBZSxVQUFVLEVBQVYseUJBQVUsRUFBVix3QkFBVSxFQUFWLElBQVUsQ0FBQztZQUF6QixJQUFJLE1BQU0sbUJBQUE7WUFDVixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUM3QjtRQUFBLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixHQUFHLENBQUEsQ0FBYSxVQUFVLEVBQVYsS0FBQSxJQUFJLENBQUMsS0FBSyxFQUFWLGNBQVUsRUFBVixJQUFVLENBQUM7WUFBdkIsSUFBSSxJQUFJLFNBQUE7WUFDUixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakI7UUFBQSxDQUFDO1FBQ0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUM3QixRQUFRLENBQUMsbUJBQW1CLEVBQUUsRUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBQyxZQUFZLENBQUMsQ0FDeEQsQ0FBQztRQUNGLEVBQUUsQ0FBQSxDQUFDLGVBQWUsQ0FBQyxDQUFBLENBQUM7WUFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQUEsQ0FBQztJQUNOLENBQUM7O0lBQ0wsa0JBQUM7QUFBRCxDQUFDLEFBdENELElBc0NDO0FBdENZLG1CQUFXLGNBc0N2QixDQUFBO0FBQUEsQ0FBQyJ9
|