2019-10-30 15:01:15 +01:00
|
|
|
const Sequelize = require('sequelize')
|
2019-12-04 01:20:31 +01:00
|
|
|
const { ap_user: APUser, instance: Instance, resource: Resource } = require('../models')
|
2019-10-30 15:01:15 +01:00
|
|
|
|
|
|
|
const instancesController = {
|
|
|
|
async getAll (req, res) {
|
2019-12-04 01:20:31 +01:00
|
|
|
const instances = await Instance.findAll({
|
2019-10-30 15:01:15 +01:00
|
|
|
attributes: {
|
|
|
|
include: [[Sequelize.fn('count', Sequelize.col('domain')), 'users']]
|
|
|
|
},
|
|
|
|
group: ['domain'],
|
2019-12-04 01:20:31 +01:00
|
|
|
include: [{ model: APUser, attributes: [] }]
|
2019-10-30 15:01:15 +01:00
|
|
|
})
|
|
|
|
return res.json(instances)
|
|
|
|
},
|
2019-11-13 10:56:01 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* get instance users
|
|
|
|
*/
|
|
|
|
async get (req, res) {
|
2019-12-06 00:49:44 +01:00
|
|
|
const ap_users = await APUser.findAll({ where: { instanceDomain: req.params.instance_domain }, include: [Resource] })
|
|
|
|
return res.json(ap_users)
|
2019-11-13 10:56:01 +01:00
|
|
|
},
|
|
|
|
|
2019-10-30 15:01:15 +01:00
|
|
|
async toggleBlock (req, res) {
|
2019-12-04 01:20:31 +01:00
|
|
|
const instance = await Instance.findByPk(req.body.instance)
|
2019-10-30 15:01:15 +01:00
|
|
|
if (!instance) { return res.status(404).send('Not found') }
|
|
|
|
await instance.update({ blocked: req.body.blocked })
|
|
|
|
return res.json(instance)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = instancesController
|