# ๐Ÿš€ 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 "`n๐Ÿ“– Verwendung:" "Info" Write-ColorOutput " .\start.ps1 [Environment] [Optionen]" "White" Write-ColorOutput "`n๐ŸŒ Verfรผgbare Umgebungen:" "Info" Write-ColorOutput " dev, development - Entwicklungsumgebung (Standard)" "White" Write-ColorOutput " prod, production - Produktionsumgebung" "White" Write-ColorOutput " test - Testumgebung" "White" Write-ColorOutput "`nโš™๏ธ Optionen:" "Info" Write-ColorOutput " -Help - Diese Hilfe anzeigen" "White" Write-ColorOutput " -Version - Versionsinformationen anzeigen" "White" Write-ColorOutput " -Clean - System vor Start bereinigen" "White" Write-ColorOutput "`n๐Ÿ“š Beispiele:" "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 "`n๐Ÿ“‹ Systeminformationen:" "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 "`n๐Ÿงน System 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 "`nโŒ Infrastructure-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 "`n๐Ÿ”„ Weiterleitung an Infrastructure-Startskript..." "Info" Write-ColorOutput " Umgebung: $Environment" "White" try { & $InfraScript $Environment $ExitCode = $LASTEXITCODE if ($ExitCode -eq 0) { Write-ColorOutput "`n๐ŸŽ‰ MYP erfolgreich gestartet!" "Success" Write-ColorOutput " Zugriff รผber: http://localhost" "Info" } else { Write-ColorOutput "`nโŒ Start fehlgeschlagen (Exit Code: $ExitCode)" "Error" } exit $ExitCode } catch { Write-ColorOutput "`n๐Ÿ’ฅ Unerwarteter Fehler beim Start:" "Error" Write-ColorOutput " $($_.Exception.Message)" "Error" exit 1 }