/* ============================================================================ *\
|| ########################################################################## ||
|| # 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 jwt = require('jsonwebtoken')
const commonModule = require('../../modules/commonModule').default
const commonFunction = require('../../../common/function').default
const schemaModule = require('./schema').default
const { jsonResponse } = require('../logger')
module.exports = {
/**
* Get Common Values
*
* @memberOf frontend.common
* @param {object} req req object
* @param {object} res res object
*/
commonValues: async (req, res) => {
try {
const responseData = global.configurations
responseData.features = global.configFeatures
jsonResponse(res, 'success', {
responseType: 1,
message: 'Settings variables successfully retrieved!',
responseData,
})
} catch (e) {
console.error(e)
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
/**
* Get Static pages
*
* @memberOf frontend.common
* @param {commonModule.getStaticContent} module
*/
getStaticPage: async (req, res) => {
let record = {}
try {
const id = typeof req.body.id === 'undefined' ? '' : req.body.id
const [records] = await Promise.all([commonModule.getStaticContent(id)])
record = records[0]
} catch (e) {
console.error(e)
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
} finally {
const responseData = { record }
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
responseData,
})
}
},
/**
* getPreviousData
*
* @memberOf frontend.common
* @param {commonFunction.fetchFilteredDataFunction} module
*/
getPreviousData: async (req, res) => {
try {
const baseTableUsed = global.configColumns[req.body.primaryTable]
const customTableUsed = req.body.customTable
? global.configColumns[req.body.customTable]
: { enabled: 0 }
req.body.filters = req.body.filters ? req.body.filters : {}
if (req.body.getUser) {
req.body.filters.user_id = { value: req.user.id, field: 'user_id', type: 'in' }
}
const [records, totalRecords] = await Promise.all([
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 1),
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 0),
])
const responseData = { records: records[0], totalRecords: totalRecords[0].length }
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
responseData,
})
} catch (e) {
console.error(e)
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
/**
* insertEntry
*
* @memberOf frontend.common
* @param {commonModule.insertentry} module
*/
insertEntry: async (req, res) => {
try {
await Promise.all([commonModule.insertentry(req, req.body)])
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
})
} catch (e) {
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
/**
* updateEntry
*
* @memberOf frontend.common
* @param {commonModule.insertentry} module
*/
updateEntry: async (req, res) => {
try {
await Promise.all([commonModule.updateentry(req, req.body)])
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
})
} catch (e) {
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
/**
* categorygetlist
*
* @memberOf frontend.common
* @param {object} req req object
* @param {object} res res object
* @param {commonModule.commonselectparenttable} module
*/
categorygetlist: async (req, res) => {
try {
const [catlisting] = await Promise.all([
commonModule.commonselectparenttable(
'*',
'id',
req.body.id,
global.configColumns.categories,
),
])
const postinglist = catlisting
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
postinglist,
})
} catch (e) {
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
/**
* getAllCountries
*
* @memberOf frontend.common
* @param {object} req req object
* @param {object} res res object
* @param {commonFunction.fetchFilteredDataFunction} module
*/
getAllCountries: async (req, res) => {
try {
const baseTableUsed = {
enabled: 1,
base: 1,
search: 0,
ext_name: 'data_country',
short_name: 'coun',
foreign_key: null,
alias_columns: {},
array_columns: [
'id',
'isoCode',
'name',
'phonecode',
'currency',
'latitude',
'longitude',
'zoneName',
'gmtOffset',
'gmtOffsetName',
'abbreviation',
'tzName',
],
default_values: [
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
'NULL',
],
default_columns: [
'id',
'isoCode',
'name',
'phonecode',
'currency',
'latitude',
'longitude',
'zoneName',
'gmtOffset',
'gmtOffsetName',
'abbreviation',
'tzName',
],
order: 'name',
}
const customTableUsed = { enabled: 0 }
req.body.filters = req.body.filters ? req.body.filters : {}
const [records, totalRecords] = await Promise.all([
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 0),
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 0),
])
const responseData = { records: records[0], totalRecords: totalRecords[0].length }
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
responseData,
})
} catch (e) {
console.error(e)
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
/**
* getAllStates
*
* @memberOf frontend.common
* @param {object} req req object
* @param {object} res res object
* @param {commonFunction.fetchFilteredDataFunction} module
*/
getAllStates: async (req, res) => {
try {
const baseTableUsed = {
enabled: 1,
base: 1,
search: 0,
ext_name: 'data_state',
short_name: 'stat',
foreign_key: null,
alias_columns: {},
array_columns: ['id', 'name', 'isoCode', 'countryCode', 'latitude', 'longitude'],
default_values: ['NULL', 'NULL', 'NULL', 'NULL', 'NULL', 'NULL'],
default_columns: ['id', 'name', 'isoCode', 'countryCode', 'latitude', 'longitude'],
order: 'name',
}
const customTableUsed = { enabled: 0 }
req.body.filters = req.body.filters ? req.body.filters : {}
const [records, totalRecords] = await Promise.all([
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 0),
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 0),
])
const responseData = { records: records[0], totalRecords: totalRecords[0].length }
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
responseData,
})
} catch (e) {
console.error(e)
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
/**
* getAllCities
*
* @memberOf frontend.common
* @param {object} req req object
* @param {object} res res object
* @param {commonFunction.fetchFilteredDataFunction} module
*/
getAllCities: async (req, res) => {
try {
const baseTableUsed = {
enabled: 1,
base: 1,
search: 0,
ext_name: 'data_city',
short_name: 'city',
foreign_key: null,
alias_columns: {},
array_columns: ['id', 'name', 'countryCode', 'stateCode', 'latitude', 'longitude'],
default_values: ['NULL', 'NULL', 'NULL', 'NULL', 'NULL', 'NULL'],
default_columns: [
'id',
'name',
'countryCode',
'stateCode',
'latitude',
'longitude',
],
}
const customTableUsed = { enabled: 0 }
req.body.filters = req.body.filters ? req.body.filters : {}
const [records, totalRecords] = await Promise.all([
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 0),
commonFunction.fetchFilteredDataFunction(req, baseTableUsed, customTableUsed, 0),
])
const responseData = { records: records[0], totalRecords: totalRecords[0].length }
jsonResponse(res, 'success', {
responseType: 1,
message: 'Details successfully retrieved!',
responseData,
})
} catch (e) {
console.error(e)
jsonResponse(res, 'error', {
responseType: 3,
message: 'Internal Server error!',
})
}
},
}