/* ============================================================================ *\
|| ########################################################################## ||
|| # 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
/**
* @class class to handle deposit functions
*/
class shipEngineModule {
/**
* insert log
*
* @param {string} nameID email ID to check in the database.
* @returns {object} sql response
*/
static async insertLog(data, options, type) {
const mysql = {}
const userId = data?.user_id || ''
const projectId = data?.project_id || ''
const escapeData = [
userId,
projectId,
type,
JSON.stringify(options.data),
dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss'),
]
const strQuery = await mysqclass.mysqli(mysql, 'ship_engine_log_insert')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* update log
*
* @param {string} data log data
* @returns {object} sql response
*/
static async updateLog(data) {
const mysql = {}
const escapeData = [
JSON.stringify(data.response),
data.status,
dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss'),
data.id,
]
const strQuery = await mysqclass.mysqli(mysql, 'ship_engine_log_update')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* update shipping id
* @param {object} shippingData
* @param {number} cartID cart
* @param {number} addressID address id
*/
static async updateShippingID(shippingData, cartID, addressID) {
const mysql = {}
const escapeData = [shippingData.rate_id, shippingData.total, cartID, addressID]
const strQuery = await mysqclass.mysqli(mysql, 'ship_engine_update_selected_shipping_id')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* insert shipping response
* @param {number} cartID cart id
* @param {number} addressID address id
* @param {object} response resopnse
*
*/
static async insertShippingResponse(cartID, addressID, response) {
const mysql = {}
const escapeData = [cartID, addressID, JSON.stringify(response)]
const strQuery = await mysqclass.mysqli(mysql, 'ship_engine_insert_selected_shipping_id')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* update confirmation resposne
* @param {number} shipID shipping id
* @param {number} trackingID tracking id
* @param {object} response response
*/
static async updateConfirmationResponse(shipID, trackingID, response) {
const mysql = {}
const escapeData = [trackingID, JSON.stringify(response), shipID]
const strQuery = await mysqclass.mysqli(
mysql,
'ship_engine_insert_confirmation_shipping_id',
)
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
*get shipping id details
* @param {number} cartID cart id
* @param {number} addressId address id
*/
static async getShippingIDDetails(cartID, addressId) {
const mysql = {}
const escapeData = [cartID, addressId]
const strQuery = await mysqclass.mysqli(mysql, 'ship_engine_get_selected_shipping_id')
console.log('shippingData', strQuery, escapeData)
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* get shipping tracking details
* @param {number} cartID cart id
*/
static async getShippingTrackingDetails(cartID) {
const mysql = {}
const escapeData = [cartID]
const strQuery = await mysqclass.mysqli(mysql, 'ship_engine_get_tracking_shipping_id')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
}
module.exports.default = shipEngineModule