|
1 |
| -// https://github.com/dalenguyen/firestore-import-export |
2 |
| -fs = require('fs'); |
3 |
| - |
4 |
| -const firestoreService = require('firestore-export-import'); |
5 | 1 | const serviceAccount = require('./service.json');
|
| 2 | +const admin = require('firebase-admin'); |
| 3 | +const fs = require('fs'); |
| 4 | + |
| 5 | +admin.initializeApp({ |
| 6 | + credential: admin.credential.cert(serviceAccount), |
| 7 | +}); |
6 | 8 |
|
7 |
| -// Initiate Firebase App |
8 |
| -// appName is optional, you can omit it. |
9 |
| -const appName = '[DEFAULT]'; |
10 |
| -const databaseURL = 'https://usaco-guide.firebaseio.com'; |
11 |
| -firestoreService.initializeApp(serviceAccount, databaseURL, appName); |
| 9 | +const db = admin.firestore(); |
12 | 10 |
|
13 |
| -// Start exporting your data |
14 |
| -firestoreService.backup('users').then(data => |
15 |
| - fs.writeFile('user_data.json', JSON.stringify(data), function (err) { |
16 |
| - if (err) return console.log(err); |
17 |
| - console.log('OK'); |
| 11 | +admin |
| 12 | + .auth() |
| 13 | + .listUsers(1000) |
| 14 | + .then(function (listUsersResult) { |
| 15 | + let data = {}; |
| 16 | + listUsersResult.users.forEach(function (userRecord) { |
| 17 | + data[userRecord.uid] = userRecord.toJSON(); |
| 18 | + }); |
| 19 | + fs.writeFile('auth_data.json', JSON.stringify(data), function (err) { |
| 20 | + if (err) return console.log(err); |
| 21 | + console.log('OK'); |
| 22 | + }); |
| 23 | + }) |
| 24 | + .catch(function (error) { |
| 25 | + console.log('Error listing users:', error); |
| 26 | + }); |
| 27 | + |
| 28 | +db.collection('users') |
| 29 | + .get() |
| 30 | + .then(snapshot => { |
| 31 | + let data = {}; |
| 32 | + snapshot.forEach(doc => { |
| 33 | + data[doc.id] = doc.data(); |
| 34 | + }); |
| 35 | + return data; |
| 36 | + }) |
| 37 | + .then(data => { |
| 38 | + fs.writeFile('user_data.json', JSON.stringify(data), function (err) { |
| 39 | + if (err) return console.log(err); |
| 40 | + console.log('OK'); |
| 41 | + }); |
18 | 42 | })
|
19 |
| -); |
| 43 | + .catch(error => { |
| 44 | + console.log(error); |
| 45 | + }); |
0 commit comments