#!/bin/sh
set -ex

BINARY=push-client
RENAME_BINARY=wrap-pushclient-${BSCONFIG_IPORT}

OLD_BINARY_STATE_DIR=/db/bsconfig/webstate/${BSCONFIG_INAME}/pushclient
BINARY_STATE_DIR=/logs/pushclient-state/${BSCONFIG_INAME}
DAEMON_LOG=/logs/current-pushclient.log

WALLE_LOG_PREFIX=/logs/wall-e/wall-e_${BSCONFIG_IPORT}_tskv
STATBOX_API_LOG=${WALLE_LOG_PREFIX}_api.log
STATBOX_CMS_LOG=${WALLE_LOG_PREFIX}_cms.log
STATBOX_FSM_DNS_LOG=${WALLE_LOG_PREFIX}_fsm_dns.log
STATBOX_FSM_LOG=${WALLE_LOG_PREFIX}_fsm.log
STATBOX_CRON_LOG=${WALLE_LOG_PREFIX}_cron.log
STATBOX_DMC_LOG=${WALLE_LOG_PREFIX}_dmc.log
STATBOX_HEALTH_LOG=${WALLE_LOG_PREFIX}_health.log
STATBOX_FAILURES_LOG=${WALLE_LOG_PREFIX}_failures.log
STATBOX_SCENARIOS_LOG=${WALLE_LOG_PREFIX}_scenarios.log
STATBOX_EXPERT_BINARY_HEALTH_LOG=${WALLE_LOG_PREFIX}_expert_binary_health.log

WALLE_ERROR_BOOSTER_LOG_PREFIX=/logs/wall-e/wall-e_${BSCONFIG_IPORT}_error_booster
WALLE_ERROR_BOOSTER_PRODUCTION_LOG=${WALLE_ERROR_BOOSTER_LOG_PREFIX}_production.log
WALLE_ERROR_BOOSTER_TESTING_LOG=${WALLE_ERROR_BOOSTER_LOG_PREFIX}_testing.log

# Copying old state files to persistent storage if not exists
if [ ! -d ${BINARY_STATE_DIR} ] && [ -d ${OLD_BINARY_STATE_DIR} ]; then
    OLD_CONTENT_COUNT=$( ls -1 ${OLD_BINARY_STATE_DIR} | wc -l )
    if [ ${OLD_CONTENT_COUNT} -gt 0 ]; then
        mkdir -p ${BINARY_STATE_DIR};
        cp -rp ${OLD_BINARY_STATE_DIR}/* ${BINARY_STATE_DIR};
    fi
fi

cp -d ${BINARY} ${RENAME_BINARY}
mkdir -p ${BINARY_STATE_DIR}

cat ${BSCONFIG_IDIR}/conf/push-client.conf | sed \
    -e "s#API_LOG#${STATBOX_API_LOG}#g" \
    -e "s#EXPERT_BINARY_LOG#${STATBOX_EXPERT_BINARY_HEALTH_LOG}#g" \
    -e "s#CMS_LOG#${STATBOX_CMS_LOG}#g" \
    -e "s#FSM_DNS_LOG#${STATBOX_FSM_DNS_LOG}#g" \
    -e "s#CRON_LOG#${STATBOX_CRON_LOG}#g" \
    -e "s#DMC_LOG#${STATBOX_DMC_LOG}#g" \
    -e "s#FSM_LOG#${STATBOX_FSM_LOG}#g" \
    -e "s#HEALTH_LOG#${STATBOX_HEALTH_LOG}#g" \
    -e "s#FAILURES_LOG#${STATBOX_FAILURES_LOG}#g" \
    -e "s#SCENARIOS_LOG#${STATBOX_SCENARIOS_LOG}#g" \
    -e "s#ERROR_BOOSTER_PRODUCTION_LOG#${WALLE_ERROR_BOOSTER_PRODUCTION_LOG}#g" \
    -e "s#ERROR_BOOSTER_TESTING_LOG#${WALLE_ERROR_BOOSTER_TESTING_LOG}#g" \
    -e "s#STATE_DIR#${BINARY_STATE_DIR}#g" \
    -e "s#LOG_PATH#${DAEMON_LOG}#g" > ${BSCONFIG_IDIR}/push-client_real.conf;


exec ./${RENAME_BINARY} -c ${BSCONFIG_IDIR}/push-client_real.conf -f

