#!/bin/bash

PROVIDER="MySql"
JSON_FILE="appsettings.Production.json"
HES_PORT="5000"

while [ -n "$1" ]
do
        if [ -z "$2" ]  
        then
            echo "ERROR! no values specified after "$1" !" | tee -a $LOG_FILE
            echo "$USAGE"
            exit 1
        fi
        param="$2"

        case "$1" in
                --provider)
                     PROVIDER=$param
                        shift ;;
                --domain_name)
                     DOMAIN_NAME=$param
                        shift ;;
                --database_name)
                     DATABASE_NAME=$param
                        shift ;;
                --database_user)
                     DATABASE_USER=$param
                        shift ;;
                --database_user_password)
                     DATABASE_USER_PASSWORD=$param
                        shift ;;
                --json_file)
                     JSON_FILE=$param
                        shift ;;
                --hes_port)
                        HES_PORT=$param
                        shift ;;
                --) shift
                break ;;
                *) echo "ERROR! $1 is not an option"
                   echo "$USAGE"
                   exit 1
        esac
        shift
done



DefaultConnection="server=127.0.0.1;port=3306;database=$DATABASE_NAME;uid=$DATABASE_USER;pwd=$DATABASE_USER_PASSWORD"

Provider="MySql"

ConnectionStrings=$(jq -n \
             --arg DefaultConnection "$DefaultConnection" \
             --arg Provider "$Provider" \
              '$ARGS.named'
)
#echo "ConnectionStrings = $ConnectionStrings"

KEY=$(echo $(< /dev/urandom tr -dc 'A-Za-z0-9' | head -c 64))
Encryption=$(jq -n \
             --arg Key "$KEY" \
             '$ARGS.named')
# echo "Encryption = $Encryption"

OriginURL="https://$DOMAIN_NAME"
# echo "OriginURL = $OriginURL"

Application=$(jq -n \
             --arg Origin "$OriginURL" \
             '$ARGS.named')
# echo "Application = $Application"

Url="http://localhost:$HES_PORT"
Http=$(jq -n \
             --arg Url "$Url" \
              '$ARGS.named'
)
#echo "$Http"

Endpoints=$(jq -n \
  --argjson Http "$Http" \
  '$ARGS.named'
)
#echo $Endpoints

Kestrel=$(jq -n \
  --argjson Endpoints "$Endpoints" \
  '$ARGS.named'
)
#echo $Kestrel

json=$(jq -n \
               --argjson ConnectionStrings "$ConnectionStrings" \
               --argjson Encryption "$Encryption"  \
               --argjson Application "$Application"  \
               --argjson Kestrel "$Kestrel"  \
               '$ARGS.named'
)

# echo "$json"
echo "$json" > $JSON_FILE