Back to tasksGet help with live coding in real time with Sobes Copilot
Junior — Senior
76
Обнаружить баги в функции получения данных пользователя
Task condition
В этом задании требуется проанализировать функцию и найти в ней ошибки. Обратите внимание на работу с асинхронным запросом, условные конструкции и формирование массива прав.
export async function getUserData(userId) {
const fetchedUser = await fetch(`/api/users/${userId}`);
const permissionsMap = { reportStats: true, validate: true };
let result;
switch (true) {
case fetchedUser.role == 'admin':
result = {
name: fetchedUser.name,
role: fetchedUser.role,
password: fetchedUser.password,
permissions: [],
};
Object.keys(permissionsMap).forEach(perm => {
if (permissionsMap[perm]) {
if (perm === 'reportStats') {
result.permissions.push('report-stats');
} else {
result.permissions.push(perm);
}
}
});
break;
case fetchedUser.role == 'regular':
result = {
name: fetchedUser.name,
role: fetchedUser.role,
};
}
return result;
}