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.

288 lines (287 loc) 9.85 kB
import { useAuthkitClient } from '../../client/context.js'; import { authkitKeys } from '../keys.js'; export function useOverviewQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.overview(), queryFn: () => client.admin.overview(), }; } export function useUsersQueryOptions(params) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.users(params), queryFn: () => client.admin.users.list(params), }; } export function useUserQueryOptions(id) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.user(id), queryFn: () => client.admin.users.get(id), enabled: !!id, }; } export function useUserSessionsQueryOptions(id) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.userSessions(id), queryFn: () => client.admin.users.getSessions(id), enabled: !!id, }; } export function useCreateUserMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'users', 'create'], mutationFn: (data) => client.admin.users.create(data), }; } export function useUpdateUserMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'users', id, 'update'], mutationFn: (data) => client.admin.users.update(id, data), }; } export function useDisableUserMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'users', id, 'disable'], mutationFn: () => client.admin.users.disable(id), }; } export function useEnableUserMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'users', id, 'enable'], mutationFn: () => client.admin.users.enable(id), }; } export function useResetPasswordMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'users', id, 'reset-password'], mutationFn: () => client.admin.users.resetPassword(id), }; } export function useDeleteUserMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'users', id, 'delete'], mutationFn: () => client.admin.users.remove(id), }; } export function useRevokeUserSessionsMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'users', id, 'revoke-sessions'], mutationFn: () => client.admin.users.revokeSessions(id), }; } export function useSessionsQueryOptions(accountId) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.sessions(accountId), queryFn: () => client.admin.sessions.list(accountId), }; } export function useRevokeAllSessionsMutationOptions(accountId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'sessions', 'revoke-all', accountId ?? null], mutationFn: () => client.admin.sessions.revokeAll(accountId), }; } export function useClientsQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.clients(), queryFn: () => client.admin.clients.list(), }; } export function useClientQueryOptions(id) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.client(id), queryFn: () => client.admin.clients.get(id), enabled: !!id, }; } export function useCreateClientMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'clients', 'create'], mutationFn: (data) => client.admin.clients.create(data), }; } export function useUpdateClientMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'clients', id, 'update'], mutationFn: (data) => client.admin.clients.update(id, data), }; } export function useDeleteClientMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'clients', id, 'delete'], mutationFn: () => client.admin.clients.remove(id), }; } export function useRegenerateClientSecretMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'clients', id, 'regenerate-secret'], mutationFn: () => client.admin.clients.regenerateSecret(id), }; } export function useRolesQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.roles(), queryFn: () => client.admin.roles.list(), }; } export function useCreateRoleMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'roles', 'create'], mutationFn: (data) => client.admin.roles.create(data), }; } export function useUpdateRoleMutationOptions(name) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'roles', name, 'update'], mutationFn: (data) => client.admin.roles.update(name, data), }; } export function useDeleteRoleMutationOptions(name) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'roles', name, 'delete'], mutationFn: () => client.admin.roles.remove(name), }; } export function useOrgsQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.orgs(), queryFn: () => client.admin.orgs.list(), }; } export function useOrgQueryOptions(id) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.org(id), queryFn: () => client.admin.orgs.get(id), enabled: !!id, }; } export function useCreateOrgMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', 'create'], mutationFn: (data) => client.admin.orgs.create(data), }; } export function useUpdateOrgMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', id, 'update'], mutationFn: (data) => client.admin.orgs.update(id, data), }; } export function useDeleteOrgMutationOptions(id) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', id, 'delete'], mutationFn: () => client.admin.orgs.remove(id), }; } export function useAddOrgMemberMutationOptions(orgId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', orgId, 'members', 'add'], mutationFn: (data) => client.admin.orgs.addMember(orgId, data), }; } export function useRemoveOrgMemberMutationOptions(orgId, accountId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', orgId, 'members', accountId, 'remove'], mutationFn: () => client.admin.orgs.removeMember(orgId, accountId), }; } export function useUpdateOrgMemberRoleMutationOptions(orgId, accountId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', orgId, 'members', accountId, 'role'], mutationFn: (role) => client.admin.orgs.updateMemberRole(orgId, accountId, role), }; } export function useCreateOrgInvitationMutationOptions(orgId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', orgId, 'invitations', 'create'], mutationFn: (data) => client.admin.orgs.createInvitation(orgId, data), }; } export function useRevokeOrgInvitationMutationOptions(orgId, invitationId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'orgs', orgId, 'invitations', invitationId, 'revoke'], mutationFn: () => client.admin.orgs.revokeInvitation(orgId, invitationId), }; } export function useAuditQueryOptions(params) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.audit(params), queryFn: () => client.admin.audit.list(params), }; } export function useSettingsQueryOptions(orgId) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.settings(orgId), queryFn: () => client.admin.settings.list(orgId), }; } export function useSetSettingMutationOptions(orgId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'settings', 'set', orgId ?? null], mutationFn: ({ key, value }) => client.admin.settings.set(key, value, orgId), }; } export function useRemoveSettingMutationOptions(orgId) { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'settings', 'remove', orgId ?? null], mutationFn: (key) => client.admin.settings.remove(key, orgId), }; } export function useImpersonationQueryOptions(userId) { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.impersonation(userId), queryFn: () => client.admin.impersonation.get(userId), enabled: !!userId, }; } export function useKeysQueryOptions() { const client = useAuthkitClient(); return { queryKey: authkitKeys.admin.keys(), queryFn: () => client.admin.keys.status(), }; } export function useRotateKeysMutationOptions() { const client = useAuthkitClient(); return { mutationKey: ['authkit', 'admin', 'keys', 'rotate'], mutationFn: (input) => client.admin.keys.rotate(input), }; }