v1.6.2/admin dashboard

This commit is contained in:
2020-08-15 11:45:50 -04:00
parent 56cd151a04
commit 43dc657582
25 changed files with 15498 additions and 10 deletions
+55
View File
@@ -0,0 +1,55 @@
/* eslint-disable promise/no-nesting */
const admin = require('firebase-admin');
const Logger = require('../Logger');
const mLogger = new Logger('admin', 'partyDashboard');
module.exports = async (req, res) => {
mLogger.start();
var partyData = await admin
.firestore()
.collection('rooms')
.get()
.then((roomSnapshot) => {
const docData = [];
roomSnapshot.docs.forEach((doc) => {
docData.push({
id: doc.id,
createTime: doc.createTime.toDate().toUTCString(),
updateTime: doc.updateTime.toDate().toUTCString(),
source: doc.data().player.source,
onCall: doc.data().hasOwnProperty('conference'),
showName: doc.data().player.showName || '',
time: doc.data().player.time || 0,
status: doc.data().player.status || '',
});
});
return docData;
})
.catch((err) => {
mLogger.error('FAILED TO RESOLVE PARTIES', err);
res.status(500).send({ message: 'Unable to get all parties', error: err });
});
await partyData.forEach((party) => {
const messageCount = admin
.firestore()
.collection('rooms')
.doc(party.id)
.collection('messages')
.get()
.then((snap) => snap.size);
const userCount = admin
.firestore()
.collection('rooms')
.doc(party.id)
.collection('users')
.get()
.then((snap) => snap.size);
party.messageCount = messageCount || 0;
party.userCount = userCount || 0;
});
mLogger.success('GOT ALL PARTIES', { parties: partyData.length });
return res.status(200).send({ partyData });
};