2023-03-04

This commit is contained in:
2024-03-04 13:32:25 -06:00
parent 6576d17539
commit a505747b06
85 changed files with 13977 additions and 2881 deletions

54
src/controllers/event.js Normal file
View File

@@ -0,0 +1,54 @@
tsUtils = require("../lib/utils");
const path = require('path')
exports.helpers = {
availability_percentage: (availabilitySummary, status) => {
attribute = {
going: "playerGoingCount",
notgoing: "playerNotGoingCount",
maybe: "playerMaybeCount",
unknown: "playerUnknownCount"
}[status.toLowerCase()]
return (availabilitySummary[attribute]/availabilitySummary.team.playerMemberCount)*100.0
}
}
exports.partials = path.join(__dirname, "../views/event/partials")
exports.getEvents = async (req, res, next) => {
const {user, team, layout} = req
const bulkLoadTypes = ["event", "availabilitySummary"]
req.promises.push(
teamsnap.bulkLoad(team.id, bulkLoadTypes , () => {tsUtils.teamsnapCallback;req.items = tsUtils.teamsnapLog('bulkLoad', types=bulkLoadTypes, team.id, req)})
.then(items=>tsUtils.groupTeamsnapItems(items))
.then(items=>{
items.events.forEach((event) => {
event.link('availabilitySummary', items.availabilitySummaries.find(a=>a.eventId==event.id))
}
)
req.events = items.events;
}
)
)
await Promise.all(req.promises)
const context = {
title: "Events",
user, team, layout,
events: req.events,
};
res.render("event/list", context);
};
exports.getEvent = async (req, res, next) => {
await Promise.all(req.promises)
const {user, team, event, layout} = req
lineups = await req.event.loadItem('eventLineups')
event.link('availabilitySummary', req.availabilitySummary)
context = {
title: "Event",
user, team, event, layout,
availabilitySummary: req.availabilitySummary,
};
res.render("event/show", context);
};