markSyncCompleted method
Creates metadata marking sync as completed successfully.
Implementation
DatumSyncMetadata markSyncCompleted({
String? dataHash,
Map<String, DatumEntitySyncDetails>? entityCounts,
DateTime? serverTimestamp,
int? syncDuration,
}) {
final now = DateTime.now();
final updatedDevices = Map<String, DateTime>.from(devices ?? {});
if (deviceId != null) {
updatedDevices[deviceId!] = now;
}
return copyWith(
lastSuccessfulSyncTime: now,
syncStatus: SyncStatus.synced,
dataHash: dataHash,
entityCounts: entityCounts,
serverTimestamp: serverTimestamp,
devices: updatedDevices,
conflictCount: 0,
errorMessage: null,
retryCount: 0,
syncDuration: syncDuration,
);
}