Как получить новую ссылку на базу данных внутри функции onCreate для отправки почты? - PullRequest
1 голос
/ 19 октября 2019

Я создаю функцию для отправки почты всякий раз, когда размещается новый заказ, и я хочу получить ссылку на электронную почту пользователя, которая находится внутри базы данных, путь которой => Users / uid / email, чтобы получить идентификатор электронной почтыпользователя для отправки почты. Как получить эту ссылку внутри моей функции?

Я пробовал firebase.database.ref (/Users/${userId}/email). Val (), admin.database.ref (/Users/${userId}/email). Val (). Но ничего из этого не работает.

exports.orderPlaced = functions.database.ref(/Users/{uid}/Bag/Books/{orderId}).onCreate((snapshot, context) => {


const userId = context.params.uid;
const orderid = context.params.orderId;

const refer = firebase.database.ref(/Users/${userId}/email).val();

const mailOptions = {
    from: '"abc" <abc@gmail.com>',
    to: 'xyz@gmail.com',
    subject: 'Order Details',
    html: `<p style="font-size: 16px;">${orderId}</p>
            <br />
        ` // email content in HTML
};

try {
    mailTransport.sendMail(mailOptions);
    console.log('mail send');

} 
catch(error) {
    console.error('There was an error while sending the email:', error);
}

return null; 
});

Я хочу получить идентификатор электронной почты пользователя, но я получаю сообщение об ошибке, что firebase не определен в exports.orderPlaced.functions.database.ref

1 Ответ

1 голос
/ 19 октября 2019

Вы, вероятно, получаете не определенную ошибку export.orderPlaced, потому что firebase использует функции экспорта, чтобы получить документ, который в вашем коде является константой, см.

Чтобы привести пример: -------exports.sendNotification = functions.database.refer("Users/{user_id}/Email/{email_id}").onWrite(event =>{ const user_id = event.params.user_id; const email_id = event.params.email_id;-----------------

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