const Constants = require('../../constants'); const helpers = require('../../helpers'); const addListeners = (ipcMain, { standardIPCReply }) => { ipcMain.on(Constants.IPC_Get_Config, (event, data) => { helpers .getConfig(data.Version, data.Provider, data.Remote, data.S3) .then((data) => { if (data.Code === 0) { standardIPCReply(event, Constants.IPC_Get_Config_Reply, { Config: data.Data, }); } else { standardIPCReply( event, Constants.IPC_Get_Config_Reply, {}, data.Code ); } }) .catch((error) => { standardIPCReply(event, Constants.IPC_Get_Config_Reply, {}, error); }); }); ipcMain.on(Constants.IPC_Get_Config_Template, (event, data) => { helpers .getConfigTemplate(data.Version, data.Provider, data.Remote, data.S3) .then((data) => { standardIPCReply(event, Constants.IPC_Get_Config_Template_Reply, { Template: data, }); }) .catch((error) => { standardIPCReply( event, Constants.IPC_Get_Config_Template_Reply, {}, error ); }); }); ipcMain.on(Constants.IPC_Set_Config_Values, (event, data) => { const setConfigValue = (i) => { if (i < data.Items.length) { helpers .setConfigValue( data.Items[i].Name, data.Items[i].Value, data.Provider, data.Remote, data.S3, data.Version ) .then(() => { setConfigValue(++i); }) .catch((error) => { standardIPCReply( event, Constants.IPC_Set_Config_Values_Reply, {}, error ); }); } else { standardIPCReply(event, Constants.IPC_Set_Config_Values_Reply, {}); } }; setConfigValue(0); }); }; module.exports = { addListeners };