#!/bin/bash

# WAGW SaaS Cache Helper

set -e

echo "🗑️  WAGW SaaS Cache Helper"
echo "========================"

show_help() {
    echo ""
    echo "Usage: cache.sh [command]"
    echo ""
    echo "Commands:"
    echo "  clear        Clear application cache"
    echo "  redis        Clear Redis cache"
    echo "  config       Clear config cache"
    echo "  route        Clear route cache"
    echo "  view         Clear view cache"
    echo "  all          Clear all caches"
    echo "  help         Show this help message"
    echo ""
}

case "${1:-all}" in
    clear)
        echo "Clearing application cache..."
        docker compose exec app php artisan cache:clear
        echo "✓ Cache cleared"
        ;;
    redis)
        echo "Clearing Redis cache..."
        docker compose exec redis redis-cli FLUSHALL
        echo "✓ Redis cache cleared"
        ;;
    config)
        echo "Clearing config cache..."
        docker compose exec app php artisan config:clear
        echo "✓ Config cache cleared"
        ;;
    route)
        echo "Clearing route cache..."
        docker compose exec app php artisan route:clear
        echo "✓ Route cache cleared"
        ;;
    view)
        echo "Clearing view cache..."
        docker compose exec app php artisan view:clear
        echo "✓ View cache cleared"
        ;;
    all)
        echo "Clearing all caches..."
        docker compose exec app php artisan cache:clear
        docker compose exec app php artisan config:clear
        docker compose exec app php artisan route:clear
        docker compose exec app php artisan view:clear
        docker compose exec redis redis-cli FLUSHALL
        echo "✓ All caches cleared"
        ;;
    help|--help|-h)
        show_help
        ;;
    *)
        echo "Unknown command: ${1}"
        show_help
        exit 1
        ;;
esac
