export class ScrapModel {
  constructor({ keywords, search_url, scrap_config_id, page, web_bid }) {
    this.keywords = keywords;
    this.search_url = search_url;
    this.scrap_config_id = scrap_config_id;
    this.results = {};
    this.page = page;
    this.web_bid = web_bid;
  }

  buildUrlWithKey(rawUrl, keyword) {
    return rawUrl.replaceAll("{{keyword}}", keyword);
  }

  extractUrls() {
    const keywordList = this.keywords.split(", ");
    if (keywordList.length <= 0) return [];

    return keywordList.map((keyword) => ({
      url: this.buildUrlWithKey(this.search_url, keyword),
      keyword,
    }));
  }

  filterItemByKeyword(keyword, data) {
    return data.filter((item) =>
      item.name.toLowerCase().includes(keyword.toLowerCase())
    );
  }

  // Phần này bạn cần truyền từ bên ngoài khi khởi tạo hoặc kế thừa class:
  action = async (page) => {};
  getInfoItems = (data) => [];
  getItemsInHtml = async (data) => [];
}
