Enhance deployment script and navigation component for improved data handling and user access
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 45s

This commit updates the deploy-production.sh script to remove tracked public/data CSV files from the Git index and ensures that backup files are restored correctly, with size verification for integrity. Additionally, it modifies the Navigation.vue component to allow access to the gallery for users with newsletter permissions, enhancing user experience and access control.
This commit is contained in:
Torsten Schulz (local)
2026-01-17 18:34:49 +01:00
parent 6df276ede2
commit 5905dd5784
2 changed files with 43 additions and 5 deletions

View File

@@ -76,7 +76,7 @@
</NuxtLink>
<NuxtLink
v-if="hasGalleryImages"
v-if="hasGalleryImages || canAccessNewsletter"
to="/verein/galerie"
class="px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50"
active-class="text-white bg-primary-600"
@@ -659,7 +659,7 @@
</NuxtLink>
<NuxtLink
v-if="hasGalleryImages"
v-if="hasGalleryImages || canAccessNewsletter"
to="/verein/galerie"
class="block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"
@click="isMobileMenuOpen = false"

View File

@@ -130,6 +130,14 @@ git pull
# Reset any accidental changes from stash restore (should be none now)
git reset --hard HEAD >/dev/null 2>&1
# WICHTIG: Entferne public/data Dateien aus Git-Index, falls sie getrackt sind
# (Sie sollten in .gitignore sein, aber falls sie historisch getrackt wurden)
if git ls-files --error-unmatch public/data/*.csv >/dev/null 2>&1; then
echo " WARNING: public/data/*.csv Dateien sind im Git getrackt!"
echo " Entferne sie aus dem Git-Index (Dateien bleiben erhalten)..."
git rm --cached public/data/*.csv 2>/dev/null || true
fi
# 3. Install dependencies
echo ""
echo "3. Installing dependencies..."
@@ -292,10 +300,40 @@ echo " Restored server/data from backup ($BACKUP_DIR/server-data)."
# Stelle alle CSVs wieder her
if ls "$BACKUP_DIR/public-data"/*.csv >/dev/null 2>&1; then
mkdir -p public/data
cp -a "$BACKUP_DIR/public-data"/*.csv public/data/
echo " Restored public/data/*.csv from backup ($BACKUP_DIR/public-data)."
# WICHTIG: Überschreibe auch Dateien, die aus dem Git-Repository kommen
# Verwende cp mit -f (force) um sicherzustellen, dass Backup-Dateien Vorrang haben
for csv_file in "$BACKUP_DIR/public-data"/*.csv; do
filename=$(basename "$csv_file")
# Überschreibe explizit, auch wenn Datei bereits existiert
cp -f "$csv_file" "public/data/$filename"
# Stelle sicher, dass die Datei wirklich überschrieben wurde
if [ -f "public/data/$filename" ]; then
# Prüfe, ob die Datei wirklich vom Backup kommt (Größenvergleich)
backup_size=$(stat -f%z "$csv_file" 2>/dev/null || stat -c%s "$csv_file" 2>/dev/null || echo "0")
restored_size=$(stat -f%z "public/data/$filename" 2>/dev/null || stat -c%s "public/data/$filename" 2>/dev/null || echo "0")
if [ "$backup_size" = "$restored_size" ] && [ "$backup_size" != "0" ]; then
echo " ✓ Restored public/data/$filename from backup ($backup_size bytes)"
else
echo " ⚠ WARNING: public/data/$filename Größe stimmt nicht überein (Backup: $backup_size, Restored: $restored_size)"
fi
else
echo " ❌ ERROR: Konnte public/data/$filename nicht wiederherstellen!"
fi
done
echo " ✓ All public/data/*.csv files restored from backup ($BACKUP_DIR/public-data)."
# Zusätzliche Sicherheit: Entferne public/data Dateien aus Git-Index, falls sie getrackt sind
# (nach dem Restore, damit sie nicht beim nächsten git reset überschrieben werden)
if git ls-files --error-unmatch public/data/*.csv >/dev/null 2>&1; then
echo " WARNING: public/data/*.csv Dateien sind noch im Git getrackt!"
echo " Entferne sie aus dem Git-Index (Dateien bleiben erhalten)..."
git rm --cached public/data/*.csv 2>/dev/null || true
echo " ✓ public/data/*.csv aus Git-Index entfernt"
fi
else
echo "No public CSVs to restore"
echo " No public CSVs to restore"
fi
# Sanity Check: users.json muss existieren und darf nicht leer sein