I try to do multiple requests in for each loop and push data response to an array but I get always the first item only
//Get all roles
router.get('/', async (req, res) =>{
try {
knex.from( roles_table )
.then(roles => {
let rolePermissions =[];
roles.forEach(role => {
knex.select(permissions_table + '.*').from(permissions_table)
.innerJoin(permissions_roles_table, permissions_table + '.id', permissions_roles_table +'.id_permission')
.where(permissions_roles_table + '.id_role', '=', role.id)
.then(rows => {
role.permissions = rows;
rolePermissions.push(role)
});
});
res.status(200).json(rolePermissions);
});
} catch (err) {
res.status(500).json({message: err});
}
});