Completely replace implementation #1
@@ -148,6 +148,7 @@ mod tests {
|
||||
- Use `cargo fmt` for formatting
|
||||
- Use `cargo clippy` for linting
|
||||
- Ensure documentation for public APIs
|
||||
- _ALWAYS_ format and lint after making a change, and fix the linting errors
|
||||
|
||||
### 4. Commit Standards
|
||||
- Commit both code and tests together
|
||||
|
||||
@@ -119,15 +119,14 @@ impl TransactionSource for GoCardlessAdapter {
|
||||
}
|
||||
|
||||
// Optimization: Stop if we found all wanted accounts
|
||||
if let Some(_) = wanted_set {
|
||||
if found_count >= target_count && target_count > 0 {
|
||||
if wanted_set.is_some()
|
||||
&& found_count >= target_count && target_count > 0 {
|
||||
info!("Found all {} wanted accounts. Stopping search.", target_count);
|
||||
return Ok(accounts);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
info!("Found {} matching accounts in GoCardless", accounts.len());
|
||||
Ok(accounts)
|
||||
|
||||
@@ -166,8 +166,7 @@ async fn process_single_account(
|
||||
if dry_run {
|
||||
info!("[DRY RUN] Would create transaction {}", tx.internal_id);
|
||||
stats.created += 1;
|
||||
} else {
|
||||
if let Err(e) = destination.create_transaction(&dest_id, &tx).await {
|
||||
} else if let Err(e) = destination.create_transaction(&dest_id, &tx).await {
|
||||
// Firefly might still reject it as duplicate if hash matches, even if we didn't find it via heuristic
|
||||
// (unlikely if heuristic is good, but possible)
|
||||
let err_str = e.to_string();
|
||||
@@ -184,7 +183,6 @@ async fn process_single_account(
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(stats)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user