Skip to main content

Electron API

Complete API accessible via window.electronAPI.

keychain

interface KeychainAPI {
getAll(): Promise<KeychainItem[]>
create(data: Partial<KeychainItem>): Promise<KeychainItem>
update(id: string, data: Partial<KeychainItem>): Promise<KeychainItem>
remove(id: string): Promise<boolean>
}

favorites

interface FavoritesAPI {
getFavorites(): Promise<FavoriteItem[]>
addFavoriteManual(data: { url: string; title: string; name?: string }): Promise<FavoriteItem>
updateFavorite(id: string, updates: Partial<FavoriteItem>): Promise<FavoriteItem>
removeFavorite(id: string): Promise<boolean>
getFavoriteTags(): Promise<string[]>
fetchPageTitle(url: string): Promise<string>
}

music

interface MusicAPI {
getAll(options?: { page: number; pageSize: number }): Promise<{ items: MusicItem[]; total: number }>
getFile(id: string): Promise<{ fileData: string; mimeType: string }>
delete(id: string): Promise<boolean>
updateLastPlayed(id: string): Promise<void>
moveToPlaylist(musicId: string, playlistId: string): Promise<void>
}

interface MusicPlaylistAPI {
getAll(): Promise<MusicPlaylist[]>
create(data: { name: string }): Promise<MusicPlaylist>
update(id: string, updates: { name?: string }): Promise<MusicPlaylist>
delete(id: string): Promise<boolean>
}

countdown

interface CountdownAPI {
getAll(): Promise<CountdownItem[]>
create(data: { name: string; targetDate: string; repeatType: string; repeatInterval: number }): Promise<CountdownItem>
update(id: string, data: Partial<CountdownItem>): Promise<CountdownItem>
remove(id: string): Promise<boolean>
}

notes

interface NotesAPI {
getAll(): Promise<NoteItem[]>
create(data: Partial<NoteItem>): Promise<NoteItem>
update(id: string, data: Partial<NoteItem>): Promise<NoteItem>
remove(id: string): Promise<boolean>
}

interface NoteFoldersAPI {
getAll(): Promise<NoteFolder[]>
create(data: { name: string; parentId?: string }): Promise<NoteFolder>
update(id: string, updates: { name?: string }): Promise<NoteFolder>
delete(id: string): Promise<boolean>
}

wallet

interface WalletAPI {
getAll(): Promise<WalletItem[]>
create(data: Partial<WalletItem>): Promise<WalletItem>
update(id: string, data: Partial<WalletItem>): Promise<WalletItem>
remove(id: string): Promise<boolean>
getSummary(options: { startDate: string; endDate: string }): Promise<WalletSummary>
}

album

interface AlbumAPI {
getAll(): Promise<AlbumItem[]>
getFile(id: string): Promise<{ fileData: string; mimeType: string }>
delete(id: string): Promise<boolean>
addFromFavorite(favoriteId: string): Promise<AlbumItem>
getAllFavoriteAttachmentsMeta(): Promise<Map<string, AttachmentMeta>>
}