/* ============================================================================ *\
|| ########################################################################## ||
|| # Auction Software Marketplace Release: 0.6 Build 0.7 # ||
|| # ---------------------------------------------------------------------- # ||
|| # License # 35YAHCNR9344X6O666C123AB # ||
|| # ---------------------------------------------------------------------- # ||
|| # Copyright ©2014–2021 Develop Scripts LLC. All Rights Reserved # ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ------------- AUCTION SOFTWARE IS NOT FREE SOFTWARE ------------------ # ||
|| # http://www.auctionsoftwaremarketplace.com|support@auctionsoftware.com # ||
|| # ---------------------------------------------------------------------- # ||
|| ########################################################################## ||
\* ============================================================================ */
/* eslint-disable prefer-destructuring */
/* eslint-disable no-param-reassign */
const commonFunction = require('../../../common/function').default
const depositModule = require('../../modules/deposit').default
const cartModule = require('../../modules/cart').default
const buynowCommonCtrl = require('../buynow/common')
const appointmentCtrl = require('../appointment')
const schemaModule = require('./schema').default
const { jsonResponse, errorResponse } = require('../logger')
const getdynamicinnercontents = async (req, responseData) => {
const returnResponse = responseData
returnResponse.totalRecords = returnResponse.totalRecords[0]
? returnResponse.totalRecords[0].totallength
: 0
let disp = (parseInt(req.body.page, 10) - 1) * req.body.limit + 1
const afifen = (parseInt(req.body.page, 10) - 1) * req.body.limit + parseInt(req.body.limit, 10)
const orgifen = afifen > returnResponse.totalRecords ? returnResponse.totalRecords : afifen
disp = returnResponse.totalRecords === 0 ? 0 : disp
returnResponse.setDisp = `${disp}-${orgifen}`
return returnResponse
}
/**
* Get all Invoice Details
*
* @memberOf frontend.product
* @param {object} req req object
* @param {depositModule.getInvoiceCartDetails} modules
* @param {depositModule.getAllTransactions} modules
* @param {array} items Items array in which image url is added to the name
*/
const getDepositDetails = async (req) => {
let responseData = {}
const [invoiceItems] = await Promise.all([depositModule.allDepositItems(req, req.body, 1)])
if (invoiceItems.length > 0) {
responseData = {
status: 'success',
responseType: 1,
message: 'Invoice items retrieved!',
responseData: {
invoiceItems,
},
}
} else {
responseData = {
status: 'error',
responseType: 2,
message: 'No record found!',
}
}
return responseData
}
module.exports = {
/**
* Get Invoice details
*
* @memberOf frontend.invoice
* @param {frontend.invoice.getDepositDetails} modules
*/
getDepositDetails,
deposit: async (req, res) => {
try {
await schemaModule.search().validateSync(req.body)
const [responseData] = await Promise.all([getDepositDetails(req)])
jsonResponse(res, responseData.status, responseData)
} catch (e) {
errorResponse(e, res)
}
},
/**
* Get all deposits
*
* @memberOf frontend.deposit
* @param {object} req req object
* @param {object} res res object
* @param {depositModule.searchBidDepositsProducts} modules
* @param {frontend.depost.getdynamicinnercontents} modules
*/
alldeposits: async (req, res) => {
try {
let records = []
let totalRecords = []
await schemaModule.search().validateSync(req.body)
;[records, totalRecords] = await Promise.all([
depositModule.searchBidDepositsProducts(req, req.body, 1),
depositModule.searchBidDepositsProducts(req, req.body, 0),
])
totalRecords = [{ totallength: totalRecords.length }]
let responseData = { records, totalRecords }
responseData = await getdynamicinnercontents(req, responseData)
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
responseData,
})
} catch (e) {
errorResponse(e, res)
}
},
}