pleroma-fe/src/stores/oauth_tokens.js

36 lines
830 B
JavaScript
Raw Normal View History

import { defineStore } from 'pinia'
2026-06-15 20:02:22 +03:00
import { useCredentialsStore } from 'src/stores/credentials.js'
import {
fetchOAuthTokens,
revokeOAuthToken,
} from 'src/services/api/api.service.js'
export const useOAuthTokensStore = defineStore('oauthTokens', {
state: () => ({
2026-01-06 16:22:52 +02:00
tokens: [],
}),
actions: {
2026-01-06 16:22:52 +02:00
fetchTokens() {
2026-06-15 20:02:22 +03:00
fetchOAuthTokens({
credentials: useCredentialsStore().current,
}).then((tokens) => {
this.swapTokens(tokens)
})
},
2026-01-06 16:22:52 +02:00
revokeToken(id) {
2026-06-15 20:02:22 +03:00
revokeOAuthToken({
id,
credentials: useCredentialsStore().current,
}).then((response) => {
if (response.status === 201) {
this.swapTokens(this.tokens.filter((token) => token.id !== id))
}
})
},
2026-01-06 16:22:52 +02:00
swapTokens(tokens) {
this.tokens = tokens
2026-01-06 16:22:52 +02:00
},
},
})