#!/bin/bash

source "$ROOT_PATH"/scripts/common.sh
set -eo pipefail

# Function to handle errors
handle_error() {
    echo_red_bg "Error: $1"
    exit 1
}

echo_green "Sending terragrunt plan to Github Step Summary..."

PLANNED_CHANGES=$(echo "$TG_PLAN" | grep "Plan: " || echo "")

if [[ "${PLANNED_CHANGES}" == "" ]]; then
  echo "Couldn't find any planned changes output." >> $GITHUB_STEP_SUMMARY
else
    numbers=($(echo "$PLANNED_CHANGES" | grep -oP '\d+'))
    # Assign each number to a separate variable
    to_add=${numbers[0]}
    to_change=${numbers[1]}
    to_destroy=${numbers[2]}

    echo "### Plan summary: :rocket:" >> $GITHUB_STEP_SUMMARY
    echo "| Action                 | Resources   |" >> $GITHUB_STEP_SUMMARY
    echo "|------------------------|-------------|" >> $GITHUB_STEP_SUMMARY
    echo "| Add :white_check_mark: | $to_add     |" >> $GITHUB_STEP_SUMMARY
    echo "| Change :wrench:        | $to_change  |" >> $GITHUB_STEP_SUMMARY
    echo "| Destroy :red_circle:   | $to_destroy |" >> $GITHUB_STEP_SUMMARY
fi

echo "<details><summary>Expand for Terraform plan full output</summary>" >> $GITHUB_STEP_SUMMARY
echo "" >> "$GITHUB_STEP_SUMMARY"
echo "$TG_PLAN" >> "$GITHUB_STEP_SUMMARY"
echo "</details>" >> $GITHUB_STEP_SUMMARY