#!/usr/bin/with-contenv bash

echo "Starting ytdl-sub..."

# copy config
[[ ! -e "$DEFAULT_WORKSPACE/config.yaml" ]] && \
    mkdir -p "$DEFAULT_WORKSPACE" && \
    cp /defaults/config.yaml "$DEFAULT_WORKSPACE/config.yaml"
[[ ! -e "$DEFAULT_WORKSPACE/subscriptions.yaml" ]] && \
    mkdir -p "$DEFAULT_WORKSPACE" && \
    cp /defaults/subscriptions.yaml "$DEFAULT_WORKSPACE/subscriptions.yaml"
[[ ! -d "$DEFAULT_WORKSPACE/examples" ]] && \
    mkdir -p "$DEFAULT_WORKSPACE/examples" && \
    cp -r /defaults/examples/* "$DEFAULT_WORKSPACE/examples"

# permissions
chown -R ${PUID:-abc}:${PGID:-abc} \
    /config

# set up cron
if [ "$CRON_SCHEDULE" != "" ] ; then
    [[ ! -e "$CRON_SCRIPT" ]] && \
    cp /defaults/cron "$CRON_SCRIPT"

    cp /defaults/cron_wrapper "$CRON_WRAPPER_SCRIPT"
    chmod +x "$CRON_WRAPPER_SCRIPT"
    chown abc:abc "$CRON_WRAPPER_SCRIPT"

    CRON_SCHEDULE_CLEAN="${CRON_SCHEDULE//\"/}"
    CRON_SCHEDULE_CLEAN="${CRON_SCHEDULE_CLEAN//\'/}"

    echo "# min   hour    day     month   weekday command" > /config/crontabs/abc
    echo "$CRON_SCHEDULE_CLEAN   $DEFAULT_WORKSPACE/.cron_wrapper" >> /config/crontabs/abc

    chmod +x "$CRON_SCRIPT"
    chown abc:abc "$CRON_SCRIPT"

    crontab -u abc /config/crontabs/abc

    CRON_SUCCESS=$?
    if [ $CRON_SUCCESS -eq 0 ] ; then
      echo "Cron enabled with schedule $CRON_SCHEDULE_CLEAN"

      if [ "$CRON_RUN_ON_START" = true ] ; then
        echo "Running cron script on start"
        . "$CRON_WRAPPER_SCRIPT"
      fi
    else
      echo "Error in CRON_SCHEDULE definition, disabling cron."
    fi
else
  echo "CRON_SCHEDULE not specified, disabling cron."
  echo "# min   hour    day     month   weekday command" > /config/crontabs/abc
  echo "" >> /config/crontabs/abc
fi

# always create cron log file, after cron runs
# on start to not tail it again
echo "" > "$LOGS_TO_STDOUT"
