#!/bin/zsh

# Given one or more comma separated contract IDs, delete them from the database.

local contract_ids=$1
local ticket_num=$2
local dev_username=$3

# leave args blank and get prompted for them
if [[ -z "$contract_ids" || -z "$ticket_num" || -z "$dev_username" ]]; then
  [[ -z "$contract_ids" ]] && read "?Enter contract_ids (comma separated): " contract_ids
  [[ -z "$ticket_num" ]] && read "?Enter ticket_num: " ticket_num
  [[ -z "$dev_username" ]] && read "?Enter dev_username: " dev_username
fi

local template="./scripts/templates/hard-delete-contracts.template.sql"
local filename="./royalty_accounting/build/changelog/dml/${ticket_num}_hard_delete_contracts.sql"

local rollback_id=$(echo "$ticket_num" | sed 's/[ -]/_/g')
local contract_id_list=$(sed -E 's/[[:space:]]*([0-9]+)[[:space:]]*/(\1)/g' <<< "$contract_ids")

sed \
  -e "s/%contract_ids/$contract_id_list/g" \
  -e "s/%dev_username/$dev_username/g" \
  -e "s/%ticket_num/$ticket_num/g" \
  -e "s/%rollback_id/$rollback_id/g" \
  "$template" > "$filename"

echo -e "\nSQL file created: $filename"
