admin/controllers/communication/index.js

  1. /* ============================================================================ *\
  2. || ########################################################################## ||
  3. || # Auction Software Marketplace Release: 0.6 Build 0.7 # ||
  4. || # ---------------------------------------------------------------------- # ||
  5. || # License # 35YAHCNR9344X6O666C123AB # ||
  6. || # ---------------------------------------------------------------------- # ||
  7. || # Copyright ©2014–2021 Develop Scripts LLC. All Rights Reserved # ||
  8. || # This file may not be redistributed in whole or significant part. # ||
  9. || # ------------- AUCTION SOFTWARE IS NOT FREE SOFTWARE ------------------ # ||
  10. || # http://www.auctionsoftwaremarketplace.com|support@auctionsoftware.com # ||
  11. || # ---------------------------------------------------------------------- # ||
  12. || ########################################################################## ||
  13. \* ============================================================================ */
  14. /* eslint-disable prefer-destructuring */
  15. /* eslint-disable no-param-reassign */
  16. const jwt = require('jsonwebtoken')
  17. const adminCommuncationModule = require('../../modules/communcation').default
  18. const schemaModule = require('./schema').default
  19. const commonFunction = require('../../../common/function').default
  20. const { jsonResponse } = require('../logger')
  21. module.exports = {
  22. /**
  23. * Get Email and SMS Templates
  24. *
  25. * @memberOf adminside.communication
  26. * @param {adminCommuncationModule.alltemps} modules
  27. * @param {adminCommuncationModule.alllogsemails} modules
  28. */
  29. templates: async (req, res) => {
  30. req.body.action = typeof req.body.action === 'undefined' ? 'email' : req.body.action
  31. let records = []
  32. let totalRecords = []
  33. try {
  34. if (req.body.action === 'email' || req.body.action === 'sms') {
  35. ;[records, totalRecords] = await Promise.all([
  36. adminCommuncationModule.alltemps(req, 0),
  37. adminCommuncationModule.alltemps(req, 1),
  38. ])
  39. } else if (req.body.action === 'emaillogs') {
  40. ;[records, totalRecords] = await Promise.all([
  41. adminCommuncationModule.alllogsemails(req, 0),
  42. adminCommuncationModule.alllogsemails(req, 1),
  43. ])
  44. }
  45. } catch (e) {
  46. console.error(e)
  47. jsonResponse(res, 'error', {
  48. responseType: 3,
  49. message: 'Internal Server error!',
  50. })
  51. } finally {
  52. let responseData = { records, totalRecords }
  53. responseData = await commonFunction.getdynamicinnercontents(req, responseData)
  54. jsonResponse(res, 'success', {
  55. responseType: 1,
  56. message: 'Details successfully retrieved!',
  57. responseData,
  58. })
  59. }
  60. },
  61. /**
  62. * Get Single Template
  63. *
  64. * @memberOf adminside.communication
  65. * @param {adminCommuncationModule.etempsbyId} modules
  66. */
  67. getSingleTemplate: async (req, res) => {
  68. console.log('coming here')
  69. let item = {}
  70. try {
  71. const id = typeof req.body.id === 'undefined' ? '' : req.body.id
  72. const [records] = await Promise.all([adminCommuncationModule.etempsbyId(id)])
  73. console.log('records', records)
  74. item = records[0]
  75. console.log('item', item)
  76. } catch (e) {
  77. console.error(e)
  78. jsonResponse(res, 'error', {
  79. responseType: 3,
  80. message: 'Internal Server error!',
  81. })
  82. } finally {
  83. const responseData = { item }
  84. jsonResponse(res, 'success', {
  85. responseType: 1,
  86. message: 'Details successfully retrieved!',
  87. responseData,
  88. })
  89. }
  90. },
  91. /**
  92. * Template Action
  93. *
  94. * @memberOf adminside.communication
  95. * @param {adminCommuncationModule.templateOperation} modules
  96. */
  97. templateAction: async (req, res) => {
  98. try {
  99. req.body.id =
  100. typeof req.body.id === 'undefined' || req.body.id === 0 || req.body.id === ''
  101. ? null
  102. : req.body.id
  103. await Promise.all([adminCommuncationModule.templateOperation(req)])
  104. } catch (e) {
  105. console.error(e)
  106. jsonResponse(res, 'error', {
  107. responseType: 3,
  108. message: 'Internal Server error!',
  109. })
  110. } finally {
  111. jsonResponse(res, 'success', {
  112. responseType: 1,
  113. message: req.body.id ? 'Successfully updated!' : 'Successfully added!',
  114. })
  115. }
  116. },
  117. /**
  118. * Get Static Pages
  119. *
  120. * @memberOf adminside.communication
  121. * @param {adminCommuncationModule.allStaticPage} modules
  122. */
  123. staticPages: async (req, res) => {
  124. let records = []
  125. let totalRecords = []
  126. try {
  127. ;[records, totalRecords] = await Promise.all([
  128. adminCommuncationModule.allStaticPage(req, 0),
  129. adminCommuncationModule.allStaticPage(req, 1),
  130. ])
  131. } catch (e) {
  132. console.error(e)
  133. jsonResponse(res, 'error', {
  134. responseType: 3,
  135. message: 'Internal Server error!',
  136. })
  137. } finally {
  138. let responseData = { records, totalRecords }
  139. responseData = await commonFunction.getdynamicinnercontents(req, responseData)
  140. jsonResponse(res, 'success', {
  141. responseType: 1,
  142. message: 'Details successfully retrieved!',
  143. responseData,
  144. })
  145. }
  146. },
  147. /**
  148. * Get Single Static Page
  149. *
  150. * @memberOf adminside.communication
  151. * @param {adminCommuncationModule.getStaticPagebyId} modules
  152. */
  153. getSingleStaticPages: async (req, res) => {
  154. let item = {}
  155. try {
  156. const id = typeof req.body.id === 'undefined' ? '' : req.body.id
  157. const [records] = await Promise.all([adminCommuncationModule.getStaticPagebyId(id)])
  158. item = records[0]
  159. } catch (e) {
  160. console.error(e)
  161. jsonResponse(res, 'error', {
  162. responseType: 3,
  163. message: 'Internal Server error!',
  164. })
  165. } finally {
  166. const responseData = { item }
  167. jsonResponse(res, 'success', {
  168. responseType: 1,
  169. message: 'Details successfully retrieved!',
  170. responseData,
  171. })
  172. }
  173. },
  174. /**
  175. * Static Page action
  176. *
  177. * @memberOf adminside.communication
  178. * @param {adminCommuncationModule.staticPageOperation} modules
  179. */
  180. staticPagesAction: async (req, res) => {
  181. try {
  182. req.body.id =
  183. typeof req.body.id === 'undefined' || req.body.id === 0 || req.body.id === ''
  184. ? null
  185. : req.body.id
  186. await Promise.all([adminCommuncationModule.staticPageOperation(req)])
  187. } catch (e) {
  188. console.error(e)
  189. jsonResponse(res, 'error', {
  190. responseType: 3,
  191. message: 'Internal Server error!',
  192. })
  193. } finally {
  194. jsonResponse(res, 'success', {
  195. responseType: 1,
  196. message: req.body.id ? 'Successfully updated!' : 'Successfully added!',
  197. })
  198. }
  199. },
  200. }