Я пишу правила Firestore для приложения для Android, которое я сейчас разрабатываю.У меня проблемы с написанием правил безопасности.Я хочу иметь коллекцию редакторов, в которой каждый документ назван по имени userId и хранит в себе роль этого userId.
Путь к документу для каждого редактора - users / (userId данных владельца, к которым осуществляется доступ) / editors / (userId для доступа к пользователю).Поле, содержащее роль, - «Роль», и в настоящее время единственная роль - «Владелец».Таким образом, он отображается в базе данных как роль: «Владелец».
match /users/{userId} {
allow read, write: if getUserData().Role == "Owner";
}
function isSignedIn() {
return request.auth != null;
}
function getUserData()
{
return get(/databases/$(database)/documents/users/$(userId)/editors/$(request.auth.uid)).data;
}
Имитация чтения и записи в настоящее время запрещена.