rustriff_lib/domain/
validation.rs1pub fn sanitize_wav_file_name(file_name: &str) -> Result<String, String> {
10 let trimmed = file_name.trim();
11
12 if trimmed.is_empty() {
13 return Err("IR file name cannot be empty".to_string());
14 }
15
16 if trimmed.contains('\\') || trimmed.contains('/') || trimmed.contains("..") {
17 return Err("Invalid IR file name".to_string());
18 }
19
20 if !trimmed.to_ascii_lowercase().ends_with(".wav") {
21 return Err("Only .wav IR files are supported".to_string());
22 }
23
24 Ok(trimmed.to_string())
25}