0.1.14 • Published 6 years ago
ra-data-firestore-client v0.1.14
ra-data-firestore-client
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_REFERENCEetc) - 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-clientCheck 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)