let assetsgroupshelper = require('../../models/assetsgroups');
let roleshelper = require('../../models/roles');
const Organizations = require('../../models/organizations');
/**
* Module offers routes for assets groups handling
* @module routes/assetsgroups
*/
module.exports = {
/**
* Route loading Assets Groups List.
* @function
* @memberof module:routes/assetsgroups
* @param {object} req - Express request
* @param {object} res - Express response.
*/
getAssetsGroupsList: (req, res) => {
let assetsgroups = new assetsgroupshelper(req.app.logger);
assetsgroups.getListOfAssetGroups((resultAssetsGroups) => {
res.render('assets/groups.ejs', {
title: 'ALARMiator | Gerätegruppen',
navarea: 'assets',
avatarpath: req.session.avatar,
name: req.session.name,
organizationname: req.session.organization,
session: req.session,
assetsgroups: resultAssetsGroups
});
});
},
/**
* Route loading Assets Groups add page.
* @function
* @memberof module:routes/assetsgroups
* @param {object} req - Express request
* @param {object} res - Express response.
*/
addAssetsGroupPage: (req, res) => {
let roles = new roleshelper(req.app.logger);
let organizations = new Organizations(req.app.logger);
organizations.getListOfOrganizations((resultOrganizations) => {
roles.getListOfRoles((resultRoles) => {
res.render('assets/groups_add.ejs', {
title: 'ALARMiator',
navarea: 'assets',
avatarpath: req.session.avatar,
name: req.session.name,
organizationname: req.session.organization,
session: req.session,
roles: resultRoles,
organizations: resultOrganizations,
message: ''
});
});
})
},
/**
* Route adding new Assets Groups and redirecting to list aferwards.
* @function
* @memberof module:routes/assetsgroups
* @param {object} req - Express request
* @param {object} res - Express response.
*/
addAssetsGroup: (req, res) => {
var assetgroups = new assetsgroupshelper(req.app.logger);
assetgroups.addAssetsGroup(req.body, (success) => {
if (success) {
res.redirect('/assets/groups/list');
} else {
res.redirect('/assets/groups/list');
}
})
},
/**
* Route loading Assets Groups edit page.
* @function
* @memberof module:routes/assetsgroups
* @param {object} req - Express request
* @param {object} res - Express response.
*/
editGroupPage: (req, res) => {
let groupId = req.params.id;
var assetsgroups = new assetsgroupshelper(req.app.logger);
assetsgroups.getAssetGroup(groupId, (rows) => {
let roles = new roleshelper(req.app.logger);
roles.getListOfRoles((resultRoles) => {
let organizations = new Organizations(req.app.logger);
organizations.getListOfOrganizations((resultOrganizations) => {
res.render('assets/groups_edit.ejs', {
title: 'Edit Group',
navarea: 'assets',
avatarpath: req.session.avatar,
name: req.session.name,
organizationname: req.session.organization,
session: req.session,
group: rows[0],
roles: resultRoles,
organizations: resultOrganizations,
message: ''
});
});
});
})
},
/**
* Route updating Assets Group and redirecting to list afterwards.
* @function
* @memberof module:routes/assetsgroups
* @param {object} req - Express request
* @param {object} res - Express response.
*/
editGroup: (req, res) => {
let groupId = req.params.id;
let roleId = req.body.roleid;
let groupName = req.body.groupname;
var assetsGroups = new assetsgroupshelper(req.app.logger);
assetsGroups.editAssetsGroup(req.body, groupId, (success) => {
if (success) {
res.redirect('/assets/groups/list');
} else {
res.redirect('/assets/groups/list');
}
})
},
/**
* Route for deletion of an asset group
* @memberof module:routes/assetsgroups
* @param {object} req - Express request
* @param {object} res - Express response.
*
*/
deleteGroup: (req, res) => {
let groupId = req.params.id;
var assetsGroups = new assetsgroupshelper(req.app.logger);
assetsGroups.deleteGroup(groupId, (success) => {
if (success) {
res.redirect('/assets/groups/list');
} else {
res.redirect('/assets/groups/list');
}
})
}
};