summaryrefslogtreecommitdiffstats
path: root/settings/src/components/AuthTokenSection.vue
diff options
context:
space:
mode:
Diffstat (limited to 'settings/src/components/AuthTokenSection.vue')
-rw-r--r--settings/src/components/AuthTokenSection.vue21
1 files changed, 20 insertions, 1 deletions
diff --git a/settings/src/components/AuthTokenSection.vue b/settings/src/components/AuthTokenSection.vue
index 6d70059abd6..0f2da49e053 100644
--- a/settings/src/components/AuthTokenSection.vue
+++ b/settings/src/components/AuthTokenSection.vue
@@ -26,13 +26,15 @@
<AuthTokenList :tokens="tokens"
@toggleScope="toggleTokenScope"
@rename="rename"
- @delete="deleteToken"/>
+ @delete="deleteToken"
+ @wipe="wipeToken" />
<AuthTokenSetupDialogue :add="addNewToken" />
</div>
</template>
<script>
import Axios from 'nextcloud-axios';
+ import confirmPassword from 'nextcloud-password-confirmation';
import AuthTokenList from './AuthTokenList';
import AuthTokenSetupDialogue from './AuthTokenSetupDialogue';
@@ -132,6 +134,23 @@
// Restore
this.tokens.push(token);
})
+ },
+ wipeToken(token) {
+ console.debug('wiping app token', token);
+
+ confirmPassword()
+ .then(() => Axios.post(this.baseUrl + '/wipe/' + token.id))
+ .then(tap(() => {
+ console.debug('app token marked for wipe')
+
+ // Update the type
+ // TODO: refactor the server-side code to return the updated token
+ token.type = 2;
+ }))
+ .catch(err => {
+ console.error.bind('could not wipe app token', err);
+ OC.Notification.showTemporary(t('core', 'Error while wiping the device with the token'));
+ })
}
}
}