#!/bin/zsh

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

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

# leave args blank and get prompted for them
if [[ -z "$account_ids" || -z "$ticket_num" || -z "$dev_username" ]]; then
  [[ -z "$account_ids" ]] && read "?Enter account_ids (comma separated): " account_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-accounts.template.sql"
local filename="./royalty_accounting/build/changelog/dml/${ticket_num}_hard_delete_accounts.sql"

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

sed \
  -e "s/%account_ids/$account_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"
