Taobin-Recipe-Manager/client-electron/electron/keychain.ts
2024-02-05 11:45:54 +07:00

22 lines
736 B
TypeScript

import { findCredentials, getPassword, setPassword, deletePassword } 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 }) => {
deletePassword(serviceName, account)
})
icpMain.handle('keyChainSync', async (_event, serviceName) => {
const credentials = await findCredentials(serviceName)
return credentials
})
}