- When in doubt, use
.send()
. It dynamically setsContent-Type
headers to match the data it sends. - When sending JSON, you can either use
.json()
or.send()
..json()
is likely less confusing.json()
uses.send()
under the hood so the resulting HTTP headers are the same.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<InstantSearch | |
indexName={ALGOLIA_INDEX_PROJECT} | |
searchClient={searchClient} | |
routing={routing} | |
future={{ | |
preserveSharedStateOnUnmount: true, | |
}} | |
onStateChange={({uiState, setUiState}) => { | |
if (firstRender.current) { | |
firstRender.current = false; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This code fails with the error described in: | |
// https://github.com/googleapis/google-cloud-node/issues/4361 | |
// | |
// The Node/JS version of the SDK currently does not support adding LogEvent policies. | |
// | |
// | |
// To run this code: | |
// - save to a file (e.g. "create-alerts.js") | |
// - be logged into your gcloud account (`gcloud auth login`) | |
// - set the env var `PROJ_ID` with your project ID |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* This file is used to dynamically import and export functions from the `fs`, `http`, `sched`, and `storage` directories. | |
* The exported functions are then used in the `index.ts` file to define the Cloud Functions. | |
* | |
* Only files with the extension `.f.ts` are imported and exported (well, `.f.js` after `tsc` has run). | |
* | |
* Concept for this is inspired by https://codeburst.io/organizing-your-firebase-cloud-functions-67dc17b3b0da | |
* -- Thank you @TarikHuber !! | |
*/ | |
import * as fs from 'fs'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* firestore_add_field_to_all_docs_in_collection.js | |
* | |
* This script is assumed to live in an existing Javascript project that has its own package.json. | |
* I store this script in <PROJECT_ROOT>/tools/cleanup/. | |
* | |
* To use: | |
* 1. Import the 'firebase' and 'esm' NPM modules to your project (Run the command: `npm install firebase esm`) | |
* 2. Edit the data for USER1 and FIREBASE_CONFIG, then adjust parameters in `main` for the call to `visitDocs`. | |
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* load_json_to_firstore.js | |
* | |
* This code is a "node script" used to load data into your Firestore database, either in "the cloud" or the emulator. | |
* | |
* The script is a "client app", so it logs in with Firebase Auth using email/password from the variable USER1. | |
* | |
* The USER1 user (the.admin.guy@test.com) must exist in your Firebase project and have write access | |
* to the collection(s) you are populating. You can create that account via Firebase Console >> Authentication. | |
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, {createContext, useEffect, useState} from 'react'; | |
import auth from '@react-native-firebase/auth'; // or from 'firebase/auth'; | |
import Loading from '../components/Loading'; | |
import {myFirestore} from '../common/firebase.js'; | |
export const AuthContext = createContext({}); | |
export const AuthProvider = (props) => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* cleanup_firestore.js | |
* | |
* This code is a "node script" used to delete all documents from a Firestore | |
* collection that are older than a given date. This script can run against | |
* "the cloud" or the emulator. | |
* | |
* The jump point for the script is this line in main(): | |
* | |
* await deleteDocs('orders', 'closedDate', '<', new Date('2021/08/31')) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
red=$(tput setaf 1) | |
green=$(tput setaf 2) | |
blue=$(tput setaf 6) | |
yellow=$(tput setaf 3) | |
reset=$(tput sgr0) | |
ROOT=$(pwd) | |
echo "" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* get_firestore_collection_as_json.js | |
* | |
* This code is a "node script" used to fetch all documents from a Firestore collection, | |
* either in "the cloud" or the emulator, and write them to a file as JSON. | |
* | |
* The script is a "client app", so it logs in with Firebase Auth using email/password from the variable USER1. | |
* This USER1 user (the.admin.guy@test.com) must exist in your Firebase project and have read access | |
* to the collection(s) you are populating. You can create that account via | |
* Firebase Console >> Authentication. |
NewerOlder