UNPKG

@adonis-agora/authkit-react

Version:

Frontend ergonomics over AuthKit for AdonisJS + Inertia + React apps: a typed useAuth() hook, role-gating hooks and gating components.

165 lines (164 loc) 5.37 kB
import { useAuthkitClient } from '../../client/context.js'; import { authkitKeys } from '../keys.js'; export function useMeQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.me(), queryFn: () => client.account.me(), }; } export function useSecurityQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.security(), queryFn: () => client.account.security(), }; } export function useUpdateProfileMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'profile', 'update'], mutationFn: (data) => client.account.updateProfile(data), }; } export function useChangePasswordMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'password', 'change'], mutationFn: (data) => client.account.changePassword(data), }; } export function useEmailChangeMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'email-change'], mutationFn: (data) => client.account.emailChange(data), }; } export function useCancelEmailChangeMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'email-change', 'cancel'], mutationFn: () => client.account.cancelEmailChange(), }; } export function useAccountSessionsQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.sessions(), queryFn: () => client.account.sessions.list(), }; } export function useRevokeSessionMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'sessions', 'revoke'], mutationFn: (id) => client.account.sessions.revoke(id), }; } export function useRevokeOtherSessionsMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'sessions', 'revoke-others'], mutationFn: () => client.account.sessions.revokeOthers(), }; } export function useAccountRevokeAllSessionsMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'sessions', 'revoke-all'], mutationFn: () => client.account.sessions.revokeAll(), }; } export function useAppsQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.apps(), queryFn: () => client.account.apps.list(), }; } export function useRevokeAppMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'apps', 'revoke'], mutationFn: (clientId) => client.account.apps.revoke(clientId), }; } export function useMfaQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.mfa(), queryFn: () => client.account.mfa(), }; } export function useLoginMethodsQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.loginMethods(), queryFn: () => client.account.loginMethods.get(), }; } export function useUpdateLoginMethodsMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'login-methods', 'update'], mutationFn: (data) => client.account.loginMethods.update(data), }; } export function usePasskeysQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.passkeys(), queryFn: () => client.account.passkeys.list(), }; } export function useRemovePasskeyMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'passkeys', 'remove'], mutationFn: (id) => client.account.passkeys.remove(id), }; } export function useTokensQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.tokens(), queryFn: () => client.account.tokens.list(), }; } export function useCreateTokenMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'tokens', 'create'], mutationFn: (data) => client.account.tokens.create(data), }; } export function useRevokeTokenMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'account', 'tokens', 'revoke'], mutationFn: (id) => client.account.tokens.remove(id), }; } export function useAccountOrgsQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.orgs(), queryFn: () => client.account.orgs.list(), }; } export function useAccountOrgQueryOptions(id) { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.org(id), queryFn: () => client.account.orgs.get(id), enabled: !!id, }; } export function useAccountOrgInvitationsQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.account.orgInvitations(), queryFn: () => client.account.orgs.invitations(), }; }