#!/usr/bin/env bash
set -e

echo "${MAIL_DOMAINS}"

# Split domains into array
IFS=', ' read -r -a array <<< "${AMX_MAIL_DOMAINS}"

# User configurable section -- START
PROVIDER_ID=001
SQL_CMD="";

# Iterate domains resulting from split on second arg
for element in "${array[@]}"
do
  # Set vars
  DOMAIN=$element
  PROVIDER_NAME=$DOMAIN
  PROVIDER_SHORTNAME=$DOMAIN

  # Optional LDAP server
  #LDAP_SERVER="ldap.${DOMAIN}"
  # User configurable section -- END
  s1_id=$((PROVIDER_ID + 1))
  s2_id=$((PROVIDER_ID + 2))
  s3_id=$((PROVIDER_ID + 3))
  dom_id=$((PROVIDER_ID + 4))

  s3_id='NULL'

  SQL_CMD=$(cat <<EOT
$SQL_CMD
INSERT INTO provider(id, name, short_name) VALUES(${PROVIDER_ID}, '${PROVIDER_NAME}', '${PROVIDER_SHORTNAME}');
INSERT INTO server(id, port, type, name, socket_type, user_name, authentication)
VALUES(${s1_id}, ${AMX_IMAP_PORT}, 'imap', '${AMX_IMAP_SERVER}', 'STARTTLS', '%EMAILADDRESS%', 'password-cleartext');
INSERT INTO server(id, port, type, name, socket_type, user_name, authentication)
VALUES(${s2_id}, ${AMX_SMTP_PORT}, 'smtp', '${AMX_SMTP_ADDRESS}', 'STARTTLS', '%EMAILADDRESS%', 'password-cleartext');
INSERT INTO domain(id, name, provider_id, ldapserver_id) VALUES(${dom_id}, '${DOMAIN}', ${PROVIDER_ID}, ${s3_id});
INSERT INTO server_domain(server_id, domain_id) VALUES(${s1_id}, ${dom_id});
INSERT INTO server_domain(server_id, domain_id) VALUES(${s2_id}, ${dom_id});
EOT
)

  PROVIDER_ID=$((PROVIDER_ID+10))

done

echo -e ${SQL_CMD}
echo -e ${SQL_CMD} | sqlite3 /data/db.sqlite
