This commit is contained in:
Local Server
2025-12-19 20:44:46 -06:00
parent 701f799cde
commit e4b3de4a46
113 changed files with 16673 additions and 2174 deletions

110
scripts/check-assets.sh Executable file
View File

@@ -0,0 +1,110 @@
#!/bin/bash
# check-assets.sh - Validate all referenced images exist
# Usage: ./check-assets.sh
set -e
WEBSITE_DIR="/media/pts/Website/SkyArtShop/website"
BACKEND_DIR="/media/pts/Website/SkyArtShop/backend"
DB_NAME="skyartshop"
DB_USER="skyartapp"
echo "🔍 SkyArtShop Asset Validation"
echo "================================"
echo ""
MISSING_COUNT=0
TOTAL_COUNT=0
# Function to check if file exists
check_file() {
local file="$1"
local source="$2"
TOTAL_COUNT=$((TOTAL_COUNT + 1))
if [ -f "${WEBSITE_DIR}${file}" ] || [ -L "${WEBSITE_DIR}${file}" ]; then
echo "${file}"
return 0
else
echo "❌ Missing: ${file} (referenced in ${source})"
MISSING_COUNT=$((MISSING_COUNT + 1))
return 1
fi
}
# Check critical images
echo "📋 Checking Critical Images..."
echo "-------------------------------"
check_file "/assets/images/hero-image.jpg" "home.html"
check_file "/assets/images/inspiration.jpg" "home.html"
check_file "/assets/images/placeholder.jpg" "multiple pages"
check_file "/assets/images/products/placeholder.jpg" "product pages"
echo ""
# Check HTML image references
echo "📄 Checking HTML Image References..."
echo "-------------------------------------"
if [ -d "${WEBSITE_DIR}/public" ]; then
while IFS= read -r line; do
# Extract image path from src attribute
img=$(echo "$line" | sed -E 's/.*src="([^"]*\.(jpg|jpeg|png|gif|svg))".*/\1/')
file=$(echo "$line" | cut -d':' -f1)
if [ -n "$img" ] && [ "$img" != "$line" ]; then
check_file "$img" "$(basename $file)"
fi
done < <(grep -roh 'src="[^"]*\.\(jpg\|jpeg\|png\|gif\|svg\)' "${WEBSITE_DIR}/public/"*.html 2>/dev/null || true)
fi
echo ""
# Check database image references
echo "🗄️ Checking Database Product Images..."
echo "----------------------------------------"
if command -v psql &> /dev/null; then
while IFS= read -r img; do
img=$(echo "$img" | xargs) # trim whitespace
if [ -n "$img" ]; then
check_file "$img" "database products table"
fi
done < <(PGPASSWORD="${DB_PASSWORD}" psql -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT DISTINCT imageurl FROM products WHERE imageurl != '' AND imageurl IS NOT NULL;" 2>/dev/null || echo "")
else
echo "⚠️ psql not available - skipping database check"
fi
echo ""
# Check uploads directory
echo "📁 Checking Uploads Directory..."
echo "---------------------------------"
UPLOAD_DIR="${WEBSITE_DIR}/uploads"
if [ -d "$UPLOAD_DIR" ]; then
UPLOAD_COUNT=$(find "$UPLOAD_DIR" -type f | wc -l)
UPLOAD_SIZE=$(du -sh "$UPLOAD_DIR" | cut -f1)
echo "✅ Uploads directory exists"
echo " Files: $UPLOAD_COUNT"
echo " Size: $UPLOAD_SIZE"
else
echo "❌ Uploads directory missing: $UPLOAD_DIR"
MISSING_COUNT=$((MISSING_COUNT + 1))
fi
echo ""
# Summary
echo "📊 Summary"
echo "=========="
echo "Total images checked: $TOTAL_COUNT"
echo "Missing images: $MISSING_COUNT"
echo ""
if [ $MISSING_COUNT -eq 0 ]; then
echo "✅ All assets validated successfully!"
exit 0
else
echo "⚠️ Found $MISSING_COUNT missing asset(s)"
echo ""
echo "💡 Suggestions:"
echo " 1. Create symbolic links for placeholder images"
echo " 2. Add real images to replace placeholders"
echo " 3. Update database references to use existing images"
exit 1
fi