Skip to main content

@taruvi/refine-providers

Refine.dev data providers for Taruvi Data Service. Bridges Refine hooks (useList, useOne, useCreate, etc.) with the Taruvi backend platform via @taruvi/sdk.

Installation​

npm install @taruvi/refine-providers @taruvi/sdk @refinedev/core

Quick Start​

import { Refine } from "@refinedev/core";
import { Client } from "@taruvi/sdk";
import {
dataProvider,
storageDataProvider,
appDataProvider,
userDataProvider,
authProvider,
accessControlProvider,
} from "@taruvi/refine-providers";

const client = new Client({
apiKey: "your-api-key",
appSlug: "your-app-slug",
baseUrl: "https://your-site.taruvi.cloud",
});

function App() {
return (
<Refine
dataProvider={{
default: dataProvider(client),
storage: storageDataProvider(client),
app: appDataProvider(client),
user: userDataProvider(client),
}}
authProvider={authProvider(client)}
accessControlProvider={accessControlProvider(client)}
resources={[{ name: "posts" }]}
>
{/* Your app */}
</Refine>
);
}

Providers Overview​

ProviderdataProviderNamePurposeSupported Hooks
dataProvider"default"Database CRUD & graph operationsuseList, useOne, useMany, useCreate, useUpdate, useDelete, useCustom
storageDataProvider"storage"File storage operationsuseList, useOne, useCreate, useUpdate, useDelete, useDeleteMany, useCustom
appDataProvider"app"App config, edge functions, analyticsuseList, useOne, useCustom
userDataProvider"user"User managementuseList, useOne, useCreate, useUpdate, useDelete
authProvider—Authentication (redirect-based)useLogin, useLogout, useRegister, useGetIdentity, usePermissions
accessControlProvider—Cerbos-based authorizationuseCan, <CanAccess>