PR comment: extract requireRootPrivileges / requireAdminPrivileges into separate function

This commit is contained in:
Sander Declerck 2026-01-28 07:53:39 +01:00
parent 364061b186
commit 8aad04e259
No known key found for this signature in database
2 changed files with 41 additions and 23 deletions

View file

@ -10,11 +10,7 @@ const WINDOWS_SERVICE_NAME = "SafeChainUltimate";
const WINDOWS_APP_NAME = "SafeChain Ultimate";
export async function uninstallOnWindows() {
if (!(await isRunningAsAdmin())) {
ui.writeError("Administrator privileges required.");
ui.writeInformation(
"Please run this command in an elevated terminal (Run as Administrator).",
);
if (!(await requireAdminPrivileges())) {
return;
}
@ -37,11 +33,7 @@ export async function uninstallOnWindows() {
}
export async function installOnWindows() {
if (!(await isRunningAsAdmin())) {
ui.writeError("Administrator privileges required.");
ui.writeInformation(
"Please run this command in an elevated terminal (Run as Administrator).",
);
if (!(await requireAdminPrivileges())) {
return;
}
@ -76,6 +68,22 @@ export async function installOnWindows() {
}
}
/**
* Checks if admin privileges are available and displays error message if not.
* @returns {Promise<boolean>} True if running as admin, false otherwise.
*/
async function requireAdminPrivileges() {
if (await isRunningAsAdmin()) {
return true;
}
ui.writeError("Administrator privileges required.");
ui.writeInformation(
"Please run this command in an elevated terminal (Run as Administrator).",
);
return false;
}
async function isRunningAsAdmin() {
// Uses Windows Security API to check if current process has admin privileges.
// Returns "True" or "False" as a string.