diff --git a/download-shipping-labels.js b/download-shipping-labels.js index 4baf027..ab67c03 100644 --- a/download-shipping-labels.js +++ b/download-shipping-labels.js @@ -133,6 +133,39 @@ const emailUtils = require("./email-utils"); `processed/` ); + /** + * Capture response + */ + const checkShippingLabelResponse = async (page, timer) => { + return new Promise((resolve, reject) => { + // Timeout mechanism to resolve with an empty list after 5 seconds + const timeout = setTimeout(() => { + page.off("response", handleResponse); // Remove listener on timeout + resolve([]); // Resolve with an empty list + }, timer); + + const handleResponse = async (res) => { + try { + const req = res.request(); + if (req.url().includes("/batch_print_shipping_label")) { + const resJson = await res.json(); + // Remove listener and clear timeout once response is captured + clearTimeout(timeout); + page.off("response", handleResponse); + resolve(resJson || []); + } + } catch (ex) { + // Remove listener and clear timeout on error + clearTimeout(timeout); + page.off("response", handleResponse); + reject(ex); + } + }; + + page.on("response", handleResponse); + }); + }; + try { await new Promise((resolve) => setTimeout(resolve, 2_000)); // set the pagination to 100 / page @@ -150,38 +183,6 @@ const emailUtils = require("./email-utils"); await page.click(pagesPerPageSelector); await new Promise((resolve) => setTimeout(resolve, 1_000)); - /** - * Capture response - */ - const checkShippingLabelResponse = async (page, timer) => { - return new Promise((resolve, reject) => { - // Timeout mechanism to resolve with an empty list after 5 seconds - const timeout = setTimeout(() => { - page.off("response", handleResponse); // Remove listener on timeout - resolve([]); // Resolve with an empty list - }, timer); - - const handleResponse = async (res) => { - try { - const req = res.request(); - if (req.url().includes("/batch_print_shipping_label")) { - const resJson = await res.json(); - // Remove listener and clear timeout once response is captured - clearTimeout(timeout); - page.off("response", handleResponse); - resolve(resJson || []); - } - } catch (ex) { - // Remove listener and clear timeout on error - clearTimeout(timeout); - page.off("response", handleResponse); - reject(ex); - } - }; - - page.on("response", handleResponse); - }); - }; } catch (e) { emailUtils.notify(`Download Order Shipping Labels`, e.message); } diff --git a/email-utils.js b/email-utils.js index 1024685..fae4717 100644 --- a/email-utils.js +++ b/email-utils.js @@ -18,7 +18,7 @@ const transporter = nodemailer.createTransport({ // send email using transporter send to multiple tos const notify = (subject, body) => { // params - let recipients = ["saif.haq@utopia.pk", "huzaifa.jiwani@utopia.pk"]; + let recipients = ["saif.haq@utopia.pk"]; let emailSubject = `Utopia Deals Temu FBU ${subject} Job`; let emailBody = `

${body}

`; @@ -39,4 +39,4 @@ const notify = (subject, body) => { }; //export send email function -exports.notify = notify; +exports.notify = notify; \ No newline at end of file diff --git a/state.json b/state.json deleted file mode 100644 index a6f7190..0000000 --- a/state.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "last_updated": "2025-01-27T13:48:11.009+05:00", - "last_page": 1 -} \ No newline at end of file