#!/bin/bash

set -e

# Parse arguments

code_path=''
while [[ "$#" -gt 0 ]]; do case $1 in
  --code-path) code_path="$2"; shift;;
esac; shift; done

working_dir=$(pwd)
script_dir="$( cd -- "$( dirname -- "${BASH_SOURCE[0]:-$0}"; )" &> /dev/null && pwd 2> /dev/null; )";

# load common package manager helper functions
. "$script_dir/../../common/common.sh"

# Create a temporary directory
tmp_dir=$(mktemp -d "${TMPDIR:-/tmp/}clean-code.XXXXXXXXX")
cd $tmp_dir

log "clean-openapi-generated-code :: tmp_dir :: $tmp_dir"

# Copy the script directory into the temp directory
cp -r $script_dir/* .

# Install dependencies
install_packages \
  typescript@4.7.2 \
  @types/node@14.14.20 \
  ts-node@10.8.1 \
  ts-command-line-args@2.3.1

# Run the cleanup script
run_command "ts-node clean-openapi-generated-code.ts --codePath=$script_dir/$client_path"

# Clean up
cd $working_dir
rm -rf $tmp_dir
