#!/usr/bin/env bash
set -euo pipefail
cd /srv/apps/sotlab-music
set -a
. ./.env
set +a
printf '%s\n' '--- before counts ---'
sudo docker exec sotlab-music-db-1 mariadb -u"$AMPACHE_DB_USER" -p"$AMPACHE_DB_PASSWORD" "$DB_NAME" -e "SELECT COUNT(*) AS catalogs FROM catalog; SELECT COUNT(*) AS songs FROM song;" 2>/dev/null || true
if ! sudo docker exec sotlab-music-db-1 mariadb -N -u"$AMPACHE_DB_USER" -p"$AMPACHE_DB_PASSWORD" "$DB_NAME" -e "SELECT COUNT(*) FROM catalog WHERE name='Sot Lab Music'" 2>/dev/null | grep -q '^1$'; then
  printf '%s\n' '--- adding catalog ---'
  sudo docker exec sotlab-music-ampache-1 php /var/www/bin/cli run:addCatalog 'Sot Lab Music' /media music '%T - %t' '%a/%A'
else
  printf '%s\n' '--- catalog already exists ---'
fi
printf '%s\n' '--- updating catalog: add, verify, art, scan, garbage ---'
sudo docker exec sotlab-music-ampache-1 php -d memory_limit=-1 /var/www/bin/cli run:updateCatalog 'Sot Lab Music' local --add --verify --art --scan --garbage --memorylimit
printf '%s\n' '--- cache/garbage optimize ---'
sudo docker exec sotlab-music-ampache-1 php -d memory_limit=-1 /var/www/bin/cli run:computeCache || true
printf '%s\n' '--- after counts ---'
sudo docker exec sotlab-music-db-1 mariadb -u"$AMPACHE_DB_USER" -p"$AMPACHE_DB_PASSWORD" "$DB_NAME" -e "SELECT id,name,path,catalog_type,enabled FROM catalog; SELECT COUNT(*) AS songs FROM song; SELECT COUNT(*) AS albums FROM album; SELECT COUNT(*) AS artists FROM artist; SELECT COUNT(*) AS apple_double_rows FROM song WHERE file LIKE '%/._%';" 2>/dev/null
