fix(sync): add x-product-id header and fix pullDelta response decode mismatch

This commit is contained in:
saravanakumardb1 2026-03-01 21:26:12 -08:00
parent 8cd0ea7fa7
commit 48b88d3a29

View File

@ -132,7 +132,8 @@ final class PlatformSyncManager: ObservableObject {
let (data, response) = try await authenticatedRequest(url: url, method: "GET")
try validateResponse(response)
return try decoder.decode([SyncTimerDTO].self, from: data)
let wrapper = try decoder.decode(SyncDeltaResponse.self, from: data)
return wrapper.timers
}
/// Push a single timer change to the server
@ -255,6 +256,7 @@ final class PlatformSyncManager: ObservableObject {
request.httpMethod = method
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue(UUID().uuidString, forHTTPHeaderField: "x-request-id")
request.setValue("chronomind", forHTTPHeaderField: "x-product-id")
if let token = authToken {
request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
@ -350,6 +352,11 @@ final class PlatformSyncManager: ObservableObject {
// MARK: - DTOs
struct SyncDeltaResponse: Codable {
let timers: [SyncTimerDTO]
let count: Int
}
struct SyncTimerDTO: Codable {
let id: String
var label: String