'update'
[vchess.git] / server / routes / messages.js
index 02ddec5..441abdb 100644 (file)
@@ -1,25 +1,18 @@
-// Router for contact form sending
-
 let router = require("express").Router();
-const mailer = require(__dirname.replace("/routes", "/utils/mailer"));
-const params = require(__dirname.replace("/routes", "/config/parameters"));
+const access = require("../utils/access");
+const sendEmail = require("../utils/mailer");
+const params = require("../config/parameters");
 
 // Send a message through contact form
-router.post("/messages", (req,res,next) => {
-       if (!req.xhr)
-               return res.json({errmsg: "Unauthorized access"});
-  console.log(req.body);
+router.post("/messages", access.ajax, (req,res) => {
   const from = req.body["email"];
-       const subject = req.body["subject"];
-       const body = req.body["content"];
+  // Replace potential newline characters in subject
+  const subject = req.body["subject"].replace(/\r?\n|\r/g, " ");
+  const body = req.body["content"];
 
-       // TODO: sanitize ?
-       mailer(from, params.mail.contact, subject, body, err => {
-               if (!!err)
-                       return res.json({errmsg:err});
-               // OK, everything fine
-               res.json({}); //ignored
-       });
+  sendEmail(from, params.mail.contact, subject, body, err => {
+    res.json(err || {});
+  });
 });
 
 module.exports = router;