pis #12

Merged
fred.boniface merged 95 commits from pis into main 2023-05-06 21:54:51 +01:00
3 changed files with 48 additions and 46 deletions
Showing only changes of commit 57fe392e8c - Show all commits

View File

@ -1,5 +1,5 @@
const log = require('../utils/log.utils') const log = require('../utils/log.utils')
const mail = require('nodemailer'); //>> Probs wrong const mail = require('nodemailer') //>> Probs wrong
const fromAddr = process.env.OWL_EML_FROM const fromAddr = process.env.OWL_EML_FROM
const smtpUser = process.env.OWL_EML_USER const smtpUser = process.env.OWL_EML_USER
@ -8,28 +8,28 @@ const smtpHost = process.env.OWL_EML_HOST
const smtpPort = process.env.OWL_EML_PORT const smtpPort = process.env.OWL_EML_PORT
let transporter = mail.createTransport({ let transporter = mail.createTransport({
host: smtpHost, host: smtpHost,
port: smtpPort, port: smtpPort,
secure: false, // Must be false for STARTTLS on port 587 secure: false, // Must be false for STARTTLS on port 587
auth: { auth: {
user: smtpUser, user: smtpUser,
pass: smtpPass pass: smtpPass
} }
}) })
async function send(message){ // message is an object containing strings for: *to, cc, bcc, *subject, *txt, html (* denotes required) async function send(message){ // message is an object containing strings for: *to, cc, bcc, *subject, *txt, html (* denotes required)
log.out(`mailServices.send: Message send request received`, "info") log.out('mailServices.send: Message send request received', 'info')
message.from = fromAddr message.from = fromAddr
try { try {
var res = await transporter.sendMail(message) var res = await transporter.sendMail(message)
} catch(err) { } catch(err) {
log.out(`mailServices.send: Message send failed: ${err}`, "err") log.out(`mailServices.send: Message send failed: ${err}`, 'err')
return false; return false
} }
log.out(`mailServices.send: SMTP Response: ${res.response}`) log.out(`mailServices.send: SMTP Response: ${res.response}`)
return true; return true
} }
module.exports = { module.exports = {
send send
} }

View File

@ -7,44 +7,44 @@ const domains = require('../configs/domains.configs')
const errors = require('../configs/errorCodes.configs') const errors = require('../configs/errorCodes.configs')
async function createRegKey(body) { async function createRegKey(body) {
log.out(`registerServices.createRegKey: Incoming request`, "INFO") log.out('registerServices.createRegKey: Incoming request', 'INFO')
const domain = await clean.getDomainFromEmail(body.email) // The function should validate the email const domain = await clean.getDomainFromEmail(body.email) // The function should validate the email
log.out(`registerServices: New registration request from domain: ${domain}`, "info") log.out(`registerServices: New registration request from domain: ${domain}`, 'info')
if (domains.includes(domain)) { if (domains.includes(domain)) {
log.out(`registerServices.createRegKey: Key from valid domain: ${domain}`) log.out(`registerServices.createRegKey: Key from valid domain: ${domain}`)
const uuid = await auth.generateKey(); const uuid = await auth.generateKey()
db.addRegReq(uuid, domain) db.addRegReq(uuid, domain)
const message = await auth.generateConfirmationEmail(body.email, uuid) const message = await auth.generateConfirmationEmail(body.email, uuid)
if (!message) { if (!message) {
const err = new Error("Message generation error"); const err = new Error('Message generation error')
log.out(`registerServices.createRegKey: Error generating registration email`, "err") log.out('registerServices.createRegKey: Error generating registration email', 'err')
return 500; return 500
}
if (await mail.send(message) == true) {
return {status: 201, message: "email sent"}
}
return {status: 500, errorCode: 950, errorMsg: errors[950]}
} }
return {status: 403, errorCode: 702, errorMsg: errors[702]} if (await mail.send(message) == true) {
return {status: 201, message: 'email sent'}
}
return {status: 500, errorCode: 950, errorMsg: errors[950]}
}
return {status: 403, errorCode: 702, errorMsg: errors[702]}
} }
async function regUser(req) { // Add input validation async function regUser(req) { // Add input validation
log.out(`Read UUID: ${req.uuid}`, "dbug") log.out(`Read UUID: ${req.uuid}`, 'dbug')
log.out(`registrationServices.regUser: Checking validity of : ${req.uuid}`, "info") log.out(`registrationServices.regUser: Checking validity of : ${req.uuid}`, 'info')
const res = await auth.checkRequest(req.uuid) const res = await auth.checkRequest(req.uuid)
log.out(`registrationServices.regUser: checkRequest returned: ${JSON.stringify(res)}`, "info") log.out(`registrationServices.regUser: checkRequest returned: ${JSON.stringify(res)}`, 'info')
if (res.result) { if (res.result) {
const uuid = await auth.generateKey() const uuid = await auth.generateKey()
const apiKey = await db.addUser(uuid, res.domain) const apiKey = await db.addUser(uuid, res.domain)
if (apiKey) { if (apiKey) {
db.delRegReq(req.uuid) db.delRegReq(req.uuid)
return {status: 201, message: "User added", api_key: uuid} return {status: 201, message: 'User added', api_key: uuid}
}
} }
return {status: 401, errorCode: 703, errorMsg: errors[703]} }
return {status: 401, errorCode: 703, errorMsg: errors[703]}
} }
module.exports = { module.exports = {
regUser, regUser,
createRegKey createRegKey
} }

View File

@ -1,5 +1,7 @@
const htmlShrink = require('html-minifier').minify const htmlShrink = require('html-minifier').minify
module.exports = async function minify(input) { // Do I need to name this function? module.exports = async function minifyMail(input) {
// Minify HTML input, including inline styles. // Minify HTML input, including inline styles.
//let inline = cssInliner(input) ??
return htmlShrink(input)
} }