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/
Добавить комментарий