#!/usr/bin/with-contenv bashio
# ==============================================================================

declare CONFIG
declare incomplete_bool
declare download_dir
declare incomplete_dir
declare USER
declare PASS
declare WHITELIST
declare HOST_WHITELIST

##########################
# IMPORT PREVIOUS FOLDER #
##########################
#if [ -d '/share/transmission' ]; then
#  mkdir -p /config/transmission
#  chown -R abc:abc /config/transmission
#  mv /config/transmission /share/transmission
#  echo "Folder migrated to /config/transmission"
#fi

###############
# PERMISSIONS #
###############
#Default folders
echo "Updating folders" 
mkdir -p /config/transmission || true 
chown -R abc:abc /config/transmission || true

if ! bashio::fs.file_exists '/config/transmission/settings.json'; then
  echo "Creating default config" 
  cp "/defaults/settings.json" "/config/transmission/settings.json"
fi

#################
# CONFIGURATION #
#################
# Variables 
echo "Creating config" 
download_dir=$(bashio::config 'download_dir')
incomplete_dir=$(bashio::config 'incomplete_dir')
CONFIG=$(</config/transmission/settings.json)

# Permissions
echo "Updating permissions" 
mkdir -p $download_dir
chown abc:abc $download_dir

# if incomplete dir > 2, to allow both null and '', set it as existing
if [ ${#incomplete_dir} -ge 2 ]; then
        echo "Incomplete dir set: $incomplete_dir" 
        CONFIG=$(bashio::jq "${CONFIG}" ".\"incomplete-dir-enabled\"=true")
        mkdir -p $incomplete_dir
        chown abc:abc $incomplete_dir
else
        echo "Incomplete dir disabled" 
        CONFIG=$(bashio::jq "${CONFIG}" ".\"incomplete-dir-enabled\"=false")
fi

# Defaults
CONFIG=$(bashio::jq "${CONFIG}" ".\"incomplete-dir\"=\"${incomplete_dir}\"")
CONFIG=$(bashio::jq "${CONFIG}" ".\"download-dir\"=\"${download_dir}\"")
CONFIG=$(bashio::jq "${CONFIG}" ".\"rpc-whitelist-enabled\"=false")
CONFIG=$(bashio::jq "${CONFIG}" ".\"rpc-host-whitelist-enabled\"=false")
CONFIG=$(bashio::jq "${CONFIG}" ".\"bind-address-ipv4\"=\"0.0.0.0\"")

echo "${CONFIG}" > /config/transmission/settings.json

################
# Alternate UI #
################

if bashio::config.has_value 'customUI'; then
  ### Variables
  CUSTOMUI=$(bashio::config 'customUI')
  if [ "$CUSTOMUI" != "flood-for-transmission" ]; then
    echo "Setting custom UI"
    mv /flood-for-transmission /a
    mv /$CUSTOMUI /flood-for-transmission
  fi
fi
bashio::log.info "UI selected : $CUSTOMUI" 

####################
# From linuxserver #
####################

#if [ ! -z "$USER" ] && [ ! -z "$PASS" ]; then
#	sed -i '/rpc-authentication-required/c\    "rpc-authentication-required": true,' /config/transmission/settings.json
#	sed -i "/rpc-username/c\    \"rpc-username\": \"$USER\"," /config/transmission/settings.json
#	sed -i "/rpc-password/c\    \"rpc-password\": \"$PASS\"," /config/transmission/settings.json
#else
#	sed -i '/rpc-authentication-required/c\    "rpc-authentication-required": false,' /config/transmission/settings.json
#	sed -i "/rpc-username/c\    \"rpc-username\": \"$USER\"," /config/transmission/settings.json
#	sed -i "/rpc-password/c\    \"rpc-password\": \"$PASS\"," /config/transmission/settings.json
#fi
#
#if [ ! -z "$WHITELIST" ]; then
#	sed -i '/rpc-whitelist-enabled/c\    "rpc-whitelist-enabled": true,' /config/transmission/settings.json
#	sed -i "/\"rpc-whitelist\"/c\    \"rpc-whitelist\": \"$WHITELIST\"," /config/transmission/settings.json
#else
#	sed -i '/rpc-whitelist-enabled/c\    "rpc-whitelist-enabled": false,' /config/transmission/settings.json
#	sed -i "/\"rpc-whitelist\"/c\    \"rpc-whitelist\": \"$WHITELIST\"," /config/transmission/settings.json
#fi
#
#if [ ! -z "$HOST_WHITELIST" ]; then
#	sed -i '/rpc-host-whitelist-enabled/c\    "rpc-host-whitelist-enabled": true,' /config/transmission/settings.json
#	sed -i "/\"rpc-host-whitelist\"/c\    \"rpc-host-whitelist\": \"$HOST_WHITELIST\"," /config/transmission/settings.json
#else
#	sed -i '/rpc-host-whitelist-enabled/c\    "rpc-host-whitelist-enabled": false,' /config/transmission/settings.json
#	sed -i "/\"rpc-host-whitelist\"/c\    \"rpc-host-whitelist\": \"$HOST_WHITELIST\"," /config/transmission/settings.json
#fi
