This file contains hidden or 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
const admin = require('firebase-admin'); | |
const fs = require('fs'); | |
const serviceAccount = require('../../../../../../Private/myschool-data_transfer-key.json'); | |
admin.initializeApp({ credential: admin.credential.cert(serviceAccount) }); | |
const schema = require('./schema').schema; | |
const firestore2json = (db, schema, current) => { |

This file contains hidden or 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 ([email protected]) 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 hidden or 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
/** | |
* A script that: | |
* 1. loads Google Sheets API keys and spreadsheet IDs (see GOOGLE_API_KEY) | |
* 2. connects to the identifed Google Sheet | |
* 3. grabs the data from a named Worksheet (see SHEET_TO_GET) | |
* 4. iterates over each row (see processUserRows()) | |
* 5. puts them into a JSON structure | |
* 6. and writes that out to a file (see FILE_NAME) | |
* | |
* To run this script, I have this in my package.json: |
OlderNewer