in src/app/functions/universal/guidedExperienceBreaches.ts [22:94]
export function getGuidedExperienceBreaches(
subscriberBreaches: SubscriberBreach[],
emails: string[],
): GuidedExperienceBreaches {
const guidedExperienceBreaches: GuidedExperienceBreaches = {
highRisk: {
ssnBreaches: [],
creditCardBreaches: [],
pinBreaches: [],
bankBreaches: [],
},
passwordBreaches: {
passwords: [],
securityQuestions: [],
},
securityRecommendations: {
phoneNumber: [],
emailAddress: [],
IPAddress: [],
},
emails,
};
subscriberBreaches.forEach((breach) => {
// high risks
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.SSN)) {
guidedExperienceBreaches.highRisk.ssnBreaches.push(breach);
}
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.CreditCard)) {
guidedExperienceBreaches.highRisk.creditCardBreaches.push(breach);
}
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.PIN)) {
guidedExperienceBreaches.highRisk.pinBreaches.push(breach);
}
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.BankAccount)) {
guidedExperienceBreaches.highRisk.bankBreaches.push(breach);
}
// passwords
// TODO: Add tests when passwords component has been made - MNTOR-1712
/* c8 ignore start */
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.Passwords)) {
guidedExperienceBreaches.passwordBreaches.passwords.push(breach);
}
if (
isUnresolvedDataBreachClass(breach, BreachDataTypes.SecurityQuestions)
) {
guidedExperienceBreaches.passwordBreaches.securityQuestions.push(breach);
}
// security recommendations
// TODO: Add tests when security recs work is merged in
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.Phone)) {
guidedExperienceBreaches.securityRecommendations.phoneNumber.push(breach);
}
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.Email)) {
guidedExperienceBreaches.securityRecommendations.emailAddress.push(
breach,
);
}
if (isUnresolvedDataBreachClass(breach, BreachDataTypes.IP)) {
guidedExperienceBreaches.securityRecommendations.IPAddress.push(breach);
}
/* c8 ignore stop */
});
return guidedExperienceBreaches;
}