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
authProviderAuthentication (redirect-based)useLogin, useLogout, useRegister, useGetIdentity, usePermissions
accessControlProviderCerbos-based authorizationuseCan, <CanAccess>