#!/bin/bash

db_name=$1
db_user="ebox"

create_db()
{
    echo "Creating the $db_name database"
    su postgres -c "createdb $db_name"
    su postgres -c "createuser -R -S -D $db_user"
    su postgres -c "psql -d $db_name -c \"GRANT ALL ON DATABASE $db_name TO $db_user\""

    /usr/share/ebox/ebox-sql-table add admin /usr/share/ebox/sqllog/admin.sql
    /usr/share/ebox/ebox-sql-table add consolidation /usr/share/ebox/sqllog/consolidation.sql

    /usr/share/ebox/ebox-sql-table add events /usr/share/ebox/sqllog/events.sql

    /usr/share/ebox/ebox-sql-table-with-time-period add events_accummulated /usr/share/ebox/sqllog/events_accummulated.sql
    /usr/share/ebox/ebox-sql-table add events_report /usr/share/ebox/sqllog/events_report.sql

    /usr/share/ebox/ebox-sql-table add report_consolidation /usr/share/ebox/sqllog/report_consolidation.sql

    /usr/share/ebox/ebox-sql-table add sysinfo_disk_usage /usr/share/ebox/sqllog/sysinfo_disk_usage.sql
    /usr/share/ebox/ebox-sql-table add sysinfo_disk_usage_report /usr/share/ebox/sqllog/sysinfo_disk_usage_report.sql
    /usr/share/ebox/ebox-sql-table add events /usr/share/ebox/sqllog/events.sql
    /usr/share/ebox/ebox-sql-table add backup_slices /usr/share/ebox/sqllog/backup_slices.sql
}

# Check if we can connect to postgresql now
su postgres -c 'psql -Alt' >& /dev/null || exit 1

su postgres -c 'psql -Alt' | grep -q "^$db_name|" && db_exists=1 || db_exists=0 || true
if [ $db_exists -eq 0 ]; then
    create_db
fi

touch /var/lib/ebox/.db-created
