#!/bin/bash

echo
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo
echo "You are about to _DELETE_ following data from UCS node `hostname`:"
echo " * calls (call history, callbacks, CDR, QDR)"
echo " * call recordings"
echo " * FAX messages"
echo " * SMS messages"
echo " * e-mail messages"
echo " * chat messages"
echo " * uCRM contacts and tasks"
echo " * statistics (queue stats, agents stats, agent logins, agent ratings)"
echo
echo " UCS will be STOPPED!"
echo
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo
read -p'If you are 100% sure type "YES I KNOW WHAT I AM DOING": ' answer
echo
if [ "$answer" != "YES I KNOW WHAT I AM DOING" ]; then
    echo "Terminating..."
    exit 1
fi

for i in {10..6}; do
    echo "Will DELETE data from `hostname` in $i seconds!"
    sleep 1
done

echo
read -p'You can still interrupt it... to continue type "DELETE DATA": ' answer
echo
if [ "$answer" != "DELETE DATA" ]; then
    echo "Terminating..."
    exit 1
fi

for i in {5..1}; do
    echo "Will DELETE data from `hostname` in $i seconds!"
    sleep 1
done

echo
echo "Deleting UCS data from `hostname`!"

echo " * Terminating UCS..."
if [ -L /opt/ucs ]; then # cluster
  crm resource stop UCS
else # standalone
  service ucs stop
fi

echo " * Removing recordings..."
for storage in `echo "SELECT storage FROM recording_sources"|sudo -u postgres psql ucs -At|sed 's/%[Ymd]/*/g'`; do
  rm -rf $storage
done

echo " * Removing unprocessed recordings..."
rm -rf /var/spool/asterisk/monitor/*

echo " * Removing e-mails..."
rm -rf /var/spool/ucs/email/[0-9]*

echo " * Removing FAX messages..."
rm -rf /var/spool/asterisk/fax/*

echo " * Cleaning up database..."
sudo -u postgres psql ucs <<EOF
BEGIN;
TRUNCATE agent_logins CASCADE;
TRUNCATE agent_stats CASCADE;
TRUNCATE ast_cdr CASCADE;
TRUNCATE ast_cdr_fix CASCADE;
TRUNCATE cdr CASCADE;
TRUNCATE cdr_tags CASCADE;
TRUNCATE chat_msgs CASCADE;
TRUNCATE chat_session_members CASCADE;
TRUNCATE chat_sessions CASCADE;
TRUNCATE companies CASCADE;
TRUNCATE company_persons CASCADE;
TRUNCATE contacts CASCADE;
TRUNCATE email_history CASCADE;
TRUNCATE email_persons CASCADE;
TRUNCATE email_stats CASCADE;
TRUNCATE email_tags CASCADE;
TRUNCATE emails CASCADE;
TRUNCATE fax_journal CASCADE;
TRUNCATE fax_queue CASCADE;
TRUNCATE interaction_tags CASCADE;
TRUNCATE interactions CASCADE;
TRUNCATE outbound_numbers CASCADE;
TRUNCATE outbound_stats CASCADE;
TRUNCATE persons CASCADE;
TRUNCATE queue_detail_records CASCADE;
TRUNCATE queue_stats CASCADE;
TRUNCATE rating_results CASCADE;
TRUNCATE recording CASCADE;
TRUNCATE sms CASCADE;
TRUNCATE task_history CASCADE;
TRUNCATE task_persons CASCADE;
TRUNCATE task_tags CASCADE;
TRUNCATE tasks CASCADE;
TRUNCATE users_presence CASCADE;
COMMIT;
EOF

echo " * Starting UCS..."
if [ -L /opt/ucs ]; then # cluster
  crm resource start UCS
else # standalone
  service ucs start
fi

echo
echo "Data has been removed."
echo
