-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathconvert-teachers.js
More file actions
33 lines (27 loc) · 1.05 KB
/
convert-teachers.js
File metadata and controls
33 lines (27 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const path = require('path');
const fs = require('fs');
const fb = require('firebase-admin');
const serviceAccount = require('../private/service-account.json');
const TEACHERS = [
"Joanna.Hill@ashfield.ttct.co.uk",
"qqqqqq.qqqqq@qqq.edu"
];
fb.initializeApp({
credential: fb.credential.cert(serviceAccount),
databaseURL: 'https://parallel-beta-31dc4.firebaseio.com'
});
const file = path.join(__dirname, `../private/tmp-users.json`);
const accounts = JSON.parse(fs.readFileSync(file)).users;
async function makeTeacher(email) {
const a = accounts.find(a => a.email.toLowerCase() === email.toLowerCase());
if (!a) return console.error('Could not find ' + email);
return fb.firestore().collection('users').doc(a.localId).update({
schoolName: '<<SCHOOL NAME>>',
code: 'xxxxx'.replace(/x/g, () => ((Math.random()*36)%36 | 0).toString(36)),
level: null,
birthYear: null,
teacherCode: null
}).catch(error => console.error(error + ',' + email));
}
const promises = TEACHERS.map(makeTeacher);
Promise.all(promises).then(() => process.exit());