#!/bin/bash

MONGROUP_FILE=/mongroup.conf
MONGROUP_CONFIG_PATH=$(pwd)$MONGROUP_FILE
NPM_PREFIX=$(npm prefix -g)
TOCK_INSTALL_PATH=/lib/node_modules/tock
TOCK_WORKER_INSTALL_PATH=/lib/node_modules/tock/lib/worker.js
TOCK_PATH=$NPM_PREFIX$TOCK_INSTALL_PATH
TOCK_WORKER_PATH=$NPM_PREFIX$TOCK_WORKER_INSTALL_PATH

if [ ! -f $MONGROUP_CONFIG_PATH ] ; then
  echo 'mongroup.conf not found'
  exit
fi

echo 'Installing tock...'
npm install -g tock
echo 'Tock installed.'

cd $TOCK_PATH

cat << 'EOF' > lib/config.json
{
  "*": {
    "mongo": {
      "host": "rv-atl-dbutil01",
      "port": 27017,
      "user": "tock_u",
      "password": "3dHumNfv9rGgg",
      "dbName": "Tock"
    },
    "masterHost": "rv-atl-verdict-app01",
    "masterExternalPort": 16162,
    "masterInternalPort": 9233,
    "slaveInternalPort": 9234,
    "jobKillPort": 9235,
    "logging": {
      "mail": {
        "level": "error",
        "to": "rfink@redventures.net",
        "subject": "Tock error: {{level}} {{msg}}"
      },
      "console": {
        "level": "info",
        "json": true
      },
      "mongodb": {
        "level": [ "warn", "error" ],
        "db": "Tock",
        "collection": "logs",
        "host": "rv-atl-dbutil01",
        "port": 27017,
        "username": "tock_u",
        "password": "3dHumNfv9rGgg"
      }
    },
    "transports": [
      "Mail",
      "MongoDB"
    ]
  },
  "development": {
    "mongo": {
      "host": "localhost",
      "port": 27017,
      "user": null,
      "password": null,
      "dbName": "Tock"
    },
    "transports": [
      "Console",
      "Mail"
    ]
  },
  "test": {
    "mongo": {
      "host": "localhost",
      "port": 27017,
      "user": null,
      "password": null,
      "dbName": "TockTest"
    },
    "transports": [
      "Console"
    ]
  }
}

EOF

if [ $(awk '{if ($1 == "tock") print "1"}' $MONGROUP_CONFIG_PATH | wc -l) -eq 0 ] ; then
  echo "tock = node $TOCK_PATH" >> $MONGROUP_CONFIG_PATH
fi

if [ $(awk '{if ($1 == "tock-worker") print "1"}' $MONGROUP_CONFIG_PATH | wc -l) -eq 0 ] ; then
  echo "tock-worker = node $TOCK_WORKER_PATH" >> $MONGROUP_CONFIG_PATH
fi
