summaryrefslogblamecommitdiffstats
path: root/server/api/groups.js
blob: fa2c1ca404410e06009f16df46042207ab64b6fa (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11



                                                         






                                                                   
 




                                                                                 
        

      
 




                                                                                                 
    
 






                                                                                              
 






                                                                   

   
/* global __appdir */
var path = require('path')
var db = require(path.join(__appdir, 'lib', 'sequelize'))

// GET Requests
module.exports.get = {
  getList: function (req, res) {
    db.group.findAll({ attributes: ['id', 'name'] }).then(list => {
      res.send(list)
    })
  },

  getParents: function (req, res) {
    const id = req.query.id > 0 ? req.query.id : null
    db.group.findOne({ where: { id: id }, include: ['parents'] }).then(group => {
      group.getParents().then(parents => {
        res.send(parents)
      })
    })
  },

  getSubGroups: function (req, res) {
    const id = req.query.id > 0 ? req.query.id : null
    db.group.findAll({ where: { '$parents.id$': id }, include: ['parents'] }).then(subgroups => {
      res.send(subgroups)
    })
  },

  getClients: function (req, res) {
    const id = req.query.id > 0 ? req.query.id : null
    db.client.findAll({ where: { '$groups.id$': id }, include: ['groups'] }).then(clients => {
      res.send(clients)
    })
  }
}

// POST Requests
module.exports.post = {
  update: function (req, res) {
    const id = req.body.id > 0 ? req.body.id : null
    if (!id) res.end()
    db.group.update({ name: req.body.name }, { where: { id: id } })
    res.end()
  }
}