async function updateBranchesCTR()

in lib/nimbusRecipeCollection.ts [20:51]


async function updateBranchesCTR(recipe: NimbusRecipe): Promise<BranchInfo[]> {
  return await Promise.all(
    recipe
      .getBranchInfos()
      .map(async (branchInfo: BranchInfo): Promise<BranchInfo> => {
        if (branchInfo.nimbusExperiment.appName === "fenix") {
          console.log(branchInfo.id + ": " + branchInfo.template);
        }
        const proposedEndDate = getExperimentLookerDashboardDate(
          branchInfo.nimbusExperiment.startDate,
          branchInfo.nimbusExperiment.proposedDuration,
        );
        // We are making all branch ids upper case to make up for
        // Looker being case sensitive
        const ctrPercentData = await getCTRPercentData(
          branchInfo.id,
          branchInfo.nimbusExperiment.appName,
          branchInfo.template!,
          undefined,
          branchInfo.nimbusExperiment.slug,
          branchInfo.slug,
          branchInfo.nimbusExperiment.startDate,
          proposedEndDate,
        );
        if (ctrPercentData) {
          branchInfo.ctrPercent = ctrPercentData.ctrPercent;
          branchInfo.impressions = ctrPercentData.impressions;
        }
        return branchInfo;
      }),
  );
}