Initial commit

This commit is contained in:
2025-10-22 22:08:30 +02:00
commit db61d35c44
33 changed files with 1548 additions and 0 deletions

56
src/Reboot.ts Normal file
View File

@@ -0,0 +1,56 @@
import { exec } from 'child_process';
export function reboot(): Promise<{ succeed: boolean; message?: string }> {
if (process.platform === 'win32') {
return rebootWindows();
} else if (process.platform === 'linux') {
return rebootLinux();
}
return Promise.resolve({
succeed: false,
message: 'Platform not supported',
});
}
function rebootWindows(): Promise<{ succeed: boolean; message?: string }> {
return new Promise<{ succeed: boolean; message?: string }>(
(resolve, reject) => {
exec('shutdown /r /t 3', (error, stdout, stderr) => {
if (error) {
console.error(
`Error shutting down Windows: ${error.message}`
);
return resolve({ succeed: false, message: error.message });
}
if (stderr) {
console.error(`Error shutting down Windows: ${stderr}`);
return resolve({ succeed: false, message: stderr });
}
console.log(`Windows shutdown command executed: ${stdout}`);
resolve({ succeed: true });
});
}
);
}
function rebootLinux(): Promise<{ succeed: boolean; message?: string }> {
return new Promise<{ succeed: boolean; message?: string }>(
(resolve, reject) => {
exec('shutdown -r now', (error, stdout, stderr) => {
if (error) {
console.error(
`Error shutting down Linux: ${error.message}`
);
return resolve({ succeed: false, message: error.message });
}
if (stderr) {
console.error(`Error shutting down Linux: ${stderr}`);
return resolve({ succeed: false, message: stderr });
}
console.log(`Linux shutdown command executed: ${stdout}`);
resolve({ succeed: true });
});
}
);
}