Метод .onCreate()
не возвращает event
, он возвращает снимок объекта, и из него вы получаете идентификатор нового объекта.
Итак, в вашем случае это должно быть:
exports.firestoreEmail = functions.firestore.document('requests/{requestId}')
.onCreate((snap, context) => {
const requestId = snap.id; // get the id
const db = admin.firestore();
return db.collection('requests').doc(requestId)
.get()
.then(doc => {
const request = doc.data();
const msg = {
to: 'fuhr@gmx.net',
from: 'hello@angularfirebase.com',
templateId: 'd-3cd6b40ad6674f33702107d2',
substitutionWrappers: ['{{', '}}'],
substitutions: {
name: request.name,
lastname: request.lastname,
email: request.email,
package: request.package,
date: request.date,
text: request.text
// and other custom properties here
}
};
return sgMail.send(msg)
})
.then(() => console.log('email sent!') )
.catch(err => console.log(err) )
});
Из страницы справочника потрясающих:
BUGS
Of course there´s no bug in awesome. But there may be unexpected behaviours.
Java applications which use the XToolkit/XAWT backend may draw grey windows only. The XToolkit/XAWT backend breaks ICCCM-compliance
in recent JDK 1.5 and early JDK 1.6 versions, because it assumes a reparenting window manager. As a workaround you can use JDK 1.4
(which doesn´t contain the XToolkit/XAWT backend) or you can set the following environment variable (to use the older Motif backend
instead): AWT_TOOLKIT=MToolkit
Вы могли бы найти, что это - подобная проблема к испытанному с использованием Compiz и Java (на Ubuntu, по крайней мере), но я предполагаю.
Фиксация для этого (взятый отсюда) должна добавить следующую переменную среды к Вашей программе:
AWT_TOOLKIT="MToolkit"
Самый простой обходной путь - получить wmname из suckless и использовать его для установки имени оконного менеджера на LG3D:
wmname LG3D
98% случаев это решит проблему .