"use strict";
const { CRAWLER_AD_TYPE, AD_CATEGORY } = require("../../common/enums");

const aktidoCrawlerAdType =
  process.env.AKTIDO_CRAWLER_AD_TYPE !== undefined
    ? CRAWLER_AD_TYPE[process.env.AKTIDO_CRAWLER_AD_TYPE]
    : null;

const aktidoParsedCrawlerAdCategories =
  process.env.AKTIDO_CRAWLER_AD_CATEGORIES !== undefined
    ? process.env.AKTIDO_CRAWLER_AD_CATEGORIES.split(",").map(category =>
        category.trim()
      )
    : ["FLAT", "HOUSE"];

const aktidoIgnoredUsernames = [];

const transformedAktidoCrawlerAdCategories = aktidoParsedCrawlerAdCategories
  .map(categoryName =>
    AD_CATEGORY[categoryName] ? AD_CATEGORY[categoryName].id : undefined
  )
  .filter(category => !!category);

module.exports = {
  AKTIDO_MAX_PAGES: parseInt(process.env.AKTIDO_MAX_PAGES) || 500,
  AKTIDO_MAX_RESULTS_PER_PAGE:
    parseInt(process.env.AKTIDO_MAX_RESULTS_PER_PAGE) || 50,
  AKTIDO_CRAWLER_AD_TYPE: aktidoCrawlerAdType || CRAWLER_AD_TYPE.NONE,
  AKTIDO_CRAWLER_AD_CATEGORIES: transformedAktidoCrawlerAdCategories,
  AKTIDO_IGNORED_USERNAMES: aktidoIgnoredUsernames || [],
  AKTIDO_DELAY_BETWEEN_PAGES:
    parseInt(process.env.AKTIDO_DELAY_BETWEEN_PAGES) || 1000,
  AKTIDO_FORCE_CRAWL: !!parseInt(process.env.AKTIDO_FORCE_CRAWL)
};
