all files / backend/controllers/ weapons.js

80% Statements 28/35
57.14% Branches 8/14
90.91% Functions 10/11
87.5% Lines 28/32
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78                                                                                                   
'use strict'
 
let Weapon = require('app/models/weapon')
 
exports.weaponId = function (req, res, next, param) {
  Weapon
    .findById(param)
    .then(function (weapon) {
      req.weapon = weapon
      next()
    })
    .catch(next)
}
 
exports.get = function (req, res, next) {
  if (req.weapon) return res.send(req.weapon)
 
  res.sendStatus(404)
}
 
exports.list = function (req, res, next) {
  let sort = req.query.sort || null
  let fields = req.query.fields || null
 
  let query = Weapon.find()
 
  Iif (sort !== null) {
    query.sort(sort.replace(',', ' '))
  }
 
  Iif (fields !== null) {
    query.select(Weapon.reduceFields(fields))
  }
 
  query
    .then(function (weapons) {
      res.send(weapons)
    })
    .catch(next)
}
 
exports.new = function (req, res, next) {
  let data = req.body
 
  let newWeapon = new Weapon(data)
  newWeapon
    .save()
    .then(function (weapon) {
      res.send(weapon)
    })
    .catch(next)
}
 
exports.update = function (req, res, next) {
  Iif (!req.weapon) return res.sendStatus(404)
 
  let data = req.body
 
  req.weapon
    .set(data)
    .save()
    .then(function (weapon) {
      res.send(weapon)
    })
    .catch(next)
}
 
exports.delete = function (req, res, next) {
  Iif (!req.weapon) return res.sendStatus(404)
 
  req.weapon
    .remove()
    .then(function () {
      res.sendStatus(200)
    })
    .catch(next)
}