Files
TrueGrowth/vendor/aigcpanel/electron/lib/permission.ts
Jammy 52636c91ae
Some checks failed
CI / main (push) Has been cancelled
CI / release-e2e (push) Has been cancelled
Track bundled vendor runtime sources
2026-07-07 10:05:50 +08:00

43 lines
1.3 KiB
TypeScript

import { isMac } from "./env";
let nodeMacPermissions = null;
if (isMac) {
(async () => {
try {
nodeMacPermissions = await import("node-mac-permissions");
nodeMacPermissions = nodeMacPermissions.default;
// console.log('nodeMacPermissions',nodeMacPermissions);
} catch (e) {}
})();
}
export const Permissions = {
async checkAccessibilityAccess(): Promise<boolean> {
return new Promise((resolve, reject) => {
if (isMac) {
const status =
nodeMacPermissions.getAuthStatus("accessibility");
resolve(status === "authorized");
} else {
resolve(true);
}
});
},
async askAccessibilityAccess() {
nodeMacPermissions.askForAccessibilityAccess();
},
async checkScreenCaptureAccess(): Promise<boolean> {
return new Promise((resolve, reject) => {
if (isMac) {
const status = nodeMacPermissions.getAuthStatus("screen");
resolve(status === "authorized");
} else {
resolve(true);
}
});
},
async askScreenCaptureAccess() {
nodeMacPermissions.askForScreenCaptureAccess(true);
},
};