Browse Source

Merge pull request #139 from appleby/fix-delete-unused-accounts-cron

Fixes for delete-unused-accounts-cron example
master
Nicolas Garnier 8 years ago
committed by GitHub
parent
commit
8e64a7b26b
  1. 11
      delete-unused-accounts-cron/functions/index.js
  2. 2
      delete-unused-accounts-cron/functions/package.json

11
delete-unused-accounts-cron/functions/index.js

@ -46,7 +46,7 @@ exports.accountcleanup = functions.https.onRequest((req, res) => {
getUsers().then(users => {
// Find users that have not signed in in the last 30 days.
const inactiveUsers = users.filter(
user => parseInt(user.lastLoginAt, 10) > Date.now() - 30 * 24 * 60 * 60 * 1000);
user => parseInt(user.lastLoginAt, 10) < Date.now() - 30 * 24 * 60 * 60 * 1000);
// Use a pool so that we delete maximum `MAX_CONCURRENT` users in parallel.
const promisePool = new PromisePool(() => {
@ -54,10 +54,10 @@ exports.accountcleanup = functions.https.onRequest((req, res) => {
const userToDelete = inactiveUsers.pop();
// Delete the inactive user.
return admin.auth().deleteUser(userToDelete.uid).then(() => {
console.log('Deleted user account', userToDelete.uid, 'because of inactivity');
return admin.auth().deleteUser(userToDelete.localId).then(() => {
console.log('Deleted user account', userToDelete.localId, 'because of inactivity');
}).catch(error => {
console.error('Deletion of inactive user account', userToDelete.uid, 'failed:', error);
console.error('Deletion of inactive user account', userToDelete.localId, 'failed:', error);
});
}
}, MAX_CONCURRENT);
@ -107,7 +107,8 @@ function getAccessToken(accessToken) {
const options = {
uri: 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token',
header: {'Metadata-Flavor': 'Google'}
headers: {'Metadata-Flavor': 'Google'},
json: true
};
return rp(options).then(resp => resp.access_token);

2
delete-unused-accounts-cron/functions/package.json

@ -5,10 +5,8 @@
"es6-promise-pool": "^2.4.4",
"firebase-admin": "^4.1.1",
"firebase-functions": "^0.5.1",
"googleapis": "^16.1.0",
"request": "^2.79.0",
"request-promise": "^4.1.1",
"request-promise-native": "^1.0.3",
"secure-compare": "^3.0.1"
}
}

Loading…
Cancel
Save