29 lines
844 B
Swift

import Foundation
@MainActor
final class ActivityService {
static let shared = ActivityService()
private let client = APIClient.shared
func summary() async throws -> ActivitySummary {
try await client.request("/activity/summary")
}
func heatmap() async throws -> [String: Int] {
try await client.request("/activity/heatmap")
}
func trend(days: Int = 7) async throws -> [ActivityTrend] {
try await client.request("/activity/trend?days=\(days)")
}
func streak() async throws -> ActivityStreak {
let offset = TimeZone.current.secondsFromGMT() / 60
return try await client.request("/activity/streak?tzOffset=\(offset)")
}
func recommendations() async throws -> [ActivityRecommendation] {
try await client.request("/activity/recommendations")
}
}