Google FireStore Auth существует правило - PullRequest
0 голосов
/ 13 февраля 2019

У кого-нибудь есть мысли по поводу этого бизнеса?У меня есть медсестры (пользователи) и пациенты, и я хочу дать медсестрам разрешение на некоторые записи пациентов.

Теперь (отбрасывая все, что я знаю о реляционных базах данных), я поставил разрешения для каждого пациента, где каждое разрешение имеетID пользователя / медсестры

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: 
        if get(/databases/$(database)/documents/
          patients/89QL8XXXXFf/
          permissions/KZztXXXXXRf1)!=null;
    }
  }
}

.. ок, понял ...

1 Ответ

0 голосов
/ 13 февраля 2019
    service cloud.firestore {
      match /databases/{database}/documents{ 
          //define the database variable, use it later as $(database)
        match /patients/{patientId}{
            //define variable patientId, use later as $(patientId)
            allow read, write: 
              // if exists(/databases/$(database)/documents //WORKS
              //    /patients/$(patientId)
              //   /permissions/$(request.auth.uid))
              if get(/databases/$(database)/documents //WORKS
                /patients/$(patientId)
                /permissions/$(request.auth.uid)).data.write == true;
         //you have to get(...).data.myProperty 
    }
    // match /{document=**} {
    //  allow read,write: if false;
    // }
  }  
}
...