summaryrefslogblamecommitdiffstats
path: root/server/api/ipxeentries.js
blob: 25cfd2111db81676e77017f58b7ee3a04cace9e9 (plain) (tree)























































                                                                                 
/* global __appdir */
var path = require('path')
var db = require(path.join(__appdir, 'lib', 'sequelize'))
var express = require('express')
const { decorateApp } = require('@awaitjs/express')
var router = decorateApp(express.Router())

// ############################################################################
// ###########################  GET requests  #################################

router.getAsync('', async (req, res) => {
  const entries = await db.entry.findAll()
  res.status(200).send(entries)
})

router.getAsync('/:id', async (req, res) => {
  const entry = await db.entry.findOne({ where: { id: req.params.id }})
  if (entry) res.status(200).send(entry)
  else res.status(404).end()
})

// ############################################################################
// ##########################  POST requests  #################################

router.postAsync(['', '/:id'], async (req, res) => {
  if (req.query.delete !== undefined && req.query.delete !== 'false') {
    const count = await db.entry.destroy({ where: { id: req.body.ids } })
    res.status(200).send({ count })
  } else {
    let entry
    if (req.params.id === undefined) entry = await db.entry.create(req.body.data)
    else {
      entry = await db.entry.findOne({ where: { id: req.params.id } })
      if (entry) await entry.update(req.body.data)
    }
    if (entry) {
      res.status(200).send({ id: entry.id })
    } else {
      res.status(404).end()
    }
  }
})

// ############################################################################
// ##########################  DELETE requests  ###############################

router.deleteAsync('/:id', async (req, res) => {
  const count = await db.entry.destroy({ where: { id: req.params.id } })
  if (count) res.status(200).end()
  else res.status(404).end()
})

// ############################################################################
// ############################################################################

module.exports.router = router