bid-tool/auto-bid-tool/models/bid.js

45 lines
1.1 KiB
JavaScript

import BID_TYPE from "../system/bid-type.js";
import CONSTANTS from "../system/constants.js";
import { takeSnapshot } from "../system/utils.js";
import _ from "lodash";
export class Bid {
type;
puppeteer_connect;
url;
action;
page_context;
constructor(type, url, puppeteer_connect) {
this.type = type;
this.url = url;
this.puppeteer_connect = puppeteer_connect;
}
handleTakeWorkSnapshot = _.debounce(async () => {
if (!this.page_context) return;
try {
// await this.page_context.waitForSelector('#pageContainer', { timeout: 10000 });
console.log(
`✅ Page fully loaded. Taking snapshot for ${
this.type === BID_TYPE.PRODUCT_TAB ? "Product ID" : "Tracking ID"
}: ${this.id}`
);
takeSnapshot(
this.page_context,
this,
"working",
CONSTANTS.TYPE_IMAGE.WORK
);
} catch (error) {
console.error(
`❌ Error taking snapshot for Product ID: ${this.id}:`,
error.message
);
}
}, 1000);
async isLogin() {}
}