#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ACTION_FILE="${ROOT_DIR}/salesforce-crm-standard/actions/invocable_standard_actions.json"
UI_ACTIONS_FILE="${ROOT_DIR}/salesforce-crm-standard/actions/ui_actions.json"

jq -e '
  map(select(.name == "convertLead"))[0] as $action
  | ($action.config.leadConvertPreview.campaignAttribution.enabled == true)
  and ($action.config.leadConvertPreview.campaignAttribution.source == "CampaignMember")
  and ($action.config.leadConvertMatch.contactByAccountAndEmail.enabled == true)
  and ($action.config.leadConvertMatch.contactByAccountAndEmail.accountInput == "accountId")
  and ($action.config.leadConvertMatch.contactByAccountAndEmail.emailField == "Email")
' "${ACTION_FILE}" >/dev/null

jq -e '
  map(select(.name == "Convert Lead" and .objectApiName == "Lead"))[0] as $action
  | ($action.config.visibilityCondition == "record.IsConverted != true")
  and ($action.config.convertedState.readOnly == true)
  and ($action.config.convertedState.banner.variant == "info")
  and ($action.config.convertedState.links.accountField == "ConvertedAccountId")
  and ($action.config.convertedState.links.contactField == "ConvertedContactId")
  and ($action.config.convertedState.links.opportunityField == "ConvertedOpportunityId")
' "${UI_ACTIONS_FILE}" >/dev/null
