/* ============================================================================ *\
|| ########################################################################## ||
|| # 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 # ||
|| # ---------------------------------------------------------------------- # ||
|| ########################################################################## ||
\* ============================================================================ */
const dateFormat = require('dateformat')
const md5 = require('md5')
const _ = require('underscore')
const mysqclass = require('./mysqli').default
const commonSQL = require('../../common/sql').default
/**
* @class class to handle common functions
*/
class commonModule {
static async getConfigVariable() {
const mysql = {}
const escapeData = []
const strQuery = await mysqclass.mysqli(mysql, 'sitesettings')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* get all bid increments
* @returns {object} sql query
*/
static async getallBidIncrements() {
const mysql = {}
const escapeData = []
const strQuery = await mysqclass.mysqli(mysql, 'get_all_bid_increment')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* get bid increment default
* @returns {object} sql query
*/
static async getBidIncrementdefault() {
const mysql = {}
const escapeData = []
const strQuery = await mysqclass.mysqli(mysql, 'get_bid_inc_default')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* commonTableEntries
* @param {object} item items
* @returns {object} sql query
*/
static async commonTableEntries(item) {
const mysql = {}
const escapeData = []
mysql.tableUsed = item.ext_name
const strQuery = await mysqclass.mysqli(mysql, 'get_all_tableentries')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* Get Static Content
* @param {number} id id of the static page which has to be fetched
* @returns {object} sql response
*/
static async getStaticContent(id) {
const mysql = {}
const escapeData = [id, id]
const strQuery = await mysqclass.mysqli(mysql, 'get_static_page')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
*inset entry
* @param {object} req request object
* @param {object} data data
* @returns {object} sql query
*/
static async insertentry(req, data) {
const mysqli = {}
let escapeData = []
const tableUsed = req.body.table
const postData = data
const acceptedObjects = global.configColumns[tableUsed].array_columns
const defaultKeys = []
const defaultValues = []
const valueInsert = commonSQL.InsertSQLFunction(
postData,
acceptedObjects,
defaultKeys,
defaultValues,
)
mysqli.keys = valueInsert.keys
escapeData = valueInsert.escapeData
mysqli.values = valueInsert.values
mysqli.tables = tableUsed
const strQuery = await mysqclass.mysqli(mysqli, 'insert_tables')
const dataPromise = await global.mysql.query(strQuery, escapeData)
return dataPromise
}
/**
* update entry
* @param {object} req request object
* @param {object} data data
* @returns {object} sql query
*/
static async updateentry(req, data) {
const mysqli = {}
let escapeData = []
const tableUsed = req.body.table
const postData = data
const acceptedObjects = global.configColumns[tableUsed].array_columns
const defaultKeys = []
const defaultValues = []
const valueInsert = commonSQL.updateSQLFunction(
postData,
acceptedObjects,
defaultKeys,
defaultValues,
)
mysqli.keys = valueInsert.keys
escapeData = valueInsert.escapeData
mysqli.values = ` ${req.body.update_column} = "${req.body.update_id}" `
mysqli.tables = tableUsed
const strQuery = await mysqclass.mysqli(mysqli, 'update_tables')
const dataPromise = await global.mysql.query(strQuery, escapeData)
return dataPromise
}
/**
*common select parent table
* @param {object} data object
* @param {number} proid product id
* @param {string} baseTableUsed base table used
* @param {number} baseid base id
* @returns {object} sql query
*/
static async commonselectparenttable(data, proid, baseTableUsed, baseid) {
const mysqli = {}
const proId = proid.split(',')
const escapeData = [proId]
mysqli.keys = data
mysqli.values = `${baseid} IN (?)`
mysqli.tables = baseTableUsed.ext_name
mysqli.group_by = ''
mysqli.order_by = ''
mysqli.limit_by = ''
const strQuery = await mysqclass.mysqli(mysqli, 'select_tables')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
}
module.exports.default = commonModule