• Registers IPC handlers for store operations: get, set, remove, and clear.

    Parameters

    • mainWindow: BrowserWindow

      Main application window for security validation.

    Returns void

    export function setupStoreIPC(mainWindow: BrowserWindow) {
    // store:getItem - Retrieve value by key
    secureHandle(
    "store:getItem",
    (_event: Electron.IpcMainInvokeEvent, key: string) => {
    try {
    return store.get(key) || null;
    } catch (error) {
    console.error(`Error getting item from store: ${key}`, error);
    return null;
    }
    },
    mainWindow,
    );

    // store:setItem - Store key-value pair
    secureHandle(
    "store:setItem",
    (_event: Electron.IpcMainInvokeEvent, key: string, value: string) => {
    try {
    store.set(key, value);
    return true;
    } catch (error) {
    console.error(`Error setting item in store: ${key}`, error);
    return false;
    }
    },
    mainWindow,
    );

    // store:removeItem - Delete value by key
    secureHandle(
    "store:removeItem",
    (_event: Electron.IpcMainInvokeEvent, key: string) => {
    try {
    store.delete(key);
    return true;
    } catch (error) {
    console.error(`Error removing item from store: ${key}`, error);
    return false;
    }
    },
    mainWindow,
    );

    // store:clear - Remove all stored values
    secureHandle(
    "store:clear",
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    (_event: Electron.IpcMainInvokeEvent) => {
    try {
    store.clear();
    return true;
    } catch (error) {
    console.error("Error clearing store", error);
    return false;
    }
    },
    mainWindow,
    );
    }