@adonis-agora/authkit-react
Version:
Frontend ergonomics over AuthKit for AdonisJS + Inertia + React apps: a typed useAuth() hook, role-gating hooks and gating components.
16 lines (15 loc) • 702 B
JavaScript
import { useCallback } from 'react';
import { useAuthkitConfig } from '../config.js';
import { jsonRequest, useResource } from './use_resource.js';
export function useSessions() {
const config = useAuthkitConfig();
const { data, loading, error, refetch } = useResource(config.endpoints.sessions, config.csrfToken);
const revoke = useCallback(async (id) => {
await jsonRequest(`${config.endpoints.sessions}/${encodeURIComponent(id)}/revoke`, {
method: 'POST',
csrfToken: config.csrfToken,
});
await refetch();
}, [config.endpoints.sessions, config.csrfToken, refetch]);
return { data, loading, error, actions: { refetch, revoke } };
}