New stat retrieval and event store last visited date
This commit is contained in:
parent
f16b158c7f
commit
99989e66aa
|
|
@ -30,6 +30,7 @@ app.use((req, res, next) => {
|
|||
req.types = {
|
||||
event: process.env.NODE_ENV === 'production' ? 'Event' : 'DevEvent',
|
||||
person: process.env.NODE_ENV === 'production' ? 'Person' : 'DevPerson',
|
||||
stats: process.env.NODE_ENV === 'production' ? 'Stats' : 'DevStats',
|
||||
};
|
||||
next();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
const dayjs = require('dayjs');
|
||||
|
||||
module.exports = async (req, res) => {
|
||||
const { eventId } = req.params;
|
||||
|
||||
|
|
@ -9,6 +11,10 @@ module.exports = async (req, res) => {
|
|||
id: eventId,
|
||||
...event,
|
||||
});
|
||||
|
||||
// Update last visited time
|
||||
event.visited = dayjs().unix();
|
||||
await req.datastore.upsert(event);
|
||||
} else {
|
||||
res.sendStatus(404);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,18 +5,23 @@ module.exports = async (req, res) => {
|
|||
let personCount = null;
|
||||
|
||||
try {
|
||||
const eventQuery = req.datastore.createQuery(['__Stat_Kind__']).filter('kind_name', req.types.event);
|
||||
const personQuery = req.datastore.createQuery(['__Stat_Kind__']).filter('kind_name', req.types.person);
|
||||
const eventResult = (await req.datastore.get(req.datastore.key([req.types.stats, 'eventCount'])))[0] || null;
|
||||
const personResult = (await req.datastore.get(req.datastore.key([req.types.stats, 'personCount'])))[0] || null;
|
||||
|
||||
if (eventResult) {
|
||||
eventCount = eventResult.value;
|
||||
}
|
||||
if (personResult) {
|
||||
personCount = personResult.value;
|
||||
}
|
||||
|
||||
eventCount = (await req.datastore.runQuery(eventQuery))[0][0].count;
|
||||
personCount = (await req.datastore.runQuery(personQuery))[0][0].count;
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
res.send({
|
||||
eventCount: eventCount || null,
|
||||
personCount: personCount || null,
|
||||
eventCount,
|
||||
personCount,
|
||||
version: package.version,
|
||||
});
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue