Taobin-Recipe-Manager/client-electron/electron/keychain.ts
2024-01-19 17:53:48 +07:00

22 lines
713 B
TypeScript

import { findCredentials, getPassword, setPassword } from '@postman/node-keytar'
export function eventGetKeyChain(icpMain: Electron.IpcMain) {
icpMain.on('get-keyChain', (event, serviceName, account) => {
getPassword(serviceName, account).then(password => {
event.returnValue = password
})
})
icpMain.on('set-keyChain', (_event, serviceName, account, password) => {
setPassword(serviceName, account, password)
})
icpMain.on('delete-keyChain', (_event, serviceName, account) => {
setPassword(serviceName, account, '')
})
icpMain.handle('keyChainSync', async (_event, serviceName) => {
const credentials = await findCredentials(serviceName)
return credentials
})
}