Skip to content

Commit

Permalink
Fix system mailer, mail logging
Browse files Browse the repository at this point in the history
  • Loading branch information
megastary committed Oct 18, 2023
1 parent 0f994cb commit 5d86b63
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 12 deletions.
4 changes: 2 additions & 2 deletions bin/www.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,12 @@ function onError(error) {
case 'EACCES':
console.error(bind + ' requires elevated privileges')
logger.error(
`server.www.startup__Specified port requires elevated privileges.`
'server.www.startup__Specified port requires elevated privileges.'
)
process.exit(1)
case 'EADDRINUSE':
console.error(bind + ' is already in use')
logger.error(`server.www.startup__Specified port is already in use.`)
logger.error('server.www.startup__Specified port is already in use.')
process.exit(1)
default:
throw error
Expand Down
25 changes: 22 additions & 3 deletions functions/sendMail.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
import { createTransport } from 'nodemailer'
import logger from './logger.js'

export function sendMail(mailto, mailsubject, mailbody, image) {
// In case mail is destined for system administrator or we run in development environment, send all e-mails to system address obtained from config.
if (process.env.NODE_ENV === 'development' || mailto === 'system@system') {
logger.warn(
`server.functions.sendmail__Sending e-mail [${mailsubject}] to administrator address.`
)
mailto = process.env.MAIL_SYSTEM || 'root@localhost'
}

Expand Down Expand Up @@ -37,7 +41,22 @@ export function sendMail(mailto, mailsubject, mailbody, image) {
]
}

transporter.sendMail(mailOptions, function (error, info) {
if (error) console.log(error)
})
transporter
.sendMail(mailOptions)
.then((info) => {
logger.info(
`server.functions.sendmail__Succesfully sent e-mail [${JSON.stringify(
mailOptions
)}].`,
info
)
})
.catch((err) => {
logger.error(
`server.functions.sendmail__Failed to send e-mail [${JSON.stringify(
mailOptions
)}]. Error:`,
err
)
})
}
2 changes: 1 addition & 1 deletion routes/api/keypadOrder.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ router.post('/', ensureAuthenticatedAPI, function (req, res, next) {
.catch((err) => {
const subject = 'Nepodařilo se zapsat změny do databáze!'
const body = `<h1>Chyba při zapisování do databáze při nákupu!</h1><p>Pokus o vytvoření záznamu nákupu skončil chybou. Zkontrolujte konzistenci databáze!</p><p>Chyba: ${err.message}</p>`
sendMail('system', subject, body)
sendMail('system@system', subject, body)
return
})
}
Expand Down
2 changes: 1 addition & 1 deletion routes/invoices.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ router.post('/', ensureAuthenticated, function (req, res, _next) {
if (!check.buyerId.equals(req.user.id)) {
const subject = 'Neoprávněná akce?!'
const body = `<h1>Jak se toto podařilo?!</h1><p>Zákazník ${req.body.displayName} se pokouší manipulovat s fakturou ID ${check._id}, přestože ji nevlastní.</p>Jeho akce byla revertována. Prověřte celou situaci!</p>`
sendMail('system', subject, body)
sendMail('system@system', subject, body)
const alert = {
type: 'danger',
message: 'Nemáte oprávnění měnit status faktury, která Vám nepatří!',
Expand Down
4 changes: 2 additions & 2 deletions routes/kiosk_shop.js
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ router.post('/', ensureAuthenticated, function (req, res) {
res.redirect('/kiosk_keypad')
const subject = 'Nepodařilo se zapsat změny do databáze!'
const body = `<h1>Chyba při zapisování do databáze při nákupu!</h1><p>Pokus o vytvoření záznamu nákupu skončil chybou. Zkontrolujte konzistenci databáze!</p><p>Chyba: ${err.message}</p>`
sendMail('system', subject, body)
sendMail('system@system', subject, body)
return
})
})
Expand All @@ -219,7 +219,7 @@ router.post('/', ensureAuthenticated, function (req, res) {
res.redirect('/kiosk_keypad')
const subject = 'Nepodařilo se zapsat změny do databáze!'
const body = `<h1>Chyba při zapisování do databáze při nákupu!</h1><p>Pokus o snížení skladové zásoby skončil chybou. Zkontrolujte konzistenci databáze!</p><p>Chyba: ${err.message}</p>`
sendMail('system', subject, body)
sendMail('system@system', subject, body)
return
})
})
Expand Down
2 changes: 1 addition & 1 deletion routes/payments.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ router.post('/', ensureAuthenticated, function (req, res, _next) {
if (!check.supplierId.equals(req.user.id)) {
var subject = 'Neoprávněná akce?!'
var body = `<h1>Jak se toto podařilo?!</h1><p>Dodavatel ${req.body.displayName} se pokouší manipulovat s fakturou ID ${check._id}, přestože ji nevytvořil.</p>Jeho akce byla revertována. Prověřte celou situaci!</p>`
sendMail('system', subject, body)
sendMail('system@system', subject, body)
const alert = {
type: 'danger',
message:
Expand Down
4 changes: 2 additions & 2 deletions routes/shop.js
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ router.post('/', ensureAuthenticated, checkKiosk, function (req, res) {
res.redirect('/shop')
const subject = 'Nepodařilo se zapsat změny do databáze!'
const body = `<h1>Chyba při zapisování do databáze při nákupu!</h1><p>Pokus o vytvoření záznamu nákupu skončil chybou. Zkontrolujte konzistenci databáze!</p><p>Chyba: ${err.message}</p>`
sendMail('system', subject, body)
sendMail('system@system', subject, body)
return
})
})
Expand All @@ -170,7 +170,7 @@ router.post('/', ensureAuthenticated, checkKiosk, function (req, res) {
res.redirect('/shop')
const subject = 'Nepodařilo se zapsat změny do databáze!'
const body = `<h1>Chyba při zapisování do databáze při nákupu!</h1><p>Pokus o snížení skladové zásoby skončil chybou. Zkontrolujte konzistenci databáze!</p><p>Chyba: ${err.message}</p>`
sendMail('system', subject, body)
sendMail('system@system', subject, body)
return
})
})
Expand Down

0 comments on commit 5d86b63

Please sign in to comment.