/* ============================================================================ *\
|| ########################################################################## ||
|| # 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 artaShippingModule {
static async insertLog(data, options, type) {
const mysql = {}
const escapeData = [
data?.user_id || null,
data?.project_id || null,
type,
JSON.stringify(options.data),
dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss'),
]
const strQuery = await mysqclass.mysqli(mysql, 'arta_log_insert')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* get project id from cart id
*
* @param {number} projectId request object
* @param {shipping.arta.metadataTransport} method
*/
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, 'arta_log_update')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* update shipping id
* @param {object} shippingData shipping data
* @param {number} cartID cart id
* @param {number} addressID address id
* @returns {object} sql query
*/
static async updateShippingID(shippingData, cartID, addressID) {
const mysql = {}
const escapeData = [shippingData.id, shippingData.total, cartID, addressID]
const strQuery = await mysqclass.mysqli(mysql, 'arta_update_selected_shipping_id')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* update shipping id
* @param {number} cartID cart id
* @param {number} addressID address id
* @param {object} response shipping data
* @returns {object} sql query
*/
static async insertShippingResponse(cartID, addressID, response) {
const mysql = {}
const escapeData = [cartID, addressID, JSON.stringify(response)]
const strQuery = await mysqclass.mysqli(mysql, 'arta_insert_selected_shipping_id')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* update shipping id
* @param {number} cartID cart id
* @param {number} addressID address id
* @param {object} response shipping data
* @returns {object} sql query
*/
static async updateConfirmationResponse(shipID, trackingID, response) {
const mysql = {}
const escapeData = [trackingID, JSON.stringify(response), shipID]
const strQuery = await mysqclass.mysqli(mysql, 'arta_insert_confirmation_shipping_id')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
/**
* update shipping id
* @param {number} cartID cart id
* @param {number} addressID address id
* @param {object} response shipping data
* @returns {object} sql query
*/
static async getShippingIDDetails(cartID, addressId) {
const mysql = {}
const escapeData = [cartID, addressId]
const strQuery = await mysqclass.mysqli(mysql, 'arta_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
* @returns {object} sql query
*/
static async getShippingTrackingDetails(cartID) {
const mysql = {}
const escapeData = [cartID]
const strQuery = await mysqclass.mysqli(mysql, 'arta_get_tracking_shipping_id')
const dataReturn = await global.mysql.query(strQuery, escapeData)
return dataReturn
}
}
module.exports.default = artaShippingModule