С учетом документов Firestore этого формата, где user-100
и user-101
являются идентификаторами пользователя:
{
name: "Gizmo 123",
roles: {
"user-100": {
level: 10
},
"user-101": {
level: 20
},
}
}
Есть ли способ написать правило безопасности Firestore, которое заставляет обновления этого документа ограничиваться обновлением levels
только отдельных пользователей?
Обновления будут содержать пути к полям с динамическими полями («пользователь-100», «пользователь-103»), например:
- Действительный обновление:
{ "roles.user-100.level": 20 }
- Другое Действительное обновление:
{ "roles.user-103.level": 20 }
Запрещено обновлять другие поля:
- Неверно Обновление:
{ "name": "Bubba" }
- Другое недействительно обновление:
{ "roles": null }