У меня есть правило безопасности Firestore, которое проверяет, есть ли у пользователя правильный код для доступа к другому документу.
service cloud.firestore {
match /databases/{database}/documents {
match /Orgs/{orgID} {
allow read: if get(/databases/$(database)/documents/Users/$(request.auth.uid)).data.OrgCode == resource.data.Code;
}
}
}
Это прекрасно работает.Однако, если я попытаюсь переместить эту проверку в пользовательскую функцию, например, так:
service cloud.firestore {
match /databases/{database}/documents {
match /Orgs/{orgID} {
allow read: if isPartOfOrg();
}
}
}
function isPartOfOrg(){
return get(/databases/$(database)/documents/Users/$(request.auth.uid)).data.OrgCode == resource.data.Code;
}
Затем я начну получать ошибки разрешения.Я ничего не сделал, но перевел логику в функцию, почему это не работает?