#!/bin/bash

PATH=/home/tpcowan/.nvm/versions/node/v12.18.3/bin:$PATH

if [ "$(uname -s)" == "Darwin" ]; then
  echo "Don't run this on your local computer!"
  exit 1
fi

echo "[remote] linking nginx configuration"
sudo ln -s /etc/nginx/sites-available/djinlist/* /etc/nginx/sites-enabled/
sudo nginx -s reload
echo "[remote] Updating processor"

cd djinmusic

pnpm install -r

echo "[remote] Checking for djinlist-server"
server_check=$(pm2 pid djinlist-server)
echo "${server_check}"
echo "${#server_check}"
if [ ${#server_check} -eq 0 ]; then
  echo "[remote] Starting djinlist-server"
  cd services/channel
  pm2 start node --name "djinlist-server" -l "../../djinlist-server.log" -- --experimental-modules --experimental-json-modules --es-module-specifier-resolution=node src/index.js
  cd ../..
else
  echo "[remote] Restarting djinlist-server"
  pm2 stop djinlist-server
  pm2 start djinlist-server
fi

echo "[remote] Checking for djinlist-app"
djiny_check=$(pm2 pid djinlist-app)
echo "${djiny_check}"
echo "${#djiny_check}"
if [ ${#djiny_check} -eq 0 ]; then
  echo "[remote] Starting djinlist-app"
  cd app/djiny
  pm2 start npm --name "djinlist-app" -l "../../djinlist-app.log"  -- start
  cd ../..
else
  echo "[remote] Restarting djinlist-app"
  pm2 stop djinlist-app
  pm2 start djinlist-app
fi


echo "[remote] Checking for djinlist-admin"
admin_check=$(pm2 pid djinlist-admin)
echo "${admin_check}"
echo "${#admin_check}"
if [ ${#admin_check} -eq 0 ]; then
  echo "[remote] Starting djinlist-admin"
  cd app/admin
  pm2 start npm --name "djinlist-admin" -l "../../djinlist-admin.log"  -- start
  cd ../..
else
  echo "[remote] Restarting djinlist-admin"
  pm2 stop djinlist-admin
  pm2 start djinlist-admin
fi

echo "[remote] Installed"