tunnel/electron-agent/preload.ts

16 lines
876 B
TypeScript
Raw Normal View History

2026-07-16 12:17:00 +00:00
import { contextBridge, ipcRenderer } from 'electron';
contextBridge.exposeInMainWorld( 'tunnelAPI', {
login: ( email: string, password: string ) => ipcRenderer.invoke( 'auth:login', email, password ),
loginSuccess: () => ipcRenderer.send( 'auth:login-success' ),
listTunnels: () => ipcRenderer.invoke( 'tunnels:list' ),
connectTunnel: ( id: string ) => ipcRenderer.invoke( 'tunnel:connect', id ),
disconnectTunnel:( id: string ) => ipcRenderer.invoke( 'tunnel:disconnect', id ),
addTunnel: ( data: object )=> ipcRenderer.invoke( 'tunnel:add', data ),
deleteTunnel: ( id: string ) => ipcRenderer.invoke( 'tunnel:delete', id ),
onStatusChange: ( cb: ( id: string, active: boolean ) => void ) =>
ipcRenderer.on( 'tunnel:status', ( _e, id, active ) => cb( id, active ) ),
} );