SFRA Server-side Javascript - Source: app_storefront_base/cartridge/controllers/ReportingEvent.js menu

SFRA / Server-side JS / Source: app_storefront_base/cartridge/controllers/ReportingEvent.js

  1. 'use strict';
  2. /**
  3. * @namespace ReportingEvent
  4. */
  5. var server = require('server');
  6. /**
  7. * ReportingEvent-Start : Controller that is the module hook for reporting events. Typically no modifications are needed here. Salesforce Commerce Cloud analytics is based on log file analysis. Log file entries are generated using remote includes in page templates. This endpoint's params change depeneding on what is being reported
  8. * @name Base/ReportingEvent-Start
  9. * @function
  10. * @memberof ReportingEvent
  11. * @param {category} - non-sensitive
  12. * @param {renders} - isml
  13. * @param {serverfunction} - get
  14. */
  15. server.get('Start', function (req, res, next) {
  16. res.render('/reporting/reporting');
  17. next();
  18. });
  19. /**
  20. * ReportingEvent-MiniCart : The ReportingEvent-MiniCart endpoint get the reporting event basket open
  21. * @name Base/ReportingEvent-MiniCart
  22. * @function
  23. * @memberof ReportingEvent
  24. * @param {category} - non-sensitive
  25. * @param {renders} - isml
  26. * @param {serverfunction} - get
  27. */
  28. server.get('MiniCart', function (req, res, next) {
  29. var BasketMgr = require('dw/order/BasketMgr');
  30. var currentBasket = BasketMgr.getCurrentOrNewBasket();
  31. var reportingUrlsHelper = require('*/cartridge/scripts/reportingUrls');
  32. var reportingURLs;
  33. if (currentBasket && currentBasket.allLineItems.length) {
  34. reportingURLs = reportingUrlsHelper.getBasketOpenReportingURLs(currentBasket);
  35. }
  36. res.render('/reporting/reportingUrls', {
  37. reportingURLs: reportingURLs
  38. });
  39. next();
  40. });
  41. module.exports = server.exports();