Files
DRBv3/client/modules/serviceHandler.mjs
Logan Cusano 54a6d544e4 Finalizing #9
- Added service handler for system services
- Control OP25 from service handler
- Generate and save OP25 config file
- Handlers for OP25
2024-03-03 17:25:07 -05:00

52 lines
1.6 KiB
JavaScript

import { exec } from 'child_process';
/**
* Starts the given service from the command line.
* @param {string} serviceName The service name to be started. Ex: ... start "{serviceName}.service"
* @returns {Promise<void>}
*/
export const startService = async (serviceName) => {
return new Promise((resolve, reject) => {
exec(`sudo systemctl start ${serviceName}.service`, (error, stdout, stderr) => {
if (error) {
reject(error);
} else {
resolve();
}
});
});
};
/**
* Restarts the given service from the command line.
* @param {string} serviceName The service name to be restarted. Ex: ... restart "{serviceName}.service"
* @returns {Promise<void>}
*/
export const restartService = async (serviceName) => {
return new Promise((resolve, reject) => {
exec(`sudo systemctl restart ${serviceName}.service`, (error, stdout, stderr) => {
if (error) {
reject(error);
} else {
resolve();
}
});
});
};
/**
* Stops the given service from the command line.
* @param {string} serviceName The service name to be stopped. Ex: ... stop "{serviceName}.service"
* @returns {Promise<void>}
*/
export const stopService = async (serviceName) => {
return new Promise((resolve, reject) => {
exec(`sudo systemctl stop ${serviceName}.service`, (error, stdout, stderr) => {
if (error) {
reject(error);
} else {
resolve();
}
});
});
};