Мне сложно писать правила безопасности для создания командной платформы для совместной работы.
- Когда пользователь регистрируется, они должны иметь возможность создать команду и пригласить пользователей в эту команду.
- Проекты должны принадлежать команде.
- Только пользователи из этой группы должны иметь возможность просматривать этот проект.
- Пользователи должны видеть только команды, в которых они входят.
Как мне написать правила безопасности .read, чтобы пользователи могли видеть информацию только от команд, в которых они находятся?
Мне нужно получить только две команды, потому что я принадлежу им github: 8272012.
Текущие правила безопасности:
{
"rules": {
".read": true,
"users": {
"$user": {
//can add a message if authenticated
".write": "auth.uid === $user"
}
},
"teams": {
"$team": {
"users": {
// can write to the users list only if ADMINISTRATOR
"$user": {
".write":"newData.parent().child(auth.uid).val() === 99"
}
}
}
},
"projects": {
"$team": {
"$project": {
//can add a message if they are a MEMBER
".write": "(!data.exists() && newData.exists() && root.child('teams/' + $team + '/users/' + auth.uid).val() >= 10)"
}
}
}
}
}
Мне нужно получить только две команды, потому что я принадлежу им github:8272012
.