16 lines
876 B
TypeScript
16 lines
876 B
TypeScript
|
|
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 ) ),
|
||
|
|
} );
|