8 changed files with 131 additions and 19 deletions
			
			
		| @ -0,0 +1,78 @@ | |||||
|  | var fs = require('fs-extra'); | ||||
|  | var shell = require('shelljs'); | ||||
|  | var beautifyJSON = require("json-beautify"); | ||||
|  | 
 | ||||
|  | var EOL = require('os').EOL; // \n if used on Linux, \r\n if used on Windows.
 | ||||
|  | 
 | ||||
|  | var listFilePath = "/etc/up-serve/servers.up"; | ||||
|  | 
 | ||||
|  | function appendToList(domain, outPort, inPort) { | ||||
|  | 	 | ||||
|  | 	inPort = inPort || undefined; | ||||
|  | 	var jsonFile = {}; | ||||
|  | 	var domBlock; | ||||
|  | 
 | ||||
|  | 	if (!inPort) { | ||||
|  | 		domBlock = { | ||||
|  | 				"type": "static", | ||||
|  | 				"outPort": outPort, | ||||
|  | 				"inPort": undefined | ||||
|  | 		} | ||||
|  | 	} else { | ||||
|  | 		domBlock = { | ||||
|  | 				"type": "proxy", | ||||
|  | 				"outPort": outPort, | ||||
|  | 				"inPort": inPort | ||||
|  | 		} | ||||
|  | 	} | ||||
|  | 	 | ||||
|  | 	if (fs.existsSync(listFilePath)) { | ||||
|  | 		jsonFile = fs.readFileSync(listFilePath); | ||||
|  | 		jsonFile = JSON.parse(jsonFile); | ||||
|  | 
 | ||||
|  | 		for (block in jsonFile) { | ||||
|  | 			if (block[domain] == domain && block[domain].outPort == outPort) { | ||||
|  | 				delete jsonFile.block; | ||||
|  | 				return; | ||||
|  | 			} | ||||
|  | 		} | ||||
|  | 
 | ||||
|  | 		jsonFile[domain] = domBlock; | ||||
|  | 		jsonFile = beautifyJSON(jsonFile, null, 2, 30); | ||||
|  | 	} | ||||
|  | 	else { | ||||
|  | 		jsonFile[domain] = domBlock; | ||||
|  | 		jsonFile = beautifyJSON(jsonFile); | ||||
|  | 	} | ||||
|  | 	fs.writeFileSync(listFilePath, jsonFile); | ||||
|  | } | ||||
|  | 
 | ||||
|  | function removeFromList (domain, outPort) { | ||||
|  | 	var jsonFile = {}; | ||||
|  | 	if (fs.existsSync(listFilePath)) { | ||||
|  | 		jsonFile = fs.readFileSync(listFilePath); | ||||
|  | 		jsonFile = JSON.parse(jsonFile); | ||||
|  | 
 | ||||
|  | 		for (block in jsonFile) { | ||||
|  | 			if (block[domain] == domain && block[domain].outPort == outPort) { | ||||
|  | 				delete jsonFile.block; | ||||
|  | 				console.log('\nDomain was deleted successfully.\n'); | ||||
|  | 				return; | ||||
|  | 			} | ||||
|  | 		} | ||||
|  | 
 | ||||
|  | 		jsonFile = beautifyJSON(jsonFile, null, 2, 30); | ||||
|  | 	} | ||||
|  | 	else { | ||||
|  | 		console.log("\Domain was not in my list. Are you sure?\n") | ||||
|  | 	} | ||||
|  | 	fs.writeFileSync(listFilePath, jsonFile); | ||||
|  | } | ||||
|  | 
 | ||||
|  | function readServers () { | ||||
|  | 	return JSON.parse(fs.readFileSync(listFilePath)); | ||||
|  | } | ||||
|  | 
 | ||||
|  | module.exports.appendToList = appendToList; | ||||
|  | module.exports.readServers = readServers; | ||||
|  | module.exports.removeFromList = removeFromList; | ||||
					Loading…
					
					
				
		Reference in new issue