const express = require("express"); const opponentsController = require("../controllers/opponent"); const {loadTeam} = require("./team") var router = express.Router(); const multer = require("multer"); const upload = multer() const { doubleCsrfProtection } = require('../middlewares/csrf'); // Middleware const loadOpponent = (req,res,next) => { const {opponent_id} = req.params; const {team} = req req.promises.push( teamsnap.loadOpponents(team.id, (err, opponents)=>{ if (err) console.log("error in route/opponent.js", err); }).then(opponents => {req.opponent=opponents.find(o=>o.id==opponent_id);}) ) req.promises.push( teamsnap.loadTeamMedia(team.id, (err, team_media)=>{ if (err) console.log("error in route/opponent.js", err); }) .then(team_media => { req.opponent_logo = team_media.find(tm=>tm.description==`opponent-logo-${opponent_id}.png`) } ) ) next(); } router.use("/:team_id([0-9]+)/opponent/:opponent_id([0-9]+)", loadOpponent) router.get("/:team_id([0-9]+)/opponents", opponentsController.getOpponents); router.get("/:team_id([0-9]+)/opponent/:opponent_id([0-9]+)", doubleCsrfProtection, opponentsController.getOpponent); router.post("/:team_id([0-9]+)/opponent/:opponent_id([0-9]+)/upload_logo", upload.single('file'), doubleCsrfProtection, opponentsController.postOpponentLogo); // router.get("/:team_id([0-9]+)/opponent/:opponent_id/logo", ensureLoggedIn, opponentsController.getOpponentLogo); module.exports = {router}