decideDuplicateSourceIngestion function
Implementation
@visibleForTesting
DuplicateSourceIngestionDecision decideDuplicateSourceIngestion({
required String? status,
required int chunkCount,
}) {
final normalizedStatus = status ?? 'completed';
switch (normalizedStatus) {
case 'completed':
return chunkCount > 0
? DuplicateSourceIngestionDecision.skipCompleted
: DuplicateSourceIngestionDecision.resetAndResume;
case 'pending':
case 'processing':
return DuplicateSourceIngestionDecision.alreadyInProgress;
case 'failed':
return DuplicateSourceIngestionDecision.resetAndResume;
default:
// Backward-compat fallback for unknown status values.
return chunkCount > 0
? DuplicateSourceIngestionDecision.skipCompleted
: DuplicateSourceIngestionDecision.resetAndResume;
}
}