Update: Admin can create Admin or Advertiser

This commit is contained in:
Yûki VACHOT 2022-01-10 12:07:45 +01:00
parent e6b8eef43c
commit a428e5cff2

View file

@ -73,10 +73,28 @@ exports.create = (req, res) => {
if(typeof req.body.role !== 'undefined'){
switch(req.body.role){
case 'admin':
const token = checkLogin(req, res);
const role = roles.Admin;
if(token && typeof token.role !== 'undefined' &&
((Array.isArray(role) && role.includes(token.role)) ||
( typeof role === 'object' && typeof token.role.permission !== 'undefined' && token.role.permission >= role.permission && token.role.isAccepted === true))){
var_role = roles.Admin;
var_role.isAccepted = true;
} else {
var_role = roles.Admin;
}
break;
case 'advertiser':
const token = checkLogin(req, res);
const role = roles.Admin;
if(token && typeof token.role !== 'undefined' &&
((Array.isArray(role) && role.includes(token.role)) ||
( typeof role === 'object' && typeof token.role.permission !== 'undefined' && token.role.permission >= role.permission && token.role.isAccepted === true))){
var_role = roles.Advertiser;
var_role.isAccepted = true;
} else {
var_role = roles.Advertiser;
}
break;
default:
var_role = roles.User;