nextcloud-notes-desktop/electron/preload.cjs
Daniel 46aee2d313
Some checks failed
Release / Build Linux (push) Has been cancelled
Release / Build macOS (push) Has been cancelled
Release / Build Windows (push) Has been cancelled
Initialize Nextcloud Notes desktop app
2026-05-15 16:24:17 +02:00

19 lines
791 B
JavaScript

const { contextBridge, ipcRenderer } = require('electron')
async function invoke(channel, payload) {
const result = await ipcRenderer.invoke(channel, payload)
if (result?.ok) return result.data
const error = new Error(result?.error?.message || 'Request failed')
error.status = result?.error?.status || null
throw error
}
contextBridge.exposeInMainWorld('notesBridge', {
getAccount: () => invoke('credentials:get'),
saveCredentials: credentials => invoke('credentials:save', credentials),
clearCredentials: () => invoke('credentials:clear'),
syncNotes: payload => invoke('notes:sync', payload),
createNote: payload => invoke('notes:create', payload),
updateNote: payload => invoke('notes:update', payload),
deleteNote: payload => invoke('notes:delete', payload),
})