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