#!/bin/bash
#
# vmail-stack
# https://git.stack-source.com/msb/vmail-stack
# Copyright (c) 2022 Matthew Saunders Brown <matthewsaundersbrown@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

# load include file
source $(dirname $0)/vmail.sh

help()
{
  thisfilename=$(basename -- "$0")
  echo "$thisfilename"
  echo "Return default vmail database info."
  echo ""
  echo "usage: $thisfilename [-c] [-h]"
  echo ""
  echo "  -h          Print this help."
  echo "  -c          Output in csv format."
  echo
  echo "              Returns defaults configured in the vm_domains table schema."
  exit
}

vmail:getoptions "$@"

dbcmd="mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE"
dbcmdopts="-s -N -e"

# get "status" default
dbquery="SELECT COLUMN_DEFAULT FROM information_schema.columns WHERE TABLE_SCHEMA = 'vmail' AND TABLE_NAME = 'vm_domains' AND COLUMN_NAME = 'status'"
status=`eval $dbcmd $dbcmdopts "\"$dbquery\"" $csv`

# get "mbox_limit" default
dbquery="SELECT COLUMN_DEFAULT FROM information_schema.columns WHERE TABLE_SCHEMA = 'vmail' AND TABLE_NAME = 'vm_domains' AND COLUMN_NAME = 'mbox_limit'"
mbox_limit=`eval $dbcmd $dbcmdopts "\"$dbquery\"" $csv`

# get "mbox_quota_default" default
dbquery="SELECT COLUMN_DEFAULT FROM information_schema.columns WHERE TABLE_SCHEMA = 'vmail' AND TABLE_NAME = 'vm_domains' AND COLUMN_NAME = 'mbox_quota_default'"
mbox_quota_default=`eval $dbcmd $dbcmdopts "\"$dbquery\"" $csv`

# get "mbox_ratelimit_default" default
dbquery="SELECT COLUMN_DEFAULT FROM information_schema.columns WHERE TABLE_SCHEMA = 'vmail' AND TABLE_NAME = 'vm_domains' AND COLUMN_NAME = 'mbox_ratelimit_default'"
mbox_ratelimit_default=`eval $dbcmd $dbcmdopts "\"$dbquery\"" $csv`

# create newline var
NL=$'\n'
output="status mbox_limit mbox_quota_default mbox_ratelimit_default${NL}$status $mbox_limit $mbox_quota_default $mbox_ratelimit_default"

if [[ $csv ]]; then
  echo "$output" | tr " " ","
else
  echo "$output" | column -t
fi