1
0
mirror of https://github.com/h3poteto/whalebird-desktop synced 2025-02-03 18:57:43 +01:00

refactor: Use invoke for ipc to list accounts

This commit is contained in:
AkiraFukushima 2020-11-28 23:01:27 +09:00
parent 6b03d5a015
commit 07a94c96da
3 changed files with 12 additions and 39 deletions

View File

@ -427,16 +427,9 @@ ipcMain.handle('get-access-token', async (_: IpcMainInvokeEvent, request: TokenR
})
// nedb
ipcMain.on('list-accounts', (event: IpcMainEvent) => {
accountManager
.listAccounts()
.catch(err => {
log.error(err)
event.sender.send('error-list-accounts', err)
})
.then(accounts => {
event.sender.send('response-list-accounts', accounts)
})
ipcMain.handle('list-accounts', async (_: IpcMainInvokeEvent) => {
const accounts = await accountManager.listAccounts()
return accounts
})
ipcMain.on('get-local-account', (event: IpcMainEvent, id: string) => {
@ -1191,8 +1184,6 @@ app.on('ready', () => {
})
*/
class EmptyTokenError {}
/**
* Genrate application menu
*/

View File

@ -61,20 +61,11 @@ const actions: ActionTree<GlobalHeaderState, RootState> = {
dispatch('bindNotification')
dispatch('startUserStreamings')
},
listAccounts: ({ dispatch, commit }): Promise<Array<LocalAccount>> => {
return new Promise((resolve, reject) => {
win.ipcRenderer.send('list-accounts', 'list')
win.ipcRenderer.once('error-list-accounts', (_, err: Error) => {
win.ipcRenderer.removeAllListeners('response-list-accounts')
reject(err)
})
win.ipcRenderer.once('response-list-accounts', (_, accounts: Array<LocalAccount>) => {
win.ipcRenderer.removeAllListeners('error-list-accounts')
listAccounts: async ({ dispatch, commit }): Promise<Array<LocalAccount>> => {
const accounts = await win.ipcRenderer.invoke('list-accounts')
commit(MUTATION_TYPES.UPDATE_ACCOUNTS, accounts)
dispatch('refreshAccounts')
resolve(accounts)
})
})
return accounts
},
// Fetch account informations and save current state when GlobalHeader is displayed
refreshAccounts: ({ commit }): Promise<Array<LocalAccount>> => {

View File

@ -30,19 +30,10 @@ const mutations: MutationTree<AccountState> = {
}
const actions: ActionTree<AccountState, RootState> = {
loadAccounts: ({ commit }): Promise<Array<LocalAccount>> => {
return new Promise((resolve, reject) => {
win.ipcRenderer.send('list-accounts', 'list')
win.ipcRenderer.once('error-list-accounts', (_, err: Error) => {
win.ipcRenderer.removeAllListeners('response-list-accounts')
reject(err)
})
win.ipcRenderer.once('response-list-accounts', (_, accounts: Array<LocalAccount>) => {
win.ipcRenderer.removeAllListeners('error-list-accounts')
loadAccounts: async ({ commit }): Promise<Array<LocalAccount>> => {
const accounts = await win.ipcRenderer.invoke('list-accounts')
commit(MUTATION_TYPES.UPDATE_ACCOUNTS, accounts)
resolve(accounts)
})
})
return accounts
},
removeAccount: (_, account: LocalAccount) => {
return new Promise((resolve, reject) => {