cards-native/Sources/Core/Auth/AuthClient+EnsureSignedIn.swift
Till JS 33101d703d feat(auth): DEBUG-Auto-Login (Memoro-Pattern)
Bei lokalen Xcode-Run-Builds wird beim Start automatisch eingeloggt
wenn der Keychain leer ist. Spart das manuelle Login bei jedem
Re-Install via Xcode.

- Sources/Core/Auth/DebugCredentials.swift — #if DEBUG-gewrappte
  Founder-Credentials (tills95@gmail.com / Aa-123456789)
- Sources/Core/Auth/AuthClient+EnsureSignedIn.swift — Extension
  ensureSignedIn() prüft .signedOut → signIn() in DEBUG
- RootView.task ruft auth.ensureSignedIn() — Release-Builds No-Op
  (Release/TestFlight/App-Store bleiben unverändert, User muss
  manuell einloggen)

Pattern 1:1 von memoro-native (gleiches File-Layout +
Klassennamen).

Build 9 → 10.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 17:50:29 +02:00

18 lines
703 B
Swift

import ManaCore
extension AuthClient {
/// Stellt sicher, dass der User eingeloggt ist. Nur in DEBUG-Builds
/// aktiv: wenn die Session nach `bootstrap()` `.signedOut` ist,
/// wird automatisch mit den DEBUG-Credentials angemeldet. In
/// Release-Builds No-Op User muss manuell einloggen.
///
/// Vorbild: memoro-native wird in `RootView.task` aufgerufen.
func ensureSignedIn() async {
#if DEBUG
if case .signedOut = status {
Log.auth.notice("DEBUG auto-login: signing in with DebugCredentials")
await signIn(email: DebugCredentials.email, password: DebugCredentials.password)
}
#endif
}
}