Правила облачного пожарного хранилища - получить документ по значению поля - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть две коллекции рабочего времени и представления .Документ для отправки имеет поле uid .Я хочу иметь возможность обновлять / удалять документ рабочего времени, когда он не подписан.Я хочу что-то вроде этого:

match /worktimes/{document=**} {
  allow update, delete: if !isMonthSigned()
} 

В моем isMonthSigned () Я хочу посмотреть коллекцию представлений, выбрать документ, который равен моему идентификатору, а затем иметь доступ к значениям его полей.Как мне получить этот документ?Пока я застрял здесь:

get(/databases/$(database)/documents/submissions/{submission})

Спасибо!

1 Ответ

0 голосов
/ 11 декабря 2018
    service cloud.firestore {
      match /databases/{database}/documents {
        function isSignedIn() {
          return request.auth != null;
        }

        function isOwner(userId) {
          return request.auth.uid == userId
        }


        match /submissions/{submission} {
          allow update, delete: if isSignedIn()
            && isOwner(resource.data.userId);
       }

     }
   }
...