#!/bin/bash

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

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

#=================================================
# LOAD SETTINGS
#=================================================

app=$YNH_APP_INSTANCE_NAME

domain=$(ynh_app_setting_get $app domain)
port=$(ynh_app_setting_get $app port)
dbname=$(ynh_app_setting_get $app dbname)
dbpass=$(ynh_app_setting_get $app dbpass)
dbuser=$dbname
final_path=$(ynh_app_setting_get $app final_path)

#=================================================
# STANDARD REMOVE
#=================================================
# STOP AND REMOVE SERVICE
#=================================================

# Remove the dedicated systemd config
ynh_remove_systemd_config

#=================================================
# REMOVE SERVICE FROM ADMIN PANEL
#=================================================

if yunohost service status | grep -q $app
then
	echo "Remove $app service"
	yunohost service remove $app
fi

#=================================================
# REMOVE THE MONGO DATABASE
#=================================================

mongo --shell "$dbname" --eval 'db.dropUser("'${dbuser}'", {w: "majority", wtimeout: 5000})' <<< exit
#mongo -u $dbuser -p$dbpass --authenticationDatabase $dbname --shell "$dbname" --eval 'db.dropUser('dbuser');' <<< exit
mongo --shell "$dbname" --eval 'db.runCommand({dropDatabase: 1})' <<< exit
#mongo -u $dbuser -p$dbpass --authenticationDatabase $dbname --shell "$dbname" --eval 'db.dropDatabase();' <<< exit


#=================================================
# REMOVE DEPENDENCIES
#=================================================

# Remove metapackage and its dependencies
ynh_remove_app_dependencies

#=================================================
# REMOVE APP MAIN DIR
#=================================================

# Remove the app directory securely
ynh_secure_remove "$final_path"

#=================================================
# REMOVE NGINX CONFIGURATION
#=================================================

# Remove the dedicated nginx config
ynh_remove_nginx_config

#=================================================
# REMOVE PHP-FPM CONFIGURATION
#=================================================

# Remove the dedicated php-fpm config
#ynh_remove_fpm_config

#=================================================
# REMOVE LOGROTATE CONFIGURATION
#=================================================

# Remove the app-specific logrotate config
ynh_remove_logrotate

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

if yunohost firewall list | grep -q "\- $port$"
then
	echo "Close port $port"
	yunohost firewall disallow TCP $port 2>&1
fi

#=================================================
# GENERIC FINALIZATION
#=================================================
# REMOVE DEDICATED USER
#=================================================

# Delete a system user
ynh_system_user_delete $app