#!/bin/bash # 🧹 MYP - Manage your Printer (Hauptbereinigungsskript) # Weiterleitung an das optimierte Infrastructure-Bereinigungsskript set -euo pipefail # Farbdefinitionen für bessere Ausgabe readonly RED='\033[0;31m' readonly GREEN='\033[0;32m' readonly YELLOW='\033[1;33m' readonly BLUE='\033[0;34m' readonly MAGENTA='\033[0;35m' readonly CYAN='\033[0;36m' readonly WHITE='\033[1;37m' readonly NC='\033[0m' # No Color # Logging-Funktionen log_info() { echo -e "${CYAN}ℹ️ $1${NC}"; } log_success() { echo -e "${GREEN}✅ $1${NC}"; } log_warning() { echo -e "${YELLOW}⚠️ $1${NC}"; } log_error() { echo -e "${RED}❌ $1${NC}"; } log_header() { echo -e "${MAGENTA}$1${NC}"; } # Standard-Parameter FORCE_MODE=false ALL_MODE=false SHOW_HELP=false # Hilfe-Funktion show_help() { log_header "🧹 MYP - Manage your Printer (Bereinigung)" log_header "═══════════════════════════════════════════" echo log_info "📖 Verwendung:" echo " ./cleanup.sh [Optionen]" echo log_info "⚙️ Optionen:" echo " -f, --force - Bereinigung ohne Bestätigung durchführen" echo " -a, --all - Vollständige Bereinigung (inkl. Volumes)" echo " -h, --help - Diese Hilfe anzeigen" echo log_info "📚 Beispiele:" echo " ./cleanup.sh # Interaktive Bereinigung" echo " ./cleanup.sh --force # Automatische Bereinigung" echo " ./cleanup.sh --all --force # Vollständige Bereinigung" echo } # Parameter-Parsing while [[ $# -gt 0 ]]; do case $1 in -f|--force) FORCE_MODE=true shift ;; -a|--all) ALL_MODE=true shift ;; -h|--help) SHOW_HELP=true shift ;; *) log_error "Unbekannter Parameter: $1" echo "Verwenden Sie --help für Hilfe." exit 1 ;; esac done # Hilfe anzeigen if [[ "$SHOW_HELP" == true ]]; then show_help exit 0 fi # Header anzeigen log_header "🧹 MYP - Manage your Printer (Bereinigung)" log_header "═══════════════════════════════════════════" # Prüfe ob Infrastructure-Skript existiert INFRA_SCRIPT="./infrastructure/scripts/cleanup.sh" if [[ ! -f "$INFRA_SCRIPT" ]]; then log_error "❌ Infrastructure-Bereinigungsskript nicht gefunden: $INFRA_SCRIPT" log_error " Bitte stellen Sie sicher, dass die Projektstruktur vollständig ist." exit 1 fi # Prüfe Ausführungsrechte if [[ ! -x "$INFRA_SCRIPT" ]]; then log_warning "⚠️ Setze Ausführungsrechte für Infrastructure-Skript..." chmod +x "$INFRA_SCRIPT" fi # Parameter für Infrastructure-Skript vorbereiten INFRA_PARAMS=() if [[ "$FORCE_MODE" == true ]]; then INFRA_PARAMS+=("--force") fi if [[ "$ALL_MODE" == true ]]; then INFRA_PARAMS+=("--all") fi # Weiterleitung an Infrastructure-Skript log_info "🔄 Weiterleitung an Infrastructure-Bereinigungsskript..." if "${INFRA_SCRIPT}" "${INFRA_PARAMS[@]}"; then log_success "🎉 Bereinigung erfolgreich abgeschlossen!" exit 0 else EXIT_CODE=$? log_error "❌ Bereinigung fehlgeschlagen (Exit Code: $EXIT_CODE)" exit $EXIT_CODE fi