Облачная функция Firestore - отправка электронной почты при создании с использованием SendGrid

POSIX распознает множество вариантов регулярных выражений - основных регулярных выражений (BRE) и расширенных регулярных выражений (ERE). И даже тогда есть причуды из-за исторических реализаций утилит, стандартизированных POSIX.

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

Зайдите в книгу Джеффа Фридля , посвященной регулярным выражениям .

0
задан 18 March 2019 в 16:21
поделиться

1 ответ

Метод .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) )
  });
0
ответ дан Hristo Eftimov 18 March 2019 в 16:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: