#!/bin/bash

# Exit on command errors and treat unset variables as an error
set -u

source .fonctions	# Loads the generic functions usually used in the script
# Source app helpers
source /usr/share/yunohost/helpers

# Get multi-instances specific variables
app=$YNH_APP_INSTANCE_NAME

# Retrieve app settings
domain=$(ynh_app_setting_get "$app" domain)

# Stop mastodon-web
if [ -e "/etc/systemd/system/mastodon-web.service" ]; then
	echo "Delete systemd script"
	sudo systemctl stop mastodon-web.service
	ynh_secure_remove "/etc/systemd/system/mastodon-web.service"
	sudo systemctl disable mastodon-web.service
fi

# Stop mastodon-sidekiq
if [ -e "/etc/systemd/system/mastodon-sidekiq.service" ]; then
	echo "Delete systemd script"
	sudo systemctl stop mastodon-sidekiq.service
	ynh_secure_remove "/etc/systemd/system/mastodon-sidekiq.service"
	sudo systemctl disable mastodon-sidekiq.service
fi

# Stop mastodon-sidekiq
if [ -e "/etc/systemd/system/mastodon-streaming.service" ]; then
	echo "Delete systemd script"
	sudo systemctl stop mastodon-streaming.service
	ynh_secure_remove "/etc/systemd/system/mastodon-streaming.service"
	sudo systemctl disable mastodon-streaming.service
fi

# Delete service on Yunohost monitoring
if sudo yunohost service status | grep -q mastodon-web
then
	echo "Remove mastodon-web service"
	sudo yunohost service remove mastodon-web
fi

# Delete service on Yunohost monitoring
if sudo yunohost service status | grep -q mastodon-sidekiq
then
	echo "Remove mastodon-sidekiq service"
	sudo yunohost service remove mastodon-sidekiq
fi

# Delete service on Yunohost monitoring
if sudo yunohost service status | grep -q mastodon-streaming
then
	echo "Remove mastodon-streaming service"
	sudo yunohost service remove mastodon-streaming
fi

# delete postgresql database & user
ynh_psql_drop_db "${app}_production"
ynh_psql_drop_role "${app}"

# Remove Debian package
sudo apt-get remove --purge -y yarn
#sudo apt-get remove --purge -y imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file curl git
# Delete redis package
#sudo apt-get remove --purge -y redis-server redis-tools
# Delete postgresql package
#sudo apt-get remove --purge -y postgresql postgresql-contrib
# Delete Ruby package
#sudo apt-get remove --purge -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

# Delete app directory and configurations
ynh_secure_remove /opt/$app
[[ -n $domain ]] && sudo rm -f "/etc/nginx/conf.d/${domain}.d/${app}.conf"

# Delete nginx configuration
REMOVE_NGINX_CONF

# Delete cronlog
ynh_secure_remove /etc/cron.d/$app
# Delete source.list
ynh_secure_remove /etc/apt/sources.list.d/backports.list
ynh_secure_remove /etc/apt/sources.list.d/yarn.list

# Delete ruby exec
ynh_secure_remove /usr/bin/ruby

# Remove user
sudo userdel -f $app

# Reload services
sudo systemctl reload nginx

echo -e "\e[0m"	# Restore normal color