import Foundation // MARK: - Auth struct LoginRequest: Encodable { let email: String let password: String } struct LoginResponse: Decodable { let token: String let name: String let isPremium: Bool } // MARK: - Dogs struct Dog: Decodable, Identifiable { let id: Int let name: String let rasse: String? let fotoUrl: String? let geburtstag: String? } // MARK: - Routes struct GPSPoint: Codable, Hashable { let lat: Double let lon: Double let alt: Double? } struct RouteListItem: Decodable, Identifiable { let id: Int let userId: Int let name: String let beschreibung: String? let distanzKm: Double? let dauerMin: Int? let createdAt: String? let previewTrack: [GPSPoint] let fotoUrls: [String]? let userName: String? let isPublic: Bool? } struct RouteDetail: Decodable, Identifiable { let id: Int let userId: Int let name: String let beschreibung: String? let distanzKm: Double? let dauerMin: Int? let gpsTrack: [GPSPoint] let fotoUrls: [String]? let createdAt: String? let userName: String? let dogIds: [Int]? }