Removed duplicate ids.

This commit is contained in:
Jeff Baskin 2022-12-16 08:22:36 -05:00
parent ab30604033
commit 83e3b2ef9e

View File

@ -67,9 +67,15 @@ impl MoreThanText {
} }
async fn add_entry(&self, entry: CacheEntry) -> String { async fn add_entry(&self, entry: CacheEntry) -> String {
let id: String = thread_rng().sample_iter(&Alphanumeric).take(32).collect(); let mut id: String = "".to_string();
let file = Path::new(&self.dir).join(&id); let mut dup = true;
write(file, entry.to_bytes()).await.unwrap(); while dup {
id = thread_rng().sample_iter(&Alphanumeric).take(32).collect();
dup = Path::new(&self.dir).join(&id).as_path().exists().await;
}
write(Path::new(&self.dir).join(&id), entry.to_bytes())
.await
.unwrap();
let mut cache = self.cache.lock().await; let mut cache = self.cache.lock().await;
cache.insert(id.clone(), entry); cache.insert(id.clone(), entry);
return id; return id;
@ -160,12 +166,6 @@ mod cache {
use super::*; use super::*;
use setup::MTT; use setup::MTT;
#[async_std::test]
async fn ids_are_random() {
let mtt = MTT::new().await;
mtt.db.new_id().await;
}
#[async_std::test] #[async_std::test]
async fn entry_ids_are_random() { async fn entry_ids_are_random() {
let mtt = MTT::new().await; let mtt = MTT::new().await;