Я пытаюсь сделать простую часть прямого сообщения. У меня есть документ с некоторыми метаинформациями и подколлекция с отдельными сообщениями. Когда я пытаюсь получить сообщения, правила действительны в симуляторе, но в js я получаю каждый раз: Uncaught (в обещании) FirebaseError: Отсутствует или недостаточно разрешений .
Структура mongodb:
- chatRooms
- roomId
- метаинформация (senderId / Name, recieverId / Name, timestamp и т.д.)
- сообщения
Правила:
match /chatRooms/{chatRoom} {
allow create: if request.auth.uid != null;
allow update, delete: if resource.data.uid == request.auth.uid;
function isChatPartner() {
return parentDoc().receiverId == request.auth.uid || parentDoc().senderId == request.auth.uid;
}
function parentDoc() {
return get(/databases/$(database)/documents/chatRooms/$(chatroom)).data;
}
match /messages/{message} {
allow read: if isChatPartner();
}
}
JS-запрос:
db.collection("chatRoom").doc(_roomId).collection("messages").get().then(msg => {
console.log(msg);
})
Кто-нибудь знает, что может быть не так?