#!/bin/bash
# move sems audio cache to /ngcp-data/cache and create
# symlinks from the /var/cache

set -e
set -u

OLD_CACHE_DIR=/var/cache
NEW_CACHE_DIR=/ngcp-data/cache

LEGACY_FOLDER_SEMS_PBX="${OLD_CACHE_DIR}/sems-pbx"
LEGACY_FOLDER_SEMS_B2B="${OLD_CACHE_DIR}/sems-b2b"
LEGACY_FOLDER_NGCP_SEMS="${OLD_CACHE_DIR}/ngcp-sems"

NEW_FOLDER_SEMS_B2B="${NEW_CACHE_DIR}/sems-b2b"
NEW_FOLDER_NGCP_SEMS="${NEW_CACHE_DIR}/ngcp-sems"

die() {
  local message="$*"

  echo "ERROR: ${message}" >&2
  exit 1
}

# make sure the new cache directory exists
if [ ! -d "${NEW_CACHE_DIR}" ]; then
  mkdir -p "${NEW_CACHE_DIR}"
fi

# if older cache directory does not exist - die
if [ ! -d "${OLD_CACHE_DIR}" ]; then
  die "Legacy cache directory does not exist: ${OLD_CACHE_DIR}"
fi

# remove legacy folder for sems-pbx (not in use anymore)
if [ -d "${LEGACY_FOLDER_SEMS_PBX}" ]; then
  echo "Removing legacy folder ${LEGACY_FOLDER_SEMS_PBX}"
  rm -rf "${LEGACY_FOLDER_SEMS_PBX}"
fi

# move data from legacy folder for ngcp-data and remove legacy folder
if [ -d "${LEGACY_FOLDER_NGCP_SEMS}" ]; then
  echo "Moving data from legacy folder ${LEGACY_FOLDER_NGCP_SEMS} to ${NEW_FOLDER_NGCP_SEMS}..."
  mv "${LEGACY_FOLDER_NGCP_SEMS}" "${NEW_CACHE_DIR}/"
fi

# move data from legacy folder for sems-b2b and remove legacy folder
if [ -d "${LEGACY_FOLDER_SEMS_B2B}" ]; then
  echo "Moving data from legacy folder ${LEGACY_FOLDER_SEMS_B2B} to ${NEW_FOLDER_SEMS_B2B}..."
  mv "${LEGACY_FOLDER_SEMS_B2B}" "${NEW_CACHE_DIR}/"
fi

