#!/bin/bash

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

#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
source /usr/share/yunohost/helpers

#=================================================
# MANAGE SCRIPT FAILURE
#=================================================
# Exit if an error occurs during the execution of the script
ynh_abort_if_errors

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

app=$YNH_APP_INSTANCE_NAME

final_path=$(ynh_app_setting_get --app=$app --key=final_path)

#=================================================
# STANDARD BACKUP STEPS
#=================================================
# clean folder
ynh_secure_remove --file="$final_path/backup"
mkdir -p $final_path/backup

#=================================================
# BACKUP DIASPORA DATABASE
#=================================================
ynh_print_info --message="Backup Diaspora DB..."

db_pass=$(ynh_app_setting_get --app=$app --key=psqlpwd)
dump_file="$final_path/backup/$app.dump"
pg_dump -d "dbname=$app user=$app password=$db_pass host=localhost" -Fc -f $dump_file
ynh_backup --src_path="$dump_file"

#=================================================
# BACKUP DIASPORA UPLOADS
#=================================================

if [ -x $final_path/diaspora/public/uploads ]; then
  ynh_backup --src_path="$final_path/diaspora/public/uploads"
else
  echo "uploads folder does not exist. Skipping."
fi

#=================================================
# BACKUP CONF FILES
#=================================================

ynh_backup --src_path="$final_path/diaspora/config/database.yml"
ynh_backup --src_path="$final_path/diaspora/config/diaspora.yml"

#=================================================
# END OF SCRIPT
#=================================================
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."