smartnginx/ts/smartnginx.classes.nginxzone.ts
2016-07-08 04:24:07 +02:00

29 lines
982 B
TypeScript

import * as plugins from "./smartnginx.plugins";
import * as paths from "./smartnginx.paths";
import * as command from "./smartnginx.command";
import * as snippets from "./smartnginx.snippets"
export enum zoneTypes {
reverseProxy,
static
}
export class NginxZone {
zoneName:string; // the zone name e.g. domain name
type:zoneTypes;
destination:string;
configString:string; // the actual zone config file as string
constructor(optionsArg:{
zoneName:string,
type:zoneTypes,
destination:string
}){
this.zoneName = optionsArg.zoneName;
this.type = optionsArg.type;
this.destination = optionsArg.destination;
this.configString = snippets.getZoneConfigString(optionsArg.zoneName,optionsArg.destination);
};
deploy(){
let filePath = plugins.path.join(paths.nginxZoneBase,this.zoneName + ".conf");
plugins.smartfile.memory.toFsSync(this.configString,filePath);
};
};