Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firebase Deploy Error: Failed to configure trigger

I have following sample function from this tutorial: Asynchronous Programming (I Promise!) with Cloud Functions for Firebase - Firecasts

exports.emailEmployeeReport = functions.database
.ref('/employees/${eid}/reports/${rid}')
.onWrite(event => {
    const eid = event.params.eid;
    const report = event.data.val().report;
    const root = event.data.ref.root;
    const mgr_promise = root.child(`/employees/${eid}/manager`).once('value');
    const then_promise = mgr_promise.then(snap => {
        const mgr_id = snap.val();
        const email_promise = root.child(`/employees/${mgr_id}/email`).once('value');
        return email_promise;
    }).catch(reason => {
        // Handle the error
        console.log(reason);
    });;
    const then_promise2 = then_promise.then(snap => {
        const email = snap.val();
        const emailReportPromise = sendReportEmail(email, report);
        return emailReportPromise;
    }).catch(reason => {
        // Handle the error
        console.log(reason);
    });
    return then_promise2;
});

var sendReportEmail = function (email, report) {
    const myFirstPromise = new Promise((resolve, reject) => {
        // do something asynchronous which eventually calls either:
        //
        setTimeout(function () {
            try {
                var someValue = "sendReportEmail";
                console.log(someValue);
                // fulfilled
                resolve(someValue);
            }
            catch (ex) {
                // rejected
                reject(ex);
            }
        }, 2000);
    });
    return myFirstPromise;
}

once I run firebase deploy command, eventually I am getting following error:

functions[emailEmployeeReport]: Deploy Error: Failed to configure trigger providers/google.firebase.database/eventTypes/[email protected] (emailEmployeeReport)

I also have a simple hello-world method and a similar trigger method, and they deploy fine.

Am I missing something here?

like image 330
Teoman shipahi Avatar asked Sep 19 '25 20:09

Teoman shipahi


1 Answers

The syntax for wildcards in the database reference does not have "$".

Try the following:

exports.emailEmployeeReport = functions.database .ref('/employees/{eid}/reports/{rid}')

like image 97
laurenzlong Avatar answered Sep 23 '25 01:09

laurenzlong