Improving config handling & startup logic
This commit is contained in:
@@ -7,7 +7,7 @@ const modes = require("../config/modes");
|
||||
// Modules
|
||||
const { executeAsyncConsoleCommand } = require("../utilities/executeConsoleCommands.js");
|
||||
// Utilities
|
||||
const updateConfig = require("../utilities/updateConfig");
|
||||
const { updateId, updateConfigFile } = require("../utilities/updateConfig");
|
||||
const updatePreset = require("../utilities/updatePresets");
|
||||
const requests = require("../utilities/httpRequests");
|
||||
|
||||
@@ -67,17 +67,17 @@ async function checkLocalIP() {
|
||||
exports.checkConfig = async function checkConfig() {
|
||||
if (!config.clientConfig.ip) {
|
||||
const ipAddr = await checkLocalIP();
|
||||
updateConfig('ip', ipAddr);
|
||||
updateConfigFile('ip', ipAddr);
|
||||
}
|
||||
|
||||
if(!config.clientConfig.name) {
|
||||
const lastOctet = await checkLocalIP().spit('.')[-1];
|
||||
const clientName = `Radio-Node-${lastOctet}`;
|
||||
updateConfig('name', clientName);
|
||||
updateConfigFile('name', clientName);
|
||||
}
|
||||
|
||||
if(!config.clientConfig.port) {
|
||||
updateConfig('port', 3010);
|
||||
updateConfigFile('port', 3010);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -97,7 +97,7 @@ exports.checkIn = async () => {
|
||||
// Update the client's ID if the server accepted it
|
||||
if (responseObject.statusCode === 202) {
|
||||
config.clientConfig.id = responseObject.body.nodeId;
|
||||
updateConfig.updateId(responseObject.body.nodeId);
|
||||
updateId(responseObject.body.nodeId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -20,10 +20,20 @@ class Options {
|
||||
* @param updatedId The updated ID assigned to the bot
|
||||
*/
|
||||
exports.updateId = (updatedId) => {
|
||||
const options = new Options("id", updatedId);
|
||||
this.updateConfig('id', updatedId);
|
||||
}
|
||||
|
||||
updateConfigFile(options, (updatedFiles) => {
|
||||
/**
|
||||
*
|
||||
* @param {string} key The config file key to update with the value
|
||||
* @param {string} value The value to update the key with
|
||||
*/
|
||||
exports.updateConfig = function updateConfig(key, value) {
|
||||
const options = new Options(key, value);
|
||||
|
||||
this.updateConfigFile(options, (updatedFiles) => {
|
||||
// Do Something
|
||||
log.DEBUG("Updated config file: ", updatedFiles);
|
||||
})
|
||||
}
|
||||
|
||||
@@ -33,7 +43,7 @@ exports.updateId = (updatedId) => {
|
||||
* @param options An instance of the Objects class specified to the key being updated
|
||||
* @param callback Callback when the files have been modified
|
||||
*/
|
||||
function updateConfigFile(options, callback){
|
||||
exports.updateConfigFile = function updateConfigFile(options, callback){
|
||||
replace(options, (error, changedFiles) => {
|
||||
if (error) return console.error('Error occurred:', error);
|
||||
log.DEBUG('Modified files:', changedFiles);
|
||||
|
||||
Reference in New Issue
Block a user