Inhalt

Aktueller Ordner: duesseldorfer-schuelerinventar-swift-client/Duesk/ViewModels
⬅ Übergeordnet

TimeSeriesViewModel.swift

import Foundation
import SwiftUI

@MainActor
class LoginViewModel: ObservableObject {
    @Published var username = "gast"
    @Published var password = "gast"
    @Published var isLoading = false
    @Published var errorMessage: String?
    
    func login() async -> Bool {
        isLoading = true
        errorMessage = nil
        
        do {
            let response = try await APIService.shared.login(username: username, password: password)
            
            if response.success, let userId = response.userID, let session = response.session {
                SessionManager.shared.setSession(userId: userId, session: session)
                isLoading = false
                return true
            } else {
                errorMessage = response.error ?? "Anmeldung fehlgeschlagen"
                isLoading = false
                return false
            }
        } catch {
            errorMessage = "Verbindungsfehler: \(error.localizedDescription)"
            isLoading = false
            return false
        }
    }
}