#!/bin/bash

# Simple script to add/drop tables and grant permissions 
# for the  ebox logging database

db_name=$(perl -e 'use EBox::Config; print EBox::Config::configkey("eboxlogs_dbname")');
db_user=$(perl -e 'use EBox::Config; print EBox::Config::configkey("eboxlogs_dbuser")');
table_name="$2"
sql_file="$3"

add_table()
{
        test -z $table_name && echo "missing table parameter" && exit 1

	test -z $sql_file && echo "missing SQL file parameter" && exit 1
        test -f $sql_file || (echo "$sql_file does not exist" && exit 1)

        su postgres -c "psql -f $sql_file $db_name" > /dev/null 2>&1;
        su postgres -c "psql -c \"GRANT SELECT, INSERT, UPDATE, DELETE ON $table_name TO $db_user\" $db_name" > /dev/null 2>&1;
}

drop_table()
{
        test -z $table_name && echo "table is empty" && exit 1
        su postgres -c "psql -c \"DROP TABLE $table_name\" $db_name";
}



case "$1" in
        add)
                add_table
                ;;
        drop)
                drop_table
                ;;
        *)
                echo "Usage: $0 [add table file | drop table]"
                exit 1
                ;;
esac

