diff --git a/file_store/src/cli/bucket.rs b/file_store/src/cli/bucket.rs index 247d41718..fbb0da4fa 100644 --- a/file_store/src/cli/bucket.rs +++ b/file_store/src/cli/bucket.rs @@ -66,7 +66,7 @@ pub struct FileFilter { impl FileFilter { pub fn list(&self, store: &FileStore) -> FileInfoStream { store.list( - self.prefix.clone(), + &self.prefix, self.after.as_ref().map(|dt| Utc.from_utc_datetime(dt)), self.before.as_ref().map(|dt| Utc.from_utc_datetime(dt)), ) diff --git a/file_store/src/file_info_poller.rs b/file_store/src/file_info_poller.rs index 23fff11bf..889fcdc7e 100644 --- a/file_store/src/file_info_poller.rs +++ b/file_store/src/file_info_poller.rs @@ -95,7 +95,7 @@ where } _ = cleanup_trigger.tick() => self.clean(&cache).await?, _ = poll_trigger.tick() => { - let files = self.store.list_all(self.file_type, after, before).await?; + let files = self.store.list_all(self.file_type.to_str(), after, before).await?; for file in files { if !is_already_processed(&self.db, &cache, &file).await? { if send_stream(&sender, &self.store, file.clone()).await? { diff --git a/file_store/src/file_store.rs b/file_store/src/file_store.rs index ad4eafa71..a1ca50dfc 100644 --- a/file_store/src/file_store.rs +++ b/file_store/src/file_store.rs @@ -57,23 +57,21 @@ impl FileStore { }) } - pub async fn list_all( + pub async fn list_all( &self, - file_type: P, + file_type: &str, after: A, before: B, ) -> Result> where - P: ToString + std::fmt::Display, A: Into>> + Copy, B: Into>> + Copy, { self.list(file_type, after, before).try_collect().await } - pub fn list(&self, prefix: P, after: A, before: B) -> FileInfoStream + pub fn list(&self, prefix: &str, after: A, before: B) -> FileInfoStream where - P: ToString, A: Into>> + Copy, B: Into>> + Copy, { diff --git a/iot_verifier/src/loader.rs b/iot_verifier/src/loader.rs index 11bf61c69..1ff3a3b72 100644 --- a/iot_verifier/src/loader.rs +++ b/iot_verifier/src/loader.rs @@ -257,7 +257,7 @@ impl Loader { tracing::info!( "checking for new ingest files of type {file_type} after {after} and before {before}" ); - let infos = store.list_all(file_type, after, before).await?; + let infos = store.list_all(file_type.to_str(), after, before).await?; if infos.is_empty() { tracing::info!("no available ingest files of type {file_type}"); return Ok(()); diff --git a/price/src/price_tracker.rs b/price/src/price_tracker.rs index ccc00f331..df64f4b06 100644 --- a/price/src/price_tracker.rs +++ b/price/src/price_tracker.rs @@ -183,7 +183,7 @@ async fn process_files( after: DateTime, ) -> Result>, PriceTrackerError> { file_store - .list(FileType::PriceReport, after, None) + .list(FileType::PriceReport.to_str(), after, None) .map_err(PriceTrackerError::from) .and_then(|file| process_file(file_store, file, sender)) .try_fold(None, |_old, ts| async move { Ok(Some(ts)) })