#!/bin/bash
# Script zum Prüfen der Datenbank-Berechtigungen und User-Konfiguration

echo "🔍 Datenbank-Berechtigungen und User-Check"
echo "=========================================="
echo ""

# Prüfe User im Container
echo "👤 User im Container:"
docker exec hoerdle whoami
echo ""

# Prüfe UID/GID
echo "🆔 UID/GID des laufenden Prozesses:"
docker exec hoerdle id
echo ""

# Prüfe Datenbankdatei
echo "💾 Datenbank-Datei-Informationen (im Container):"
docker exec hoerdle ls -lh /app/data/prod.db
echo ""

# Prüfe Datenbankverzeichnis
echo "📁 Datenbankverzeichnis-Berechtigungen (im Container):"
docker exec hoerdle ls -ld /app/data
echo ""

# Prüfe ob Datei schreibbar ist
echo "✍️  Schreibbarkeitstest:"
if docker exec hoerdle sh -c "test -w /app/data/prod.db && echo '✅ Datei ist schreibbar' || echo '❌ Datei ist NICHT schreibbar'"; then
    echo "   Datei ist schreibbar"
else
    echo "   ❌ Datei ist NICHT schreibbar!"
fi

# Prüfe ob Verzeichnis schreibbar ist
if docker exec hoerdle sh -c "test -w /app/data && echo '✅ Verzeichnis ist schreibbar' || echo '❌ Verzeichnis ist NICHT schreibbar'"; then
    echo "   Verzeichnis ist schreibbar"
else
    echo "   ❌ Verzeichnis ist NICHT schreibbar!"
fi
echo ""

# Prüfe Host-Seite
echo "🖥️  Host-Seite Berechtigungen:"
ls -ld ./data
ls -lh ./data/prod.db
echo ""

# Prüfe Container-User aus docker-compose
echo "🐳 Docker Compose Konfiguration:"
if [ -f "docker-compose.yml" ]; then
    grep -E "^[[:space:]]*user:" docker-compose.yml || echo "   Keine 'user:' Direktive gefunden"
else
    echo "   ⚠️  docker-compose.yml nicht gefunden (verwende example?)"
fi
echo ""

# Empfehlung
echo "💡 Empfehlung:"
echo "   Wenn die Datei 'node:node' gehört und Container als 'root' läuft,"
echo "   sollte es funktionieren. Falls nicht, setze Besitzer auf root:"
echo "   sudo chown root:root ./data/prod.db"
echo "   Oder entferne 'user: root' aus docker-compose.yml"

