Получить текущую метку времени в правилах пожарного депо - PullRequest
0 голосов
/ 13 марта 2020

Я пишу функцию правил firestore, которая должна возвращать true, если определенное значение находится в диапазоне от 0 до 1000 или больше текущей unix -timestamp. В соответствии с ссылкой я пытаюсь сделать следующее:

rules_version = '2';
service cloud.firestore {
  match /databases/{db}/documents {
    function check(i) {
      return i > 0 && (i < 1000 || i > (timestamp.epochMillis));
    }
// ...

Однако редактор правил выдает ошибку:

отметка времени представляет собой пакет и не может использоваться в качестве имени переменной.

1 Ответ

1 голос
/ 13 марта 2020

Я думаю, что вы должны иметь возможность использовать request.time следующим образом (не проверено):

return i > 0 && (i < 1000 || i > request.time.toMillis());

Как объяснено здесь , с request.time вы получите ненулевое значение rules.Timestamp:

Когда запрос был получен службой.

Для операций записи Firestore, которые включают временные метки на стороне сервера, это время будет равно временной метке сервера.

...