• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mozilla / blurts-server / #12377

pending completion
#12377

push

circleci

mozilla-pontoon
Pontoon: Update Spanish (Argentina) (es-AR) localization of Firefox Monitor Website

Co-authored-by: Marcelo Poli <enzomatrix@gmail.com>

282 of 1374 branches covered (20.52%)

Branch coverage included in aggregate %.

959 of 3725 relevant lines covered (25.74%)

2.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/controllers/breach-details.js
1
'use strict'
2

3
const HIBP = require('../hibp')
×
4
const DB = require('../db/DB')
×
5
const { changePWLinks } = require('../lib/changePWLinks')
×
6
const { getAllEmailsAndBreaches } = require('./user')
×
7

8
async function getBreachDetail (req, res) {
9
  const allBreaches = req.app.locals.breaches
×
10
  const breachName = req.params.breachName
×
11
  const featuredBreach = HIBP.getBreachByName(allBreaches, breachName)
×
12

13
  if (!featuredBreach) {
×
14
    return res.redirect('/')
×
15
  }
16

17
  const affectedEmails = []
×
18

19
  if (req.session && req.session.user) {
×
20
    const user = await DB.getSubscriberById(req.session.user.id)
×
21
    req.session.user = user
×
22

23
    const allEmailsAndBreaches = await getAllEmailsAndBreaches(req.session.user, allBreaches)
×
24
    for (const verifiedEmail of allEmailsAndBreaches.verifiedEmails) {
×
25
      for (const breach of verifiedEmail.breaches) {
×
26
        if (breach.Name === breachName) {
×
27
          affectedEmails.push({
×
28
            emailAddress: verifiedEmail.email,
29
            recencyIndex: breach.recencyIndex,
30
            isResolved: breach.IsResolved
31
          })
32
        }
33
      }
34
    }
35
  }
36

37
  const changePWLink = getChangePWLink(featuredBreach)
×
38
  res.render('breach-detail', {
×
39
    title: req.fluentFormat('home-title'),
40
    featuredBreach,
41
    changePWLink,
42
    affectedEmails
43
  })
44
}
45

46
function getChangePWLink (breach) {
47
  if (!breach.DataClasses.includes('passwords')) {
×
48
    return ''
×
49
  }
50

51
  if (changePWLinks.hasOwnProperty(breach.Name)) {
×
52
    return changePWLinks[breach.Name]
×
53
  }
54

55
  if (breach.Domain) {
×
56
    return 'https://www.' + breach.Domain
×
57
  }
58

59
  return ''
×
60
}
61

62
module.exports = {
×
63
  getBreachDetail
64
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc