Marcelo J Forclaz
Marcelo J Forclaz

Reputation: 728

Cannot deploy Firestore Cloud Function

I'm trying to deploy a simple function on Firebase Cloud Functions but console logs an error that I can't figure out where is

My index.js:

const functions = require('firebase-functions');
const admin = require('firebase-admin')
admin.initializeApp()

exports.updateAccount = functions.firestore.document('accounts/{client_id}/movements').onWrite(change => {
    const document = change.after.exists ? change.after.data() : null
    console.log(document)
})

Console says:

⚠  functions: failed to create function updateAccount
HTTP Error: 400, The request has errors


Functions deploy had errors with the following functions:
        updateAccount


To try redeploying those functions, run:
    firebase deploy --only functions:updateAccount


To continue deploying other features (such as database), run:
    firebase deploy --except functions

Error: Functions did not deploy properly.

Upvotes: 5

Views: 2391

Answers (1)

Dev
Dev

Reputation: 1374

Your cloud function argument always points to the document level, not the collection level.

exports.updateAccount = functions.firestore
  .document('accounts/{client_id}/movements/{movement_id}')
  .onWrite(change => {
     const document = change.after.exists ? change.after.data() : null
     console.log(document)
})

You are trying to make the deployment in the collection level, not in the document level.

Upvotes: 10

Related Questions