FusionWorks / react-admin-nestjsx-crud-dataprovider

Data provider which integrates React Admin with NestJS CRUD library
132 stars 26 forks source link

@FusionWorks/ra-data-nest-crud

GitHub package.json version NPM

@FusionWorks/ra-data-nest-crud is a dataprovider for react-admin, that has been designed to make easier communication between a frontend application built with react-admin, and a backend application built with nestjs framework and nestjsx/crud.

Install

Using npm: npm i @fusionworks/ra-data-nest-crud

Using yarn: yarn add @fusionworks/ra-data-nest-crud

Usage

// in app.js file

import React from 'react';
import { Admin, Resource, ShowGuesser } from 'react-admin';
import crudProvider from '@fusionworks/ra-data-nest-crud'
import { UsersList, UserCreate, UserEdit } from './Users'

const dataProvider = crudProvider('http://localhost:3000');
const App = () => (
  <Admin dataProvider={dataProvider}>
    <Resource name="users" list={UsersList} create={UserCreate} edit={UserEdit} show={ShowGuesser} />
  </Admin>
);
export default App;

Note: In case of REST verb "CREATE" consider that the response body is the same as the request body but with the object ID injected .

case CREATE:
return { data: { ...params.data, id: json.id } };

This is because of backwards compatibility compliance.

Example

You can find an example of a project that uses nestjs and nestjsx/crud on backend and admin-ui with @fusionworks/ra-data-nest-crud data provider.

If you need to run it, you need to go to api folder, install dependencies, change by your needs the config file for nestjs that is located in example/api/src/config/, and run application.

For frontend part you need just to go to admin-ui folder, install dependencies, and run the app: