1
0
mirror of https://github.com/bitwarden/desktop synced 2026-01-10 20:43:14 +00:00
Files
desktop/src/services/desktopRendererSecureStorage.service.ts
Kyle Spearrin b9f4462aa4 full path refs
2018-02-15 14:05:48 -05:00

31 lines
882 B
TypeScript

import { ipcRenderer } from 'electron';
import { StorageService } from 'jslib/abstractions/storage.service';
export class DesktopRendererSecureStorageService implements StorageService {
async get<T>(key: string): Promise<T> {
const val = ipcRenderer.sendSync('keytar', {
action: 'getPassword',
key: key,
});
return Promise.resolve(val != null ? JSON.parse(val) as T : null);
}
async save(key: string, obj: any): Promise<any> {
ipcRenderer.sendSync('keytar', {
action: 'setPassword',
key: key,
value: JSON.stringify(obj),
});
return Promise.resolve();
}
async remove(key: string): Promise<any> {
ipcRenderer.sendSync('keytar', {
action: 'deletePassword',
key: key,
});
return Promise.resolve();
}
}