Я разработал приложение для флаттера, используя серверную часть dart и firebase. Я хочу, чтобы запускался, когда пользователь создает, удаляет, или обновляет что-нибудь в базе данных. Разобрался в методах onCreate, onRemoved, и onUpdate . Я написал код javascript в облачной функции firebase. Мне нужно отправить уведомление, когда сработает триггер. Я не хочу использовать 3 разных триггера. Я хочу использовать только триггер onWrite.
Это моя база данных.
Есть четыре отдела, называемых comp, гражданские, избранные, и мех . Я хочу срабатывать, когда изменения базы данных происходят в одном триггере onWrite!
Мой первый вопрос: я хочу различать , было ли это создано, удалено или обновлено from onWrite триггер. Я знаю, что он сработает для всех трех событий. Но как его отличить?
Это мой код для onCreate ...
exports.noticeAddedComp = functions.database.ref('main/notices/comp/{id}').onCreate( async evt => {
var token = ['dxnfr3dq6_Y:APA91bHavtoP62l296qzVoBhzQJbMFA']
const payload = {
notification:{
title : 'Message from Cloud',
body : 'This is your body',
sound : 'default'
},
data:{
message : 'Thi is new Push',
click_action : 'FLUTTER_NOTIFICATION_CLICK',
}
};
await admin.messaging().sendToDevice(token,payload);
});
Вышеуказанный код работает. Но это для onCreate.
Мой второй вопрос: нужно ли мне писать четыре кода триггера onWrite для четырех отделов?