From d7d0baa2b0267e3c52f0e464c6fab9fad5ccd05a Mon Sep 17 00:00:00 2001 From: Jonathan Irvin Date: Sat, 3 Aug 2019 22:44:29 -0500 Subject: [PATCH 1/2] docs(readme): update to fix permissions error fixes #10 --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0c28535..ef78c06 100644 --- a/README.md +++ b/README.md @@ -123,31 +123,31 @@ service cloud.firestore { function signedIn() { return request.auth != null; } - + function isAdmin() { - return signedIn() && + return signedIn() && 'ADMIN'in get(/databases/$(database)/documents/users/$(request.auth.uid)).data.roles.values(); } - - function ownsMessage() { + + function isOwner() { return signedIn() && request.auth.uid == resource.data.userId; } - + function isSelf() { return signedIn() && request.auth.uid == resource.id; } - + // Rules match /users/{userId} { - allow get: if isSelf(); allow list: if isAdmin(); - allow write: if isSelf() || isAdmin(); + allow get, update, delete: if isSelf() || isAdmin(); + allow create: if signedIn(); } - + match /messages/{messageId} { allow read: if signedIn(); - allow create: if signedIn(); - allow update, delete: if signedIn() && ownsMessage(); + allow create: if signedIn() && request.resource.data.userId == request.auth.uid + allow update, delete: if signedIn() && isOwner(); } } } From 3d792032eb922a629b387c322b063faf67d69038 Mon Sep 17 00:00:00 2001 From: Jonathan Irvin Date: Sat, 3 Aug 2019 22:46:19 -0500 Subject: [PATCH 2/2] docs(readme): add missing semicolon --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ef78c06..dcefb3e 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ service cloud.firestore { match /messages/{messageId} { allow read: if signedIn(); - allow create: if signedIn() && request.resource.data.userId == request.auth.uid + allow create: if signedIn() && request.resource.data.userId == request.auth.uid; allow update, delete: if signedIn() && isOwner(); } }