2023-03-29 21:17:57 +02:00
|
|
|
import { isObject } from '@metamask/utils';
|
|
|
|
import { PERMISSION_DESCRIPTIONS } from '../../../helpers/utils/permission';
|
2022-09-23 12:39:54 +02:00
|
|
|
|
|
|
|
export function getSnapInstallWarnings(permissions, targetSubjectMetadata, t) {
|
2023-03-29 21:17:57 +02:00
|
|
|
const weightOneWarnings = Object.entries(permissions).reduce(
|
|
|
|
(filteredWarnings, [permissionName, permissionValue]) => {
|
|
|
|
const permissionDescription = PERMISSION_DESCRIPTIONS[permissionName]({
|
|
|
|
t,
|
|
|
|
permissionValue,
|
|
|
|
targetSubjectMetadata,
|
|
|
|
});
|
|
|
|
if (Array.isArray(permissionDescription)) {
|
|
|
|
permissionDescription.forEach((description) => {
|
|
|
|
if (description.weight === 1) {
|
|
|
|
const { id, message } = description;
|
|
|
|
filteredWarnings.push({ id, message });
|
|
|
|
}
|
|
|
|
});
|
|
|
|
} else if (
|
|
|
|
isObject(permissionDescription) &&
|
|
|
|
permissionDescription.weight === 1
|
|
|
|
) {
|
|
|
|
const { id, message } = permissionDescription;
|
|
|
|
filteredWarnings.push({ id, message });
|
|
|
|
}
|
|
|
|
return filteredWarnings;
|
|
|
|
},
|
|
|
|
[],
|
|
|
|
);
|
2022-09-23 12:39:54 +02:00
|
|
|
|
2023-03-29 21:17:57 +02:00
|
|
|
return weightOneWarnings;
|
2022-09-23 12:39:54 +02:00
|
|
|
}
|