import { optionalAddons } from "@/data/onboarding";
import type { Addon } from "@/types/plan";

const MODULE_SLUG_ALIASES: Record<string, string> = {
  ai: "ai-integration",
};

/** Mapeia seleções do configurador para IDs de addons na API. */
export function resolveCheckoutAddonIds(
  optionalAddonIds: string[],
  developmentModuleIds: string[],
  catalogAddons: Addon[],
): number[] {
  const slugs = new Set<string>();

  for (const id of optionalAddonIds) {
    const opt = optionalAddons.find((o) => o.id === id);
    slugs.add(opt?.moduleId ?? id);
  }

  for (const id of developmentModuleIds) {
    slugs.add(MODULE_SLUG_ALIASES[id] ?? id);
  }

  const ids = catalogAddons
    .filter((a) => a.id > 0 && slugs.has(a.slug))
    .map((a) => a.id);

  return [...new Set(ids)];
}
