mirror of https://github.com/flutter/pinball.git
parent
b83d5b0393
commit
7ccdabe348
@ -0,0 +1,5 @@
|
||||
{
|
||||
"projects": {
|
||||
"default": "pinball-dev"
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
node_modules/
|
@ -0,0 +1,32 @@
|
||||
const functions = require("firebase-functions");
|
||||
const admin = require('firebase-admin');
|
||||
admin.initializeApp();
|
||||
|
||||
const db = admin.firestore();
|
||||
|
||||
exports.timedLeaderboardCleanup = functions.firestore
|
||||
.document('leaderboard/{leaderboardEntry}')
|
||||
.onCreate((snap, context) => {
|
||||
functions.logger.info('Document created, getting all leaderboard documents')
|
||||
var allLeaderBoardEntries = db.collection('leaderboard').orderBy('score','desc').get().then(function(snapshot) {
|
||||
functions.logger.info('Leaderboard contains ' + snapshot.docs.length + ' entries');
|
||||
if(snapshot.docs.length > 10) {
|
||||
for(var i = 10; i < snapshot.docs.length; i++) {
|
||||
functions.logger.info('Deleting entry number ' + (i + 1) + ' in the leaderboard');
|
||||
snapshot.docs[i].ref.delete()
|
||||
.then(function() {
|
||||
functions.logger.info('Delete successful');
|
||||
return true;
|
||||
})
|
||||
.catch(function(error) {
|
||||
functions.logger.error('Error in Deleting record');
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
functions.logger.info('Leaderboard is less then 10 entries. No action taken.');
|
||||
return true;
|
||||
}
|
||||
});
|
||||
});
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "functions",
|
||||
"description": "Cloud Functions for Firebase",
|
||||
"scripts": {
|
||||
"serve": "firebase emulators:start --only functions",
|
||||
"shell": "firebase functions:shell",
|
||||
"start": "npm run shell",
|
||||
"deploy": "firebase deploy --only functions",
|
||||
"logs": "firebase functions:log"
|
||||
},
|
||||
"engines": {
|
||||
"node": "16"
|
||||
},
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"firebase-admin": "^10.0.2",
|
||||
"firebase-functions": "^3.18.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"firebase-functions-test": "^0.2.0"
|
||||
},
|
||||
"private": true
|
||||
}
|
Loading…
Reference in new issue