feat: attempting function for delete

pull/376/head
Tom Arra 3 years ago
parent b83d5b0393
commit 7ccdabe348

@ -0,0 +1,5 @@
{
"projects": {
"default": "pinball-dev"
}
}

@ -5,7 +5,11 @@
"hosting": {
"public": "build/web",
"site": "ashehwkdkdjruejdnensjsjdne",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
{
"source": "**/*.@(jpg|jpeg|gif|png)",

@ -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…
Cancel
Save