Как установить правила безопасности в Firebase Realtime Database для конкретных параметров

В приложении используется Firebase Realtime Database. JSON выглядит примерно так:

"records": {
    "userId1": {
        "recordId1": {
            "playingCount": 11,
            "likeCount": 10,
            .
            .
            .
        "recordId2": {
            "playingCount": 11,
            "likeCount": 10,
            .
            .
            .   

    "userId2": {
        "recordId1": {
            "playingCount": 11,
            "likeCount": 10,
            .
            .
            .

Одна из главных веток называется records, там записаны данные о записях пользователях по следующей логике records - userId - recordId. В recordId есть разные параметры, в том числе playingCount и likeCount. Мне нужно прописать так правила безопасности, чтобы изменять (то есть 'write') мог любой пользователь именно этих 2х параметров, а остальные не мог. Пример: пользователь прослушивает запись друго пользователя и добавляет + 1 к счетчику прослушивания записи или ставит лайк и этот параметр тоже меняется в чужой записи.

Сейчас мои правила безопасности выглядят так:

"records" : { 
              "$uid" : {
                ".read": "auth != null",
                ".write": "auth != null && auth.uid == $uid", 
                }
     },

но это не позволяет менять эти 2 параметра пользователю в ветке чужой записи. Как мне прописать такие правила?

PS: разобрался как добавить правила для 1 параметра, но как туда вкруть второй пока не понятно (параллельно с "$playingCount" поставить такой же "$likeCount" не получается)

{
  "rules": {
    ".read": "auth != null",
    
    "records": {
      ".read": "auth != null",
        "$uid": {
          ".write": "auth != null && auth.uid == $uid",
          "$recordId": {
            "playingCount": {
              ".write": "auth != null",
            }
          }
        }
     }
  }
} 

Ответы (0 шт):