#!/bin/bash

# Define the paths
CURRENT_DIR="$(dirname "$0")"

CONTROL_SURFACE_BUNDLE_NAME="LogiPlugin.bundle"
CONTROL_SURFACE_ZIP="$CURRENT_DIR/$CONTROL_SURFACE_BUNDLE_NAME.zip"
CONTROL_SURFACE_DEST_DIR="/Library/Application Support/Adobe/Common/Plug-ins/ControlSurface"

CEP_PLUGIN_NAME="com.loupedeck.pp.cep"
CEP_ZIP_FILE_NAME="$CEP_PLUGIN_NAME.zip"
CEP_ZIP_FILE_PATH="$CURRENT_DIR/$CEP_ZIP_FILE_NAME"
ADOBE_CEP_DIR="$HOME/Library/Application Support/Adobe/CEP/extensions"
CEP_DEST_DIR="$ADOBE_CEP_DIR/$CEP_PLUGIN_NAME"

source "$CURRENT_DIR/references_counter.sh"

# Unzip the files
echo "Extracting $CONTROL_SURFACE_ZIP"
if [ ! -d "$CONTROL_SURFACE_DEST_DIR" ]; then
    mkdir -p "$CONTROL_SURFACE_DEST_DIR"
    echo "Directory created: $CONTROL_SURFACE_DEST_DIR"
fi
unzip -o "$CONTROL_SURFACE_ZIP" -d "$CONTROL_SURFACE_DEST_DIR"

if [ $? -eq 0 ]; then
    increment_control_surface_counter
else
    echo "Control Surface extraction failed."
fi


echo "Extracting $CEP_ZIP_FILE_NAME"
if [ ! -d "$ADOBE_CEP_DIR" ]; then
    mkdir -p "$ADOBE_CEP_DIR"
    echo "Directory created: $ADOBE_CEP_DIR"
fi

CURRENT_USER=$(logname)
if [ "$CURRENT_USER" = "root" ]; then
  CURRENT_USER=$(stat -f '%Su' /dev/console)
fi

chown -R $CURRENT_USER "$ADOBE_CEP_DIR/../.."

unzip -o "$CEP_ZIP_FILE_PATH" -d "$CEP_DEST_DIR"

if [ $? -ne 0 ]; then
    echo "CEP extraction failed."
fi