@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
JavaScript
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(),
};
}