From 9b6b64f80bf9b3a65428176654a776fb092d709d Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 2 Dec 2020 15:58:58 -0800 Subject: [PATCH 1/2] Add callable functions snippets --- functions/callable.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 functions/callable.js diff --git a/functions/callable.js b/functions/callable.js new file mode 100644 index 00000000..5cb6a515 --- /dev/null +++ b/functions/callable.js @@ -0,0 +1,35 @@ +import firebase from "firebase/app"; +import "firebase/functions"; + +function callAddMessage() { + const messageText = "Hello, World!"; + + // [START functions_call_add_message] + var addMessage = firebase.functions().httpsCallable('addMessage'); + addMessage({ text: messageText }) + .then((result) => { + // Read result of the Cloud Function. + var sanitizedMessage = result.data.text; + }); + // [END functions_call_add_message] +} + +function callAddMessageError() { + const messageText = "Hello, World!"; + + // [START functions_call_add_message_error] + var addMessage = firebase.functions().httpsCallable('addMessage'); + addMessage({ text: messageText }) + .then((result) => { + // Read result of the Cloud Function. + var sanitizedMessage = result.data.text; + }) + .catch((error) => { + // Getting the Error details. + var code = error.code; + var message = error.message; + var details = error.details; + // ... + }); + // [END functions_call_add_message_error] +} From a94623228025e47be4f5fae101fec3fb3fa61dfb Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 2 Dec 2020 16:05:34 -0800 Subject: [PATCH 2/2] Add vNext snippets --- firestore-next/emulator-suite.js | 2 + firestore-next/test.firestore.js | 2 + firestore-next/test.solution-aggregation.js | 2 + firestore-next/test.solution-arrays.js | 2 + firestore-next/test.solution-counters.js | 2 + firestore-next/test.solution-geoqueries.js | 2 + functions-next/callable.js | 41 +++++++++++++++++++ functions-next/emulator-suite.js | 2 + .../callable/functions_call_add_message.js | 16 ++++++++ .../functions_call_add_message_error.js | 23 +++++++++++ 10 files changed, 94 insertions(+) create mode 100644 functions-next/callable.js create mode 100644 snippets/functions-next/callable/functions_call_add_message.js create mode 100644 snippets/functions-next/callable/functions_call_add_message_error.js diff --git a/firestore-next/emulator-suite.js b/firestore-next/emulator-suite.js index 6e608dc7..05997344 100644 --- a/firestore-next/emulator-suite.js +++ b/firestore-next/emulator-suite.js @@ -1,4 +1,6 @@ +// [SNIPPETS_REGISTRY disabled] // [SNIPPETS_SEPARATION enabled] + function onDocumentReady(firebaseApp) { // [START fs_emulator_connect] const { initializeFirestore } = require("firebase/firestore"); diff --git a/firestore-next/test.firestore.js b/firestore-next/test.firestore.js index 09189eb2..98e856ed 100644 --- a/firestore-next/test.firestore.js +++ b/firestore-next/test.firestore.js @@ -1,4 +1,6 @@ +// [SNIPPETS_REGISTRY disabled] // [SNIPPETS_SEPARATION enabled] + const { expect } = require('chai'); // [START city_custom_object] diff --git a/firestore-next/test.solution-aggregation.js b/firestore-next/test.solution-aggregation.js index a2b8c487..06556023 100644 --- a/firestore-next/test.solution-aggregation.js +++ b/firestore-next/test.solution-aggregation.js @@ -1,4 +1,6 @@ +// [SNIPPETS_REGISTRY disabled] // [SNIPPETS_SEPARATION enabled] + // [START sample_doc] const arinellDoc = { name: 'Arinell Pizza', diff --git a/firestore-next/test.solution-arrays.js b/firestore-next/test.solution-arrays.js index 7c2ee04d..5353b7ed 100644 --- a/firestore-next/test.solution-arrays.js +++ b/firestore-next/test.solution-arrays.js @@ -1,4 +1,6 @@ +// [SNIPPETS_REGISTRY disabled] // [SNIPPETS_SEPARATION enabled] + const postsWithArray = [ // [START post_with_array] // Sample document in the 'posts' collection. diff --git a/firestore-next/test.solution-counters.js b/firestore-next/test.solution-counters.js index ab9eae36..9f6b2c37 100644 --- a/firestore-next/test.solution-counters.js +++ b/firestore-next/test.solution-counters.js @@ -1,4 +1,6 @@ +// [SNIPPETS_REGISTRY disabled] // [SNIPPETS_SEPARATION enabled] + const { FirebaseFirestore } = require('firebase/firestore'); /** @type {FirebaseFirestore} */ diff --git a/firestore-next/test.solution-geoqueries.js b/firestore-next/test.solution-geoqueries.js index 68380b2a..9560623b 100644 --- a/firestore-next/test.solution-geoqueries.js +++ b/firestore-next/test.solution-geoqueries.js @@ -1,4 +1,6 @@ +// [SNIPPETS_REGISTRY disabled] // [SNIPPETS_SEPARATION enabled] + const { FirebaseFirestore } = require('firebase/firestore'); const geofire = require('geofire-common'); diff --git a/functions-next/callable.js b/functions-next/callable.js new file mode 100644 index 00000000..9c5065bf --- /dev/null +++ b/functions-next/callable.js @@ -0,0 +1,41 @@ +// [SNIPPETS_REGISTRY disabled] +// [SNIPPETS_SEPARATION enabled] + +export function callAddMessage(firebaseApp) { + const messageText = "Hello, World!"; + + // [START functions_call_add_message] + const { getFunctions, httpsCallable } = require("firebase/functions"); + + const functions = getFunctions(firebaseApp); + const addMessage = httpsCallable(functions, 'addMessage'); + addMessage({ text: messageText }) + .then((result) => { + // Read result of the Cloud Function. + const sanitizedMessage = result.data.text; + }); + // [END functions_call_add_message] +} + +export function callAddMessageError(firebaseApp) { + const messageText = "Hello, World!"; + + // [START functions_call_add_message_error] + const { getFunctions, httpsCallable } = require("firebase/functions"); + + const functions = getFunctions(firebaseApp); + const addMessage = httpsCallable(functions, 'addMessage'); + addMessage({ text: messageText }) + .then((result) => { + // Read result of the Cloud Function. + const sanitizedMessage = result.data.text; + }) + .catch((error) => { + // Getting the Error details. + const code = error.code; + const message = error.message; + const details = error.details; + // ... + }); + // [END functions_call_add_message_error] +} diff --git a/functions-next/emulator-suite.js b/functions-next/emulator-suite.js index ec7eddb8..976b1734 100644 --- a/functions-next/emulator-suite.js +++ b/functions-next/emulator-suite.js @@ -1,4 +1,6 @@ +// [SNIPPETS_REGISTRY disabled] // [SNIPPETS_SEPARATION enabled] + import { initializeApp } from "firebase/app"; initializeApp({ diff --git a/snippets/functions-next/callable/functions_call_add_message.js b/snippets/functions-next/callable/functions_call_add_message.js new file mode 100644 index 00000000..7836b85c --- /dev/null +++ b/snippets/functions-next/callable/functions_call_add_message.js @@ -0,0 +1,16 @@ +// This snippet file was generated by processing the source file: +// ./functions-next/callable.js +// +// To make edits to the snippets in this file, please edit the source + +// [START functions_call_add_message_modular] +import { getFunctions, httpsCallable } from "firebase/functions"; + +const functions = getFunctions(firebaseApp); +const addMessage = httpsCallable(functions, 'addMessage'); +addMessage({ text: messageText }) + .then((result) => { + // Read result of the Cloud Function. + const sanitizedMessage = result.data.text; + }); +// [END functions_call_add_message_modular] \ No newline at end of file diff --git a/snippets/functions-next/callable/functions_call_add_message_error.js b/snippets/functions-next/callable/functions_call_add_message_error.js new file mode 100644 index 00000000..84d8a381 --- /dev/null +++ b/snippets/functions-next/callable/functions_call_add_message_error.js @@ -0,0 +1,23 @@ +// This snippet file was generated by processing the source file: +// ./functions-next/callable.js +// +// To make edits to the snippets in this file, please edit the source + +// [START functions_call_add_message_error_modular] +import { getFunctions, httpsCallable } from "firebase/functions"; + +const functions = getFunctions(firebaseApp); +const addMessage = httpsCallable(functions, 'addMessage'); +addMessage({ text: messageText }) + .then((result) => { + // Read result of the Cloud Function. + const sanitizedMessage = result.data.text; + }) + .catch((error) => { + // Getting the Error details. + const code = error.code; + const message = error.message; + const details = error.details; + // ... + }); +// [END functions_call_add_message_error_modular] \ No newline at end of file