Skip to content

Commit

Permalink
use background service to revoke/disconnect app (#4790)
Browse files Browse the repository at this point in the history
* use background service to revoke/disconnect app

* rm revokeAppPermission
  • Loading branch information
Jibz1 committed Sep 26, 2022
1 parent aa469e4 commit 055299d
Showing 1 changed file with 4 additions and 21 deletions.
25 changes: 4 additions & 21 deletions wallet/src/ui/app/redux/slices/permissions/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
createSelector,
createSlice,
} from '@reduxjs/toolkit';
import Browser from 'webextension-polyfill';

import { activeAccountSelector } from '../account';

Expand Down Expand Up @@ -43,26 +42,13 @@ export const respondToPermissionRequest = createAsyncThunk<
}
);

// Todo: move this to the wallet adapter
// Get all permissions from from storage
// remove the permission for a given origin
// set the new permissions in storage
export const revokeAppPermissionByOrigin = createAsyncThunk<
void,
{ origin: string },
AppThunkConfig
>('revoke-app-permission', async ({ origin }, { dispatch }) => {
const connectedApps = await Browser.storage.local.get('permissions');
if (connectedApps.permissions[origin]) {
const appId = connectedApps.permissions[origin].id;
delete connectedApps.permissions[origin];
// remove app from state store
dispatch(revokeAppPermission(appId));
await Browser.storage.local.set({
permissions: connectedApps.permissions,
});
return;
}
>('revoke-app-permission', async ({ origin }, { extra: { background } }) => {
await background.disconnectApp(origin);
await background.sendGetPermissionRequests();
return;
});

Expand All @@ -74,9 +60,6 @@ const slice = createSlice({
permissionsAdapter.setAll(state, payload);
state.initialized = true;
},
revokeAppPermission: (state, { payload }: PayloadAction<string>) => {
permissionsAdapter.removeOne(state, payload);
},
},
extraReducers: (build) => {
build.addCase(
Expand All @@ -98,7 +81,7 @@ const slice = createSlice({

export default slice.reducer;

export const { setPermissions, revokeAppPermission } = slice.actions;
export const { setPermissions } = slice.actions;

export const permissionsSelectors = permissionsAdapter.getSelectors(
(state: RootState) => state.permissions
Expand Down

0 comments on commit 055299d

Please sign in to comment.