PlayerRoute.js (950B)
1 const Player = require('./models/Player') 2 3 const birthAttr = year => { 4 if (year >= process.env.MINOR_BIRTH_YEAR) { 5 return 'J' 6 } else if (year < process.env.SENIOR_BIRTH_YEAR) { 7 return 'S' 8 } 9 return '' 10 } 11 12 const genderAttr = gender => { 13 return gender === 'FEMALE' ? 'W' : '' 14 } 15 16 module.exports = app => { 17 18 app.route('/players') 19 20 .get((reg, res) => 21 Player.find({ approved: true }) 22 .sort({ dwz: -1 }) 23 .then(players => 24 players.map(player => { 25 const { name, birth_year, gender, club, dwz } = player; 26 const attr = birthAttr(birth_year) + genderAttr(gender) 27 return { name, club, dwz, attr } 28 })) 29 .then(data => res.json(data)) 30 .catch(err => console.log(err)) 31 ) 32 33 .post((req, res) => { 34 const { name, email, birth_year, gender, club, dwz } = req.body; 35 new Player({ name, email, birth_year, gender, club, dwz }) 36 .save() 37 .then(() => res.json({})) 38 .catch(err => res.status(400).send(err)) 39 }) 40 }