decideDuplicateSourceIngestion function

  1. @visibleForTesting
DuplicateSourceIngestionDecision decideDuplicateSourceIngestion({
  1. required String? status,
  2. required int chunkCount,
})

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;
  }
}