#!/bin/bash
# info: change user default template
# options: USER TYPE TEMPLATE
#
# example: v-change-user-template admin WEB wordpress
#
# This function changes default user web template.

#----------------------------------------------------------#
#                Variables & Functions                     #
#----------------------------------------------------------#

# Argument definition
user=$1
type=$(echo "$2" | tr '[:lower:]' '[:upper:]')
template=$3

# Includes
# shellcheck source=/etc/hestiacp/hestia.conf
source /etc/hestiacp/hestia.conf
# shellcheck source=/usr/local/hestia/func/main.sh
source $HESTIA/func/main.sh
# shellcheck source=/usr/local/hestia/func/domain.sh
source $HESTIA/func/domain.sh
# load config file
source_conf "$HESTIA/conf/hestia.conf"

#----------------------------------------------------------#
#                    Verifications                         #
#----------------------------------------------------------#

check_args '3' "$#" 'USER TYPE TEMPLATE'
is_format_valid 'user' 'template'
is_object_valid 'user' 'USER' "$user"
is_object_unsuspended 'user' 'USER' "$user"

# Perform verification if read-only mode is enabled
check_hestia_demo_mode

#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#

case $type in
	WEB)
		is_web_template_valid "$template"
		update_user_value "$user" '$WEB_TEMPLATE' "$template"
		;;
	PROXY)
		is_proxy_template_valid "$template"
		update_user_value "$user" '$PROXY_TEMPLATE' "$template"
		;;
	BACKEND)
		is_backend_template_valid "$template"
		update_user_value "$user" '$BACKEND_TEMPLATE' "$template"
		;;
	DNS)
		is_dns_template_valid "$template"
		update_user_value "$user" '$DNS_TEMPLATE' "$template"
		;;
	*) check_args '1' '0' 'USER TYPE TEMPLATE' ;;
esac

#----------------------------------------------------------#
#                       Hestia                             #
#----------------------------------------------------------#

# Logging
$BIN/v-log-action "$user" "Info" "Web" "Default domain template changed (Type: $type, Template: $template)."
log_event "$OK" "$ARGUMENTS"

exit