#!/bin/bash
while getopts ":s:d:u:p:" opt; do
    case $opt in
        s)
            SITE="$OPTARG"
            ;;
        d)
            DB="$OPTARG"
            ;;
        u)
            USER="$OPTARG"
            ;;
        p)
            PASS="$OPTARG"
            ;;
        \?)
            echo "Invalid option: -$OPTARG" >&2
            echo "Usage: $0 -s coffeeparts.ku.io -d sku_coffeeparts -u coffeeparts" >&2
            echo "" >&2
            echo "    Options:" >&2
            echo "             -s    <SITE_NAME> to access folders for the given site in /var/www. Eg.: coffeeparts.sku.io" >&2
            echo "             -d    <DATABASE> to create the database if it does not exist. Eg.: sku_coffeeparts" >&2
            echo "             -u    <DB_USER> to create it and grant it privileges to the database. Eg.: coffeeparts" >&2
            echo "             -p    <DB_PASSWORD> to set as the password for that user. Eg.: XXXXXXXXX" >&2
            echo "" >&2
            exit 1
            ;;
        :)
            echo "Option -$OPTARG requires an argument." >&2
            exit 1
            ;;
    esac
done

if [[ ( -z "${SITE}" ) || ( -z "${DB}" ) || ( -z "${USER}" ) || ( -z "${PASS}" ) ]]
then
    echo "You must specify site name with -s <SITE_NAME> (example: clientname.sku.io)" >&2
    echo "database name with -d <DATABASE> (example: clientname)" >&2
    echo "MariaDB user with -u <DB_USER> (example: clientname)" >&2
    echo "and MariaDB password with -p <DB_PASSWORD> (example: XXXXXXXXX)" >&2
    exit 1
fi

echo "Settig up MariaDB site for: ${SITE}"

echo "CREATE DATABASE IF NOT EXISTS ${DB};" | mysql
echo "CREATE USER IF NOT EXISTS '${USER}'@'localhost' IDENTIFIED BY '${PASS}';" | mysql
echo "GRANT ALL PRIVILEGES ON ${DB}.* TO '${USER}'@'localhost';" | mysql
