Appwrite Fix 1.
Hopefully i can create accounts
This commit is contained in:
145
scripts/setup-appwrite-cors.ps1
Normal file
145
scripts/setup-appwrite-cors.ps1
Normal file
@@ -0,0 +1,145 @@
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# EmailSorter - Appwrite CORS Platform Setup (Automatisch)
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# Dieses Script fügt automatisch die Production-Platform zu Appwrite hinzu,
|
||||
# um CORS-Fehler zu beheben.
|
||||
#
|
||||
# Voraussetzungen:
|
||||
# - Appwrite läuft unter https://appwrite.webklar.com
|
||||
# - Du bist bereits eingeloggt in Appwrite (Browser-Session)
|
||||
# - PowerShell ExecutionPolicy erlaubt Scripts (Set-ExecutionPolicy RemoteSigned)
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
param(
|
||||
[string]$AppwriteUrl = "https://appwrite.webklar.com",
|
||||
[string]$ProjectId = "",
|
||||
[string]$PlatformHostname = "emailsorter.webklar.com",
|
||||
[string]$PlatformOrigin = "https://emailsorter.webklar.com"
|
||||
)
|
||||
|
||||
# Lade .env Datei falls vorhanden
|
||||
$envFile = "..\server\.env"
|
||||
if (Test-Path $envFile) {
|
||||
Get-Content $envFile | ForEach-Object {
|
||||
if ($_ -match '^\s*([^#][^=]*)=(.*)$') {
|
||||
$key = $matches[1].Trim()
|
||||
$value = $matches[2].Trim()
|
||||
[Environment]::SetEnvironmentVariable($key, $value, "Process")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Verwende Project ID aus .env falls nicht als Parameter übergeben
|
||||
if ([string]::IsNullOrEmpty($ProjectId)) {
|
||||
$ProjectId = $env:APPWRITE_PROJECT_ID
|
||||
}
|
||||
|
||||
if ([string]::IsNullOrEmpty($ProjectId)) {
|
||||
Write-Host "❌ Keine Project ID gefunden!" -ForegroundColor Red
|
||||
Write-Host " Bitte gib die Project ID als Parameter an oder setze APPWRITE_PROJECT_ID in server/.env" -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "`n🔧 Appwrite CORS Platform Setup" -ForegroundColor Cyan
|
||||
Write-Host "═══════════════════════════════════════════════════════════════" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "Appwrite URL: $AppwriteUrl" -ForegroundColor Gray
|
||||
Write-Host "Project ID: $ProjectId" -ForegroundColor Gray
|
||||
Write-Host "Platform Host: $PlatformHostname" -ForegroundColor Gray
|
||||
Write-Host "Platform Origin: $PlatformOrigin" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
|
||||
# Prüfe ob Selenium WebDriver verfügbar ist
|
||||
$seleniumAvailable = $false
|
||||
try {
|
||||
$seleniumModule = Get-Module -ListAvailable -Name "Selenium" -ErrorAction SilentlyContinue
|
||||
if ($null -eq $seleniumModule) {
|
||||
Write-Host "📦 Installiere Selenium WebDriver..." -ForegroundColor Yellow
|
||||
Install-Module -Name "Selenium" -Scope CurrentUser -Force -ErrorAction SilentlyContinue | Out-Null
|
||||
}
|
||||
Import-Module Selenium -ErrorAction SilentlyContinue
|
||||
$seleniumAvailable = $true
|
||||
} catch {
|
||||
Write-Host "⚠️ Selenium WebDriver nicht verfügbar. Verwende manuelle Methode." -ForegroundColor Yellow
|
||||
$seleniumAvailable = $false
|
||||
}
|
||||
|
||||
if (-not $seleniumAvailable) {
|
||||
Write-Host ""
|
||||
Write-Host "💡 MANUELLE METHODE:" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "Da Browser-Automatisierung nicht verfügbar ist, bitte folge diesen Schritten:" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "1. Öffne deinen Browser und gehe zu:" -ForegroundColor Cyan
|
||||
Write-Host " $AppwriteUrl" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "2. Logge dich ein (falls noch nicht geschehen)" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "3. Öffne dein Projekt (Project ID: $ProjectId)" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "4. Gehe zu Settings → Platforms (oder 'Web' in manchen Versionen)" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "5. Klicke auf 'Add Platform' oder 'Create Platform'" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "6. Wähle 'Web' als Platform-Typ" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "7. Fülle die Felder aus:" -ForegroundColor Cyan
|
||||
Write-Host " - Name: Production" -ForegroundColor White
|
||||
Write-Host " - Hostname: $PlatformHostname" -ForegroundColor White
|
||||
Write-Host " - Origin: $PlatformOrigin (falls gefragt)" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "8. Speichere und warte 1-2 Minuten" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "✅ Danach sollten die CORS-Fehler verschwinden!" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Browser-Automatisierung mit Selenium
|
||||
Write-Host "🌐 Starte Browser-Automatisierung..." -ForegroundColor Yellow
|
||||
|
||||
try {
|
||||
# Starte Chrome Browser
|
||||
$driver = Start-SeChrome -Headless:$false
|
||||
|
||||
Write-Host "✓ Browser gestartet" -ForegroundColor Green
|
||||
|
||||
# Navigiere zu Appwrite
|
||||
Write-Host "📡 Navigiere zu Appwrite..." -ForegroundColor Yellow
|
||||
$driver.Navigate().GoToUrl("$AppwriteUrl/console/project-$ProjectId/settings/platforms")
|
||||
|
||||
Start-Sleep -Seconds 3
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "⚠️ WICHTIG: Bitte führe die folgenden Schritte manuell im Browser aus:" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "1. Falls du nicht eingeloggt bist, logge dich jetzt ein" -ForegroundColor Cyan
|
||||
Write-Host "2. Die Platform-Seite sollte bereits geöffnet sein" -ForegroundColor Cyan
|
||||
Write-Host "3. Klicke auf 'Add Platform' oder 'Create Platform'" -ForegroundColor Cyan
|
||||
Write-Host "4. Wähle 'Web' als Platform-Typ" -ForegroundColor Cyan
|
||||
Write-Host "5. Fülle aus:" -ForegroundColor Cyan
|
||||
Write-Host " - Name: Production" -ForegroundColor White
|
||||
Write-Host " - Hostname: $PlatformHostname" -ForegroundColor White
|
||||
Write-Host " - Origin: $PlatformOrigin" -ForegroundColor White
|
||||
Write-Host "6. Klicke auf 'Create' oder 'Save'" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "Drücke Enter, wenn du fertig bist..." -ForegroundColor Yellow
|
||||
Read-Host
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "✅ Platform sollte jetzt hinzugefügt sein!" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "📝 Warte 1-2 Minuten, damit die CORS-Änderungen wirksam werden." -ForegroundColor Yellow
|
||||
Write-Host " Danach sollten die CORS-Fehler verschwinden." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
|
||||
# Browser bleibt offen für manuelle Schritte
|
||||
Write-Host "Browser bleibt geöffnet. Schließe ihn manuell, wenn du fertig bist." -ForegroundColor Gray
|
||||
|
||||
} catch {
|
||||
Write-Host ""
|
||||
Write-Host "❌ Fehler bei Browser-Automatisierung: $($_.Exception.Message)" -ForegroundColor Red
|
||||
Write-Host ""
|
||||
Write-Host "💡 Bitte verwende die manuelle Methode (siehe oben)" -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
Reference in New Issue
Block a user