Простая интеграция react-admin в бэк на express/mongoose

от автора

React-admin позволяет быстро получить достаточно быструю, красивую и функциональную админку. Нужно только написать dataProvider или подстроить бэк под него.

Чтобы этот процесс максимально упростить, я сделал пару модулей, решил ими поделиться.

dataProvider я взял из документации, но использует _id вместо id, что удобно с монгой.

Чтобы создавать в express необходимые enpoint`ы я написал фукнцию, которая принимает в качестве аргументов router, адрес и модель. get метод там поддерживает сортировку и фильтры, совместимые с react-admin.

Для создания нужных компонент на фронте можно использовать *Guesser из react-admin, но я написал скрипт, который парсит файл с моделью и генерирует нужные поля. В качестве аргумента ему передается путь к файлу с моделей, и необязательный параметр —filters для полей, по которым нужны фильтрация.

Например: python gen_view.py ~/project/models/user.js —filters=email,first_name >src/users.js

Последний 2 строчки там — строка Resourse, которую нужно добавить в App.js

Вопрос авторизации решается на стороне express.

Вот собственно и всё, так имея только модели mongoose можно получить crud-админку.

ссылка на оригинал статьи https://habr.com/ru/post/568080/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *