47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
import axios from "axios";
 | 
						|
import { extractModelId } from "../system/ultils.js";
 | 
						|
import { ScrapModel } from "./scrap-model.js";
 | 
						|
 | 
						|
export class AllbidsScrapModel extends ScrapModel {
 | 
						|
  action = async () => {
 | 
						|
    const urlsData = this.extractUrls();
 | 
						|
 | 
						|
    for (let item of urlsData) {
 | 
						|
      const { data } = await axios({
 | 
						|
        url: item.url,
 | 
						|
        method: "POST",
 | 
						|
        data: {
 | 
						|
          top: 50,
 | 
						|
          skip: 0,
 | 
						|
          sort: {},
 | 
						|
          searchText: item.keyword,
 | 
						|
          filter: {
 | 
						|
            Display: true,
 | 
						|
          },
 | 
						|
          dropship: false,
 | 
						|
        },
 | 
						|
      });
 | 
						|
 | 
						|
      const auctions = data?.auctions || [];
 | 
						|
 | 
						|
      const mappedData = auctions.map((auction) => {
 | 
						|
        return {
 | 
						|
          url: auction.AucDetailsUrlLink,
 | 
						|
          image_url: auction.aucThumbnailUrl,
 | 
						|
          name: auction.aucTitle,
 | 
						|
          keyword: item.keyword,
 | 
						|
          model: extractModelId(auction.AucDetailsUrlLink),
 | 
						|
          current_price: auction.aucCurrentBid,
 | 
						|
          scrap_config_id: this.scrap_config_id,
 | 
						|
        };
 | 
						|
      });
 | 
						|
 | 
						|
      const results = this.filterItemByKeyword(item.keyword, mappedData);
 | 
						|
 | 
						|
      this.results[item.keyword] = results;
 | 
						|
 | 
						|
      console.log({ results: this.results });
 | 
						|
    }
 | 
						|
  };
 | 
						|
}
 |