
# Discover current user and set workDir
currentUser=$(who | awk 'NR==1{print $1}')
workDir="/home/$currentUser/Docker/open-notebook"


#pre_install() {
  # do something here
#}

post_install() {
  # Check if the Docker folder exists, otherwise create it
  if [ ! -d "$workDir" ]; then
    cp -r '/etc/docker-biglinux/open-notebook/' "/home/$currentUser/Docker/"
    sed -i "s/SURREAL_USER=.*/SURREAL_USER=$currentUser/" "$workDir/.env"
    sed -i "s/SURREAL_PASSWORD=.*/SURREAL_PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32)/" "$workDir/.env"
    chown "$currentUser:$currentUser" -R "$workDir/"
  fi

  # Pull images
  for image in $(grep 'image:' "$workDir/docker-compose.yml" | awk '{print $2}'); do
    echo "Please wait, this step takes time."
    docker pull $image 1>/dev/null
  done

  ## Start container
  # docker compose -f "$workDir/docker-compose.yml" up -d
}

pre_upgrade() {
  # Down container
  if [ -e "$workDir/docker-compose.yml" ] ;then
    docker compose -f "$workDir/docker-compose.yml" down
  fi
  # Backup compose file and up new containers
  if [ -e "$workDir/docker-compose.yml" ] ;then
    cp "$workDir/docker-compose.yml" "$workDir/docker-compose.yml.$(date +%Y-%m-%d)-bkp"
    cp '/etc/docker-biglinux/open-notebook/docker-compose.yml' "$workDir/docker-compose.yml"
  fi
}

post_upgrade() {
  post_install
}

pre_remove() {
  # Down container
  docker compose -f "$workDir/docker-compose.yml" down
}

post_remove() {
  # Erase docker images
  for image in $(grep 'image:' "$workDir/docker-compose.yml" | awk '{print $2}'); do
    docker rmi $image
  done
}
