#!/bin/bash

#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================

source _common.sh
source /usr/share/yunohost/helpers

#=================================================
# LOAD SETTINGS
#=================================================
ynh_script_progression --message="Loading installation settings..."

app=$YNH_APP_INSTANCE_NAME

firmware_nonfree=$(ynh_app_setting_get --app=$app --key=firmware_nonfree)
service_name=$(ynh_app_setting_get --app=$app --key=service_name)

#=================================================
# STANDARD REMOVE
#=================================================
# REMOVE SERVICE INTEGRATION IN YUNOHOST
#=================================================

# Remove the service from the list of services known by Yunohost (added from `yunohost service add`)
if yunohost service status $service_name >/dev/null 2>&1
then
	ynh_script_progression --message="Removing $app service"
	yunohost service stop $service_name
	yunohost service remove $service_name
fi
if yunohost service status captiveportal_fakedns >/dev/null 2>&1
then
	ynh_script_progression --message="Removing $app captiveportal_fakedns service"
	yunohost service stop captiveportal_fakedns
	yunohost service remove captiveportal_fakedns
fi

#=================================================
# STOP AND REMOVE SERVICE
#=================================================
ynh_script_progression --message="Stopping and removing the systemd service..."

# Remove the dedicated systemd config
ynh_remove_systemd_config --service=$service_name
ynh_remove_systemd_config --service=captiveportal_fakedns

#=================================================
# REMOVE DEPENDENCIES
#=================================================
ynh_script_progression --message="Removing dependencies..."

# Remove metapackage and its dependencies
ynh_remove_app_dependencies

#=================================================
# REMOVE APP MAIN DIR
#=================================================
ynh_script_progression --message="Removing app main directory..."

# Remove the app directory securely
ynh_secure_remove --file="/usr/local/bin/$service_name"
ynh_secure_remove --file="/usr/local/bin/captiveportal_fakedns"
ynh_secure_remove --file="/usr/local/bin/captiveportal_allow"
ynh_secure_remove --file="/etc/hotspot"

for FILE in $(ls /tmp/.ynh-hotspot-* 2>/dev/null)
do
    ynh_secure_remove --file="$FILE"
done

# Remove confs
ynh_secure_remove --file="/etc/dnsmasq.dhcpd/dhcpdv6.conf.tpl"
ynh_secure_remove --file="/etc/dnsmasq.dhcpd/dhcpdv4.conf.tpl"
for FILE in $(ls /etc/hostapd/hostapd.*.conf 2>/dev/null)
do
    ynh_secure_remove --file="$FILE"
done

#=================================================
# CLOSE A PORT
#=================================================

if yunohost firewall list | grep -q "\- 547$"
then
	ynh_script_progression --message="Closing port 547"
	ynh_exec_warn_less yunohost firewall disallow TCP 547
fi


if yunohost firewall list | grep -q "\- 67$"
then
	ynh_script_progression --message="Closing port 67"
	ynh_exec_warn_less yunohost firewall disallow TCP 67
fi

#=================================================
# GENERIC FINALIZATION
#=================================================
# REMOVE DEDICATED USER
#=================================================
ynh_script_progression --message="Removing the dedicated system user..."

# Delete a system user
ynh_system_user_delete --username=$app

#=================================================
# END OF SCRIPT
#=================================================

ynh_script_progression --message="Removal of $app completed"