# 🚀 MYP - Manage your Printer (Hauptstartskript) # Weiterleitung an das optimierte Infrastructure-Startskript param( [Parameter(Position=0)] [ValidateSet("dev", "prod", "test", "development", "production")] [string]$Environment = "dev", [switch]$Help, [switch]$Version, [switch]$Clean ) # Farbdefinitionen für bessere Ausgabe $Colors = @{ Info = "Cyan" Success = "Green" Warning = "Yellow" Error = "Red" Header = "Magenta" } function Write-ColorOutput { param([string]$Message, [string]$Color = "White") Write-Host $Message -ForegroundColor $Colors[$Color] } # Header anzeigen Write-ColorOutput "MYP - Manage your Printer" "Header" Write-ColorOutput "=======================================" "Header" # Hilfe anzeigen if ($Help) { Write-ColorOutput "`nVerwendung:" "Info" Write-ColorOutput " .\start.ps1 [Environment] [Optionen]" "White" Write-ColorOutput "`nVerfügbare Umgebungen:" "Info" Write-ColorOutput " dev, development - Entwicklungsumgebung (Standard)" "White" Write-ColorOutput " prod, production - Produktionsumgebung" "White" Write-ColorOutput " test - Testumgebung" "White" Write-ColorOutput "`nOptionen:" "Info" Write-ColorOutput " -Help - Diese Hilfe anzeigen" "White" Write-ColorOutput " -Version - Versionsinformationen anzeigen" "White" Write-ColorOutput " -Clean - System vor Start bereinigen" "White" Write-ColorOutput "`nBeispiele:" "Info" Write-ColorOutput " .\start.ps1 # Entwicklungsumgebung starten" "White" Write-ColorOutput " .\start.ps1 prod # Produktionsumgebung starten" "White" Write-ColorOutput " .\start.ps1 dev -Clean # Mit Bereinigung starten" "White" exit 0 } # Version anzeigen if ($Version) { Write-ColorOutput "`nSysteminformationen:" "Info" Write-ColorOutput " MYP Version: 2.0.0" "White" Write-ColorOutput " PowerShell: $($PSVersionTable.PSVersion)" "White" Write-ColorOutput " OS: $($PSVersionTable.OS)" "White" Write-ColorOutput " Architektur: $env:PROCESSOR_ARCHITECTURE" "White" exit 0 } # Bereinigung falls gewünscht if ($Clean) { Write-ColorOutput "`nSystem wird bereinigt..." "Warning" & ".\infrastructure\scripts\cleanup.ps1" -Force if ($LASTEXITCODE -ne 0) { Write-ColorOutput "Bereinigung fehlgeschlagen!" "Error" exit 1 } Write-ColorOutput "System erfolgreich bereinigt!" "Success" } # Prüfe ob Infrastructure-Skript existiert $InfraScript = ".\infrastructure\scripts\start.ps1" if (-not (Test-Path $InfraScript)) { Write-ColorOutput "`nInfrastructure-Startskript nicht gefunden: $InfraScript" "Error" Write-ColorOutput " Bitte stellen Sie sicher, dass die Projektstruktur vollständig ist." "Error" exit 1 } # Weiterleitung an Infrastructure-Skript Write-ColorOutput "`nWeiterleitung an Infrastructure-Startskript..." "Info" Write-ColorOutput " Umgebung: $Environment" "White" try { & $InfraScript $Environment $ExitCode = $LASTEXITCODE if ($ExitCode -eq 0) { Write-ColorOutput "`nMYP erfolgreich gestartet!" "Success" Write-ColorOutput " Zugriff über: http://localhost" "Info" } else { Write-ColorOutput "`nStart fehlgeschlagen (Exit Code: $ExitCode)" "Error" } exit $ExitCode } catch { Write-ColorOutput "`nUnerwarteter Fehler beim Start:" "Error" Write-ColorOutput " $($_.Exception.Message)" "Error" exit 1 }