UNPKG

@cubicweb/data-provider

Version:

CubicWeb data provider implementation

34 lines (32 loc) 960 B
import { DataProvider } from "./types.js"; import { Client, EntityRawSchemaArray, RelationDefinitionRawSchemaArray, Schema, } from "@cubicweb/client"; import { getGet } from "./get.js"; import { getUpdate } from "./update.js"; import { getCreate } from "./create.js"; import { getDelete } from "./delete.js"; /** * Creates a new data provider using the given CubicWeb client. * * @param client The CubicWebJS client used to communicate with the API * @param schema The current instance's data schema * @returns A React Admin data provider compatible with CubicWeb * * @category Custom Providers */ export function createDataProvider< E extends EntityRawSchemaArray, R extends RelationDefinitionRawSchemaArray<E> >(client: Client, schema: Schema<E, R>): DataProvider { return { schema: schema, ...getGet(client, schema), ...getUpdate(client, schema), ...getCreate(client, schema), ...getDelete(client, schema), }; }