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

45
src/routes/team.js Normal file
View File

@@ -0,0 +1,45 @@
const express = require("express");
const teamsController = require("../controllers/team");
const {loadRecentAndUpcomingEvents} = require("../middlewares/bulkload")
const { load } = require("dotenv");
const router = express.Router();
const tsUtils = require('../lib/utils')
// Middleware
const loadTeam = async (req,res,next) => {
const {team_id} = req.params;
req.team = await teamsnap.loadTeam(team_id)
tsUtils.teamsnapLog('loadTeam', types=["team"], team_id, req);
const bulkLoadTypes = ['teamMediaGroup', 'teamPreferences', 'member'];
const items = tsUtils.groupTeamsnapItems(teamsnap.getAllItems(), bulkLoadTypes)
if (req.session.current_team_id == null || req.session.current_team_id != team_id || bulkLoadTypes.filter(t=> !items[t] || items[t].length==0).length > 0){
req.promises.push(teamsnap.bulkLoad(
team_id,
bulkLoadTypes,
tsUtils.teamsnapCallback
).then(bulkLoadItems=>{
const items = tsUtils.groupTeamsnapItems(bulkLoadItems, bulkLoadTypes)
tsUtils.teamsnapLog('bulkLoad', types=bulkLoadTypes, team_id, req);
req.members = items.members;
req.team_media_group = items.teamMediaGroups?.pop();
req.team_preferences = items.teamsPreferences.pop();
req.session.current_team_id = req.team.id
}
)
)
}
else {
req.members = items.member;
req.team_media_group = items.teamMediaGroup.pop();
req.team_preferences = items.teamPreferences.pop();
}
next();
}
router.use("/:team_id([0-9]+)", loadTeam)
// Routes
router.get('/user/:user_id/teams', teamsController.getTeams)
router.get("/:team_id([0-9]+)/home", loadRecentAndUpcomingEvents, teamsController.getTeamHome);
module.exports = {router, loadTeam}