validateTrack static method

ValidationResult validateTrack(
  1. AudioTrack track
)

Validates audio track data.

Implementation

static ValidationResult validateTrack(AudioTrack track) {
  final List<String> errors = <String>[];

  if (track.id.isEmpty) {
    errors.add('Track ID cannot be empty');
  }

  if (track.title.isEmpty) {
    errors.add('Track title cannot be empty');
  }

  if (track.url.isEmpty) {
    errors.add('Track URL cannot be empty');
  } else if (!isValidAudioUrl(track.url)) {
    errors.add('Invalid audio URL format');
  }

  final Duration? duration = track.duration;
  if (duration != null && duration.isNegative) {
    errors.add('Track duration cannot be negative');
  }

  return ValidationResult(isValid: errors.isEmpty, errors: errors);
}