Your IP : 216.73.216.91


Current Path : /var/node/inatote/qa_inatote/orders/
Upload File :
Current File : /var/node/inatote/qa_inatote/orders/.orders-endpoint.js.swp

b0VIM 8.1��Wc'��inatotesoftlogicx-vm/var/node/inatote/qa_inatote/orders/orders-endpoint.jsutf-8
U3210#"! Utp
[��������|\�>���������g"��������e���������N���������I<��������W���������5�ad�[�����T1���zU"�
�
�
\
:
%

��������XWJ,���|V0�
�
�
�
�
"
�	Q	/		����7.!�����j����H:(�qR��`���p?	��������        }                       }                }                        }                        })                            "approval_code": "DEMO10"                            "action": "approve",                        res.status(200).json({                    else{                    }                        throw 'Amount is not match to order amount'                    if(order && order.subTotal != raw_data.billing.amount ){                    console.log("ORDER", order);                    let order = await orderList.findOrderByRider(user._id , 'items collected');                    }                        throw 'User does not exists on this cardholder Id'                    if(!user){                    let user = await userList.findByCardHolderId(raw_data.account.cardholder_id );                if(raw_data && raw_data.account && raw_data.account.cardholder_id){            else{            }                throw 'X-BPS-Signature is not validated';            if(hmac == req.headers["X-BPS-Signature"] ){                        logger.infologger.info(msg);            msg +=  `\nBody : ${JSON.stringify(raw_data)} \n headers : ${JSON.stringify(req.headers)} \n HMAC : ${hmac}`            fs.writeFileSync(path.join(__dirname,"logs","berkley.txt"), JSON.stringify(req.headers),"UTF8");            console.log("HMAC" , hmac);            let hmac = createHmac('sha256' ,config.app.staggingSigningKey ).update(JSON.stringify(raw_data)).digest().toString('base64');            console.log("SING" , JSON.stringify(raw_data));            let raw_data = req.body;            var userList = makeUserList({ database });        try{                let msg = `\n*********${req.method}*${req.originalurl}********************************************************************************`    async function payByBerkley(req , res){        }                    logger.infologger.info(msg)        console.log("msg" , msg);        \n **********************************************************************************************************************************`;        \n ${JSON.stringify(req.body)} \n ${JSON.stringify(res)}        let msg = `\n*********${req.method}*${req.originalurl}********************************************************************************    function infoLogs(req , res) {    }              payByBerkley: payByBerkley        calculateProfit : calculateProfit,        acceptedOrder: acceptedOrder,        purchasedItem: purchasedItem,        confirmRider: confirmRider,        calculateCharges: calculateCharges,        updateOrder: updateorder,        deleteOrder: deleteorder,        getOrder: getorder,        postOrder: postorder,    return {export default function makeordersEndpointHandler({ orderList }) {const database = makeDb()import logger from "../services/logService.js";const __dirname = path.resolve();import path from "path";import fs from "fs";import config from "../config.js"import { createHmac } from "crypto";import  makeOrderMessage from "../orderStatus.js"import sendEmail from '../helpers/twilio-send_grid.js';import { createPayment } from "../services/square.js";import sendSms from '../helpers/twilio-helper.js';import makeDb from '../db/index.js';import makeUserList from '../users/user-list.js';import FCM_Send from '../helpers/fcm_helper.js';import Joi from 'joi';import validateHeaders from '../helpers/validate-headers.js'import makeOrder from './order.js'import makeHttpError from '../helpers/http-error.js'} from '../helpers/errors.js'    RequiredParameterError    InvalidPropertyError,    UniqueConstraintError,import {ad+5�t2����}T'�
�
w

������}C�
�
p
N
>
1
0
"

�	�	n	[	M	@	?	3	)		���=.$}    }        }            })                msg: typeof err == "string" ? err : err.message ? err.message : err["details"][0]["message"]                status: false,            res.status(400).json({            //console.log("err", err);        catch (err) {        }                                   }                })                    msg:"order status must be 'reached at store' or  'items collected'"                    status: false,                res.status(400).json({            else{            }                        });                data: updateOrder                status: true,            res.status(200).json({            let updateOrder = await orderList.update(orderData._id, orderData, {});                      //console.log("orderData" ,orderData);            //console.log("productPrize" , productprice);                                }                     //console.log("orderData" , orderData.totalPrice);            orderData.totalPrice = parseFloat(orderData.subTotal) + parseFloat(orderData.riderCharges) + parseFloat(orderData.serviceFee) + parseFloat(orderData.riderCharges) ;             orderData.serviceFee -= (parseFloat(configrations.productMarkup) * parseFloat(data.quantity) );            orderData.riderCharges = parseFloat(orderData.riderCharges) -  (0.5 * parseFloat(data.quantity) );            orderData.subTotal = orderData.subTotal - (parseFloat(productprice) * parseFloat(data.quantity));            .findOne();            .collection('configurations')                let configrations = await db            if(data.status == "refund"){            orderData.products = updated_products;            });                }                    updated_products = [...updated_products, element]                } else {                    updated_products = [...updated_products, obj]                    //console.log("OBJ" , obj);                    data.status == "refund" ? obj = {...obj , refundId : refundId } : null;ad��>�mYI5���8&�
�
�
4

����i8��n].�
�
�
i
h
"
�	�	�	E	�����������fK����xN%	��                        ? 409                    e instanceof UniqueConstraintError                statusCode:                errorMessage: e.message,            return res.status(400).json({            console.log("e", e);        } catch (e) {            })                data: orderDetail                statusCode: 201,                },                    'Content-Type': 'application/json'                headers: {            return res.status(200).json({            }                               FCM_Send({ notificationTitle: "Order status", notificationBody: makeOrderMessage(orderDetail.user.firstName , 'pending') , token: user.pushId, payload: { payloadType: "orderChangeStatus", payloadData: orderDetail }, type: "client" });            if (orderDetail.user && orderDetail.user.pushId) {            }                sendEmail({ senderMail: orderDetail.user.emailAddress, templateId: "d-9c7e1c79349b4e51b54d65bcf9f62e4b"  , templateData});                let templateData = await parseTemplate(orderDetail)                // sendEmail({ senderMail: "muhamadhasan043@gmail.com", templateId: "d-93621b1a8abe4addb921f713d3f1da93" });            if (orderDetail.user && orderDetail.user.emailAddress ) {            }                sendSms({ toNumber: orderDetail.user.mobileNumber, message: makeOrderMessage(orderDetail.user.firstName ,"pending" ) })            if (orderDetail.user && orderDetail.user.mobileNumber ) {            let orderDetail = await orderList.findById({ orderId: result.created.orderId });            const result = await orderList.add(order);            const order = makeOrder(orderInfo);            orderInfo.paymentId = "sadfdsfdsf"            // }            //     })            //         statusCode: 400            //         errorMessage: payment && payment.msg ? payment.msg : "order cannot proceed , beacause payment details are not valid",            //     return res.status(400).json({            // if (!payment.id || payment.status != "COMPLETED") {                        // let payment = await createPayment(paymentData);            }                amount: orderInfo.totalPrice                cardId: orderInfo.nonce && orderInfo.nonce != null ? orderInfo.nonce : user.cardId,                customerId: user.customer_id,            let paymentData = {            orderInfo.totalPrice =  totalPrice;              }                }                    throw new Error ('total amount doesnot match to the amount that comes from request')                if(priceDiff > 0.05){		//    console.log("DIFF" , priceDiff)              //  let priceDiff = totalPrice - orderInfo.totalPrice ;            //else{            //}          //      }        //            throw new Error ('total amount doesnot match to the amount that comes from request')      //          if(priceDiff > 0.05){ad4��R��vh�
G

��>����}W1�
�
�
v
V
(
�	�	�	�	I	<	��;����WV���*�X�{z;@0"! ����pN?)���bD                        ? 409                    e instanceof UniqueConstraintError                statusCode:                errorMessage: e.message,            return res.status(400).json({            console.log("e", e);        } catch (e) {            })                data: orderDetail                statusCode: 201,                },                    'Content-Type': 'application/json'                headers: {            return res.status(200).json({            }                               FCM_Send({ notificationTitle: "Order status", notificationBody: makeOrderMessage(orderDetail.user.firstName , 'pending') , token: user.pushId, payload: { payloadType: "orderChangeStatus", payloadData: orderDetail }, type: "client" });            if (orderDetail.user && orderDetail.user.pushId) {            }                sendEmail({ senderMail: orderDetail.user.emailAddress, templateId: "d-9c7e1c79349b4e51b54d65bcf9f62e4b"  , templateData});                let templateData = await parseTemplate(orderDetail)                // sendEmail({ senderMail: "muhamadhasan043@gmail.com", templateId: "d-93621b1a8abe4addb921f713d3f1da93" });            if (orderDetail.user && orderDetail.user.emailAddress ) {            }                sendSms({ toNumber: orderDetail.user.mobileNumber, message: makeOrderMessage(orderDetail.user.firstName ,"pending" ) })            if (orderDetail.user && orderDetail.user.mobileNumber ) {            let orderDetail = await orderList.findById({ orderId: result.created.orderId });            const result = await orderList.add(order);            const order = makeOrder(orderInfo);            orderInfo.paymentId = "sadfdsfdsf"            // }            //     })            //         statusCode: 400            //         errorMessage: payment && payment.msg ? payment.msg : "order cannot proceed , beacause payment details are not valid",            //     return res.status(400).json({            // if (!payment.id || payment.status != "COMPLETED") {                        // let payment = await createPayment(paymentData);            }                amount: orderInfo.totalPrice                cardId: orderInfo.nonce && orderInfo.nonce != null ? orderInfo.nonce : user.cardId,                customerId: user.customer_id,            let paymentData = {            orderInfo.totalPrice =  totalPrice;              }                }                    throw new Error ('total amount doesnot match to the amount that comes from request')                if(priceDiff > 0.05){		    console.log("DIFF" , priceDiff)                let priceDiff = totalPrice - orderInfo.totalPrice ;            else{            }                }                    throw new Error ('total amount doesnot match to the amo    /            let priceDiff = orderInfo.totalPrice - totalPrice    //            let priceDiff = orderInfo.totalPrice - totalPrice;  //              console.log("Totsal" ,orderInfo.totalPrice ,totalPrice );//            if(orderInfo.totalPrice > totalPrice ){                            + parseFloat(tip) + parseFloat(itemsTax) +parseFloat(serviceTax)  ;            let totalPrice = parseFloat(orderInfo.deliveryService) + parseFloat(orderInfo.serviceFee) + parseFloat(heavyOrderFee) + parseFloat(smallOrderFee) +  parseFloat(orderInfo.subTotal)                                      let serviceTax = orderInfo.serviceTax ? orderInfo.serviceTax : 0;            let itemsTax = orderInfo.itemsTax ? orderInfo.itemsTax : 0;            let tip = orderInfo.tip ? orderInfo.tip : 0;            let smallOrderFee = orderInfo.smallOrderFee ? orderInfo.smallOrderFee : 0;            let heavyOrderFee = orderInfo.heavyOrderFee ? orderInfo.heavyOrderFee : 0;