// права пользователя получили с бэка
const rights = { reportStats: true, validate: true, canEdit: true, view: true};
 
async function getUserData(userId) {
   const user = await fetch(`/api/users/${userId}`);
 
   let data;
 
   switch (true) {
      case user.role == 'admin':
         data = {
            name: user.name,
            role: user.role,
            password: user.password,
            permissions: [],
         };
 
         Object.keys(rights).forEach(permission => {
            if (rights[permission]) {
               if (permission === 'reportStats') {
                  data.permissions.push('report-stats');
               } else if (permission === 'canEdit') {
                 data.permissions.push('can-edit');
               } else {
                  data.permissions.push(permission);
               }
            }
         });
 
      break;
 
      case user.role == 'regular':
         data = {
            name: user.name,
            role: user.role,
         };
   }
 
   return data;
}

Назад