I want to limit the number of files that a user can upload to a firebase storage path. Here is my firebase storage rule:
service firebase.storage {
match /b/jobsdbn.appspot.com/o {
match /images/Business/{userId}/{imageId} {
allow read
allow write: if request.auth.uid == userId && (request.resource == null || ( (list(/images/Business/$(username)).size() <= 5) && imageId.size() < 50 && request.resource.size < 10 * 1024 * 1024 && request.resource.contentType.matches('image/.*')))
}
}
}
I have added list(/images/Business/$(username)).size() <= 5 from this article: https://groups.google.com/forum/#!topic/firebase-talk/ZtJPcEJr0Mc
but I always get 403 and not sure if "username" is global variable or not but I have used different variables and still cannot make it work.
In case any one needs an answer I found the solution by using firebase cloud functions:
You can find more options here:
https://googlecloudplatform.github.io/google-cloud-node/#/docs/storage/1.1.0/storage/bucket?method=getFiles