создайте вспомогательную функцию с именем getColorByRole.js
, например:
module.exports =(role)=>{
let colorClass;
switch(role){
case 'user':
colorClass='bg-primary';
break;
case 'manager':
colorClass='bg-warning';
break;
case 'admin':
colorClass='bg-success';
break;
default:
colorClass='bg-light';
break;
}
return colorClass;
}
Теперь, когда пользовательский запрос вызывает эту вспомогательную функцию, отправьте
let getColorByRole=require('./helpers/getColorByRole.js');
app.get('/dashboard',(req,res)=>{
let colorClass=getColorByRole(req.user.role);
res.render('/dashboard',{data:someyourdata,colorClass:colorClass});
});
теперь во внешнюю сторону, просто добавьте colorClassк вашему div, используя переменную EJS,
<div class="<%=colorClass%>" style="width:100%;">
Dashboard
</div>
update: если вы выбираете несколько пользователей и хотите отображать разные цвета в соответствии с ролью пользователя, тогда сделайте так:
User.find({},(err,users)=>{
if(!err && users){
users.map((user)=>{
user.colorClass=getColorByRole(user.role);
return user;
});
}
});