#!/usr/bin/env bash

set -euo pipefail

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
PROJECT_DIR="$(dirname "$DIR")"

cd $PROJECT_DIR/swagger

API_DOC_DIR=$PROJECT_DIR/swagger/doc.json
OPENAPI_CONFIG_DIR=$PROJECT_DIR/swagger/.openapi_config.yaml
OUTPUT_DIR=$PROJECT_DIR/src/client/api

# touch doc.json && rm doc.json

if [ ${DEPLOY_ENV:-''} = 'dev' ]; then
  SPEC_JSON_PATH=http://clinic-dev-1923272735.us-west-2.elb.amazonaws.com:8085/chaos/swagger/doc.json
else
  SPEC_JSON_PATH=http://clinic-staging-1072990385.us-west-2.elb.amazonaws.com:8085/chaos/swagger/doc.json
fi

# curl -fsSLO ${SPEC_JSON_PATH}

pnpm openapi-generator-cli generate -i $API_DOC_DIR -g typescript-axios -c $OPENAPI_CONFIG_DIR -o $OUTPUT_DIR

rm -rf $OUTPUT_DIR/.openapi-generator
rm $OUTPUT_DIR/.gitignore
rm $OUTPUT_DIR/.npmignore
rm $OUTPUT_DIR/.openapi-generator-ignore
rm $OUTPUT_DIR/git_push.sh
