#!/bin/sh
#
# a simple script to simplify hawk development

usage() {
	echo "hawk <start|stop|status|restart|log|syslog|server>"
}

hawk_start() {
	if ! systemctl -q is-active hawk-development; then
		rm -f /vagrant/hawk/Gemfile.lock
		sudo systemctl start hawk-development
	fi
	HAWK_ENV=development LOGGER=stdout HAWK_BIND=unix:///vagrant/hawk/tmp/hawk.sock /usr/bin/env puma -C /vagrant/hawk/config/puma.rb
}

hawk_stop() {
	sudo systemctl stop hawk-development
}

hawk_status() {
	systemctl status hawk-development hawk-dev-backend
}

hawk_restart() {
	hawk_stop
	hawk_start
}

hawk_apilog() {
	sudo journalctl -eu hawk-development
}

hawk_log() {
	sudo journalctl -eu hawk-dev-backend
}

hawk_server() {
	hawk_stop #stop any other running instance of the puma server
	HAWK_ENV=development LOGGER=stdout /usr/bin/puma -C /vagrant/hawk/config/puma.rb
}

hawk_production() {
	sudo systemctl stop hawk #stop the running production instance on port 7630
	/usr/bin/puma -C /vagrant/hawk/config/puma.rb
}

if [ $# -lt 1 ]
then
	usage
    exit
fi

case "$1" in
	start)
		hawk_start
		;;
	stop)
		hawk_stop
		;;
	restart)
		hawk_restart
		;;
	status)
		hawk_status
		;;
	apilog)
		hawk_apilog
		;;
	log)
		hawk_log
		;;
	server|s)
		hawk_server
		;;
	production)
		hawk_production
		;;
	*)
		usage
		exit
		;;
esac
