Използвайки правилата за сигурност на Firebase, как мога да проверя стойностите на братя, за да определя дали newData
е валиден или не?
В моето приложение всяко game
има списък от moves
. Тук играта е 1405584062293
:
Когато се изпрати нов ход, искам да го потвърдя с позоваване на ходовете, които вече са изиграни. Като за начало играчът трябва да може да играе само всеки втори ход (първи играч може да играе четни ходове, започвайки от индекс 0
, втори играч може да играе нечетни ходове).
Тъй като ключът на всеки ход е неизвестен случаен низ (съгласно тази препоръка в документите) Не знам как да проверя предишния ход. Също така не знам как да преброя броя на съществуващите ходове.
Ето моята структура:
{
"rules":{
".read":true,
"games":{
"$game":{
"moves":{
"$move":{
".write":"auth !== null",
// Something along these lines would get me going...
".validate":"data.parent().keys.count % 2 == 0"
}
}
}
}
}
}
В действителност правилата на играта са много по-сложни и очаквам, че ще трябва да използвам Firesafe или подобно решение, но засега бих искал да знам как да постигна тези и други подобни прости правила.