Skip to content

Latest commit

 

History

History
executable file
·
74 lines (57 loc) · 2.75 KB

README.md

File metadata and controls

executable file
·
74 lines (57 loc) · 2.75 KB

Project discontinued

This project is no longer maintained and does not support React Admin v3. Please use the alternative: https://github.com/benwinding/react-admin-firebase

ra-data-firestore-client

NPM Version License Downloads/week Github Issues

A Firestore Client for the awesome react-admin framework. This library is a modified version of aymendhaya/ra-data-firebase-client

Pull requests are welcome! 🤝

Features

  • Supports all DataProvider request types (GET_LIST, GET_MANY_REFERENCE etc)
  • Sorting, filtering, pagination
  • AuthProvider with email/password authentication
  • Login enabled to users with admin rights only (how to set it up)
  • Attaching files (also images) in Base64 to Firestore documents (so react-admin ImageInput & FileInput work)

Quick demo

Clone the repository & run

npm install 
npm run init 
npm run demo 

Use in your project

npm install ra-data-firestore-client

Check example implementation.

Set up admin account

Only the Firebase users with admin flag are able to authenticate on the Login screen.

To elevate users rights, add a boolean field isAdmin = true for a user in a Firestore collection /users/, like below:

"users": {
    "<USER_ID>": {
        "isAdmin": true
    }
}

The default collection & field name can be changed by adding authConfig object to AuthProvider constructor:

const authConfig = {
  userProfilePath: '/users/',
  userAdminProp: 'isAdmin'
};

Known limitations

  • Filtering list by a text query works for exact values only
  • Realtime updates are not implemented yet (a draft PR is in progress)
  • No support for Firebase Storage upload
  • Sorting, filtering and pagination are done in memory after fetching all documents from collection (a draft PR is in progress)