export function filterExposures()

in src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/filterExposures.ts [12:49]


export function filterExposures(
  exposures: Exposure[],
  filters: FilterState,
): Exposure[] {
  return exposures.filter((exposure) => {
    if (filters.exposureType === "data-breach" && isScanResult(exposure)) {
      return false;
    }
    if (filters.exposureType === "data-broker" && !isScanResult(exposure)) {
      return false;
    }

    const exposureDate = isScanResult(exposure)
      ? new Date(exposure.created_at)
      : new Date(exposure.addedDate);

    if (
      filters.dateFound === "seven-days" &&
      exposureDate.getTime() < getDaysAgoTimestamp(7)
    ) {
      return false;
    }
    if (
      filters.dateFound === "thirty-days" &&
      exposureDate.getTime() < getDaysAgoTimestamp(30)
    ) {
      return false;
    }
    if (
      filters.dateFound === "last-year" &&
      exposureDate.getTime() < getDaysAgoTimestamp(365)
    ) {
      return false;
    }

    return true;
  });
}