#!/usr/bin/env sh
set -eu

USAGE='Usage:\nrunit-enable-service SERVICE_NAME';
SERVICE_AVAILABLE_DIR=/etc/sv
SERVICE_ENABLED_DIR=/service
AUTO_START=${AUTO_START:-'true'}

if [ "$#" = 0 ]
then
    echo -e ${USAGE}
    exit 1
fi

SERVICE_NAME=${1};

if [ ! -d "$SERVICE_AVAILABLE_DIR/$SERVICE_NAME" ]
then
    echo "Service \"$SERVICE_AVAILABLE_DIR/$SERVICE_NAME\" doesn't exist."
    exit 2
fi

if [ ! -d "$SERVICE_ENABLED_DIR" ]
then
    echo "Destination directory \"$SERVICE_ENABLED_DIR\" doesn't exist."
    exit 3
fi

if [ "$AUTO_START" != 'true' ]
then
    touch ${SERVICE_AVAILABLE_DIR}/${SERVICE_NAME}/down

    if [ -d "$SERVICE_AVAILABLE_DIR/$SERVICE_NAME/log" ]
    then
        touch ${SERVICE_AVAILABLE_DIR}/${SERVICE_NAME}/log/down
    fi
else
    rm -rf ${SERVICE_AVAILABLE_DIR}/${SERVICE_NAME}/down
    rm -rf ${SERVICE_AVAILABLE_DIR}/${SERVICE_NAME}/log/down
fi

ln -sf ${SERVICE_AVAILABLE_DIR}/${SERVICE_NAME} ${SERVICE_ENABLED_DIR}