#!/bin/bash
#Common functions used for several makeuser scripts

error_exit() {
  echo -e "${PROGNAME}: ${1:-"Unknown Error"}" >&2
  exit 1
}

usage() {
  echo -e "usage: $PROGNAME [-h|--help] <username> <email> <pubkey>"
}

sub_to_list() {
  echo "From: $1 Subject: subscribe" | sudo -u $1 mail $LIST_NAME
}

remove_user()
{
  echo "Unsubscribe from this list..."
  echo "From: $1 Subject: unsubscribe " | sudo -u $1 mail $LIST_NAME

  echo "Deleting account from system..."
  sudo userdel $1
  sudo rm -rf /home/$1

  echo "User $1 removed from system." | sudo mail -s "User Account $1 removed from Thunix" $ADMIN_EMAIL
}

backup_user_data()
{
  echo "Archiving home dir..."
  sudo tar cfz $BACKUP_USER_DATA/$1.tgz /home/$1
}

#Common functions used for Databases management scripts

database_create()
{
sudo mysql -u root << _EOF
CREATE DATABASE $DATABASE;
GRANT ALL PRIVILEGES ON $DATABASE.* TO '$USER'@'localhost' IDENTIFIED BY '$PASSWORD';
FLUSH PRIVILEGES;
_EOF
}

database_backup()
{
  sudo mysqldump -u root $DATABASE | gzip > /tmp/$DATABASE.sql.gz
  sudo mv /tmp/$DATABASE.sql.gz $BACKUP_USER_DATA/
}

database_remove()
{
sudo mysql -u root << _EOF
DROP DATABASE $DATABASE;
REVOKE ALL PRIVILEGES ON $DATABASE.* FROM '$USER'@'localhost';
FLUSH PRIVILEGES;
_EOF
}
