front/modules/cron.js

/* ============================================================================ *\
|| ########################################################################## ||
|| # 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 cron
 */
class cronModule {
    /**
     *cart quantity product
     * @param {object} data data
     * @param {number} proid product id
     * @returns {object} sql query
     *
     */
    static async getItemsPending() {
        const mysql = {}
        const strQuery = await mysqclass.mysqli(mysql, 'pull_13a')
        const escapeData = []
        const dataReturn = await global.mysql.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     *cart quantity product
     * @param {object} data data
     * @param {number} proid product id
     * @returns {object} sql query
     *
     */
    static async deleteAllattach(pid) {
        const mysql = {}
        const strQuery = await mysqclass.mysqli(mysql, 'im_12')
        const escapeData = [pid]
        const dataReturn = await global.mysql.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     *pdt image update
     * @param {string} img data
     * @param {number} id id
     * @returns {object} sql query
     *
     */
    static async pdtimageupdate(img, id) {
        const mysql = {}
        const escapeData = [img, id]
        const strQuery = await mysqclass.mysqli(mysql, 'im_14')
        const dataReturn = await global.mysql.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     *new image insert
     * @param {string} img data
     * @param {number} id id
     * @returns {object} sql query
     */
    static async newingInsert(img, id, userid, ordt, type, url, json) {
        const mysql = {}
        const dateNow = dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss')
        const escapeData = [id, url, img, JSON.stringify(json), type, userid, dateNow, ordt]
        const strQuery = await mysqclass.mysqli(mysql, 'im_13')
        const dataReturn = await global.mysql.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * insert new project
     * @param {number} id id
     * @returns {object} sql query
     */
    static async insertNewProject(id) {
        const mysql = {}
        const startPrice = global.configurations.variables.project_start_price
        const reservePrice = global.configurations.variables.project_reserve_price
        const extHours = global.configurations.variables.project_close_date
        const dateNow = dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss')
        const minutesaddition = parseInt(extHours, 10) * 3600000 // *60000; from minutes to milli seconds
        let dateClose = new Date(new Date().getTime() + minutesaddition)
        dateClose = dateFormat(dateClose, 'yyyy-mm-dd HH:MM:ss')

        const strQuery = await mysqclass.mysqli(mysql, 'insert_13a')

        const escapeData = [
            dateNow,
            dateClose,
            startPrice,
            reservePrice,
            1,
            dateNow,
            'CR',
            startPrice,
            'open',
            id,
        ]
        const dataReturn = await global.mysql.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * product details cron job
     * @returns {object} sql query
     */
    static async productDetailsCronjob() {
        const mysql = {}
        const dateNow = dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss')
        const escapeData = [dateNow]
        const strQuery = await mysqclass.mysqli(mysql, 'im_53')
        const dataReturn = await global.mysqlsingle.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * get common invoice no
     * @returns {object} sql query
     */
    static async getCommonInvoiceNo() {
        const mysql = {}
        const escapeData = []
        const strQuery = await mysqclass.mysqli(mysql, 'im_54')
        const dataReturn = await global.mysqlsingle.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * cron job update
     * @param pid project id
     * @returns {object} sql query
     */
    static async cronjobupdate(pid) {
        const mysql = {}
        const escapeData = [pid]
        const strQuery = await mysqclass.mysqli(mysql, 'im_55')
        const dataReturn = await global.mysqlsingle.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * select award bid cron job
     * @param {number} pid project id
     */
    static async selectAwardBidCronjob(pid) {
        const mysql = {}
        const escapeData = [pid]
        const strQuery = await mysqclass.mysqli(mysql, 'im_56')
        const dataReturn = await global.mysqlsingle.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * close project
     * @param {number} status status
     * @param {number} pid project id
     */
    static async closeProjects(status, pid) {
        const mysql = {}
        const escapeData = [status, pid]
        const strQuery = await mysqclass.mysqli(mysql, 'im_57')
        const dataReturn = await global.mysqlsingle.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * make award bid live
     * @param {number} bid bid value
     */
    static async makeAwardBidLive(bid) {
        const mysql = {}
        const dateNow = dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss')
        const escapeData = [dateNow, bid]
        const strQuery = await mysqclass.mysqli(mysql, 'im_58a')
        const dataReturn = await global.mysqlsingle.query(strQuery, escapeData)
        return dataReturn
    }
    /**
     * insert bid now ingram
     * @param {object} pay pay
     */
    static async insertBidnowIngram(pay) {
        const mysql = {}
        const dateNow = dateFormat(new Date(), 'yyyy-mm-dd HH:MM:ss')
        const amt = pay.amount
        const shipAmt = pay.shippamt
        const randomnoten = pay.cinvoiceno
        const qtyCheck = pay.qty
        const buynowAutype = pay.buynow_autype
        const escapeData = [
            pay.payid,
            pay.sessionsdata.userid,
            amt,
            shipAmt,
            dateNow,
            qtyCheck,
            0,
            0,
            randomnoten,
            buynowAutype,
        ]
        const strQuery = await mysqclass.mysqli(mysql, 'im_60')
        const dataReturn = await global.mysqlsingle.query(strQuery, escapeData)
        return dataReturn
    }
}

module.exports.default = cronModule