'use strict';
/**
* @namespace ContactUs
*/
var server = require('server');
/**
* ContactUs-Landing : This endpoint is called to load contact us landing page
* @name Base/ContactUs-Landing
* @function
* @memberof ContactUs
* @param {middleware} - server.middleware.https
* @param {category} - sensitive
* @param {renders} - isml
* @param {serverfunction} - get
*/
server.get('Landing', server.middleware.https, function (req, res, next) {
var URLUtils = require('dw/web/URLUtils');
res.render('contactUs/contactUs.isml', {
actionUrl: URLUtils.url('ContactUs-Subscribe').toString()
});
next();
});
/**
* ContactUs-Subscribe : This endpoint is called to submit the shopper's contact information
* @name Base/ContactUs-Subscribe
* @function
* @memberof ContactUs
* @param {middleware} - server.middleware.https
* @param {httpparameter} - contactFirstName - First Name of the shopper
* @param {httpparameter} - contactLastName - Last Name of the shopper
* @param {httpparameter} - contactEmail - Email of the shopper
* @param {httpparameter} - contactTopic - ID of the "Contact Us" topic
* @param {httpparameter} - contactComment - Comments entered by the shopper
* @param {category} - sensitive
* @param {returns} - json
* @param {serverfunction} - post
*/
server.post('Subscribe', server.middleware.https, function (req, res, next) {
var Resource = require('dw/web/Resource');
var hooksHelper = require('*/cartridge/scripts/helpers/hooks');
var emailHelper = require('*/cartridge/scripts/helpers/emailHelpers');
var myForm = req.form;
var isValidEmailid = emailHelper.validateEmail(myForm.contactEmail);
if (isValidEmailid) {
var contactDetails = [myForm.contactFirstName, myForm.contactLastName, myForm.contactEmail, myForm.contactTopic, myForm.contactComment];
hooksHelper('app.contactUs.subscribe', 'subscribe', contactDetails, function () {});
res.json({
success: true,
msg: Resource.msg('subscribe.to.contact.us.success', 'contactUs', null)
});
} else {
res.json({
error: true,
msg: Resource.msg('subscribe.to.contact.us.email.invalid', 'contactUs', null)
});
}
next();
});
module.exports = server.exports();