#!/bin/bash

if [ -z "${ONE_LOCATION}" ]; then
    LIB_LOCATION=/usr/lib/one
else
    LIB_LOCATION=$ONE_LOCATION/lib
fi

. $LIB_LOCATION/sh/scripts_common.sh

DRIVER_PATH=$(dirname $0)
source ${DRIVER_PATH}/../../datastore/libfs.sh

UTILS_PATH="${DRIVER_PATH}/../../datastore"


# # # get arguments

DRV_ACTION=$1
ID=$2

XPATH="$UTILS_PATH/xpath.rb -b $DRV_ACTION"
unset i XPATH_ELEMENTS
while IFS= read -r -d '' element; do
    XPATH_ELEMENTS[i++]="$element"
done < <($XPATH     /MARKET_DRIVER_ACTION_DATA/MARKETPLACEAPP/ORIGIN_ID \
                    /MARKET_DRIVER_ACTION_DATA/MARKETPLACEAPP/NAME \
                    /MARKET_DRIVER_ACTION_DATA/MARKETPLACEAPP/SOURCE \
                    /MARKET_DRIVER_ACTION_DATA/MARKETPLACE/TEMPLATE/ENDPOINT )
unset i
ORIGIN_ID="${XPATH_ELEMENTS[i++]}"
NAME="${XPATH_ELEMENTS[i++]}"
SOURCE="${XPATH_ELEMENTS[i++]}"
ENDPOINT="${XPATH_ELEMENTS[i++]}"

# default
IMG_NAME="$(echo "${SOURCE}" | awk -F/ '{print $NF}')"

if [ "$ORIGIN_ID" != "-1" ]; then
    exit 0
fi


# # # del APP from market

# image and market info
market_data_path="/var/www/html/brest-marketplace/data"
market_html_path="/var/www/html/brest-marketplace/index.html"
MARKET_FQDN="$(echo ${ENDPOINT} | awk -F/ '{print $3}')"

# checking SSH connection
ssh -o BatchMode=yes -o ConnectTimeout=5 root@${MARKET_FQDN} "exit 0" > /dev/null 2>&1
if [ $? -ne 0 ]; then
  exit 0
fi

# checking control key
loc_controlkey_path="/var/lib/one/remotes/market/brest/controlkey"
controlkey="$([ -f $loc_controlkey_path ] && cat $loc_controlkey_path)"
controlkey_path="${market_data_path}/controlkey"
if ! ssh -o BatchMode=yes -o ConnectTimeout=5 root@${MARKET_FQDN} "test -f ${controlkey_path} || exit \$? ; [ \"\$(cat ${controlkey_path} | head -n 1)\" == \"${controlkey}\" ]; exit \$?"  > /dev/null 2>&1;then
    # error_message "Access is denied."
    exit 0
fi

AppList="$(curl -sSL "$ENDPOINT")"
if [ -z "$AppList" ];then
    exit 0
fi
ArrayApp=($(echo "$AppList" | awk '{gsub(/(APP=)|(")/,"");print}'))
for App in ${ArrayApp[@]}; do
  decApp="$(echo "$App" | base64 -d)"
  nameApp="$(echo "$decApp" | awk -F'/' '/^NAME/ {gsub(/(NAME=)|(")/,"");print}')"
  nameImg="$(echo "$decApp" | awk -F'/' '/^SOURCE/ {gsub(/\"/,"");print $NF}')"
  if [ "$nameApp" == "${NAME}" ] && [ "${nameImg}" == "${IMG_NAME}" ]; then
      selApp="APP=\"$App\""
      ssh -o BatchMode=yes -o ConnectTimeout=5 root@${MARKET_FQDN} "sed -i '/$selApp/d' $market_html_path; rm -f ${market_data_path}/${nameImg}" > /dev/null 2>&1
  fi
done
