Как вызвать облачную функцию, когда прибывает дата, сохраненная в свойствах документа firestore - PullRequest
0 голосов
/ 16 сентября 2018

Я создаю многостороннее приложение, в котором люди могут продавать и покупать еду.Это самое короткое из возможных обобщений.

Когда пользователь делает заказ на еду в ресторан и этот заказ помечается как отправленный, приложение генерирует комиссию для профиля ресторана в пожарном депо.

Когдакомиссия создается , она запускает фоновую функцию облачной базы , которая проверяет, есть ли у ресторана активный цикл выставления счетов, если нет, она создает такой как:

billingCycle: {
  openDate: 'the moment where the fee was created',
  endDate: '4th day after' //
} 

Этот объект созданв профиле пользователя (с правильной датой) и работает нормально!

Теперь я хочу выставить счет, когда прибудет дата значения пропуска endDate, здесь возникает вопрос.

Как я могу вызвать функцию, когда встречается дата endDate?

Я думал о переносе этого решения в приложение.Таким образом, приложение определяет, когда его время для запуска в то время как использует его, но что, если пользователь не?

Как я могу запустить облачную функцию Firebase для выставления счета-фактуры независимо от взаимодействия пользователя с клиентомapp?

Я много исследовал, чтобы найти ответ, но я не нашел ничего связанного, поэтому любая помощь так ценится.

* Это первый раз, когда я используюFCF.

1 Ответ

0 голосов
/ 16 сентября 2018

Вы можете использовать триггер onUpdate для документов, которые могут обновляться таким образом.Напишите код в функции, которая проверяет при каждом обновлении, совпадают ли даты в документе.Если даты совпадают, отправьте счет-фактуру, затем обновите документ, указав значение флага, указывающее, что счет-фактура выписан.

Вам также придется использовать этот новый флаг, чтобы определить , а не дляпри дальнейших обновлениях выставить счет еще раз (в противном случае ваша функция будет отправлять счет каждый раз, когда он обновляется, когда даты совпадают - это логическое значение будет означать, что это уже произошло).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...