@allservices/sdk-react
v4.0.0
Published
TanStack Query hooks and React provider for the AllServices API
Maintainers
Readme
@allservices/sdk-react
TanStack Query hooks and a React provider for the AllServices API.
Status: alpha. Public API may change between minors until
1.0.0. Requires React 18+ and@tanstack/react-queryv5.
Install
pnpm add @allservices/sdk-react @allservices/sdk-core @allservices/contracts \
@tanstack/react-query reactUsage
import { AllServicesProvider, useCurrentUser, useLicenses } from '@allservices/sdk-react';
export function App() {
return (
<AllServicesProvider config={{ region: 'eu', credentials: 'include' }}>
<Dashboard />
</AllServicesProvider>
);
}
function Dashboard() {
const { data: user } = useCurrentUser();
const { data: licenses } = useLicenses();
return <pre>{JSON.stringify({ user, licenses }, null, 2)}</pre>;
}The provider constructs the AllServicesClient and a default TanStack QueryClient internally. To share an existing QueryClient, pass it via the optional queryClient prop.
Sudo step-up
import { SudoGuard, useStepUp } from '@allservices/sdk-react';
function DeleteAccountButton() {
return (
<SudoGuard>
{({ run, isSudoRequired, resolveSudo }) => (
<>
<button onClick={() => run(() => deleteAccount())}>Delete</button>
{isSudoRequired && <SudoPrompt onSubmit={(code) => resolveSudo(code)} />}
</>
)}
</SudoGuard>
);
}Hook coverage
Every domain in @allservices/sdk-core has corresponding hooks: auth (login, register, MFA, sessions, sudo, panic, trusted devices, recovery, PATs, security log), users, roles, careers, webhooks, licensing, assets, identity providers, required actions, and health.
Documentation
See the main README.
License
UNLICENSED — internal AllServices use only.
