From d9317a1a9c14dd1919f3e04537b01d5a14f8aaea Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Wed, 17 Jan 2024 09:58:09 +0000 Subject: feat: make deleting from the UI work with record store sync (#1580) * feat: make deleting from the UI work with record store sync * sort cli delete too * teeny bit more logs --- atuin-client/src/api_client.rs | 2 ++ atuin-client/src/history/store.rs | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'atuin-client') diff --git a/atuin-client/src/api_client.rs b/atuin-client/src/api_client.rs index 7b373599..affb3c98 100644 --- a/atuin-client/src/api_client.rs +++ b/atuin-client/src/api_client.rs @@ -286,6 +286,8 @@ impl<'a> Client<'a> { let url = format!("{}/api/v0/record", self.sync_addr); let url = Url::parse(url.as_str())?; + debug!("uploading {} records to {url}", records.len()); + let resp = self.client.post(url).json(records).send().await?; handle_resp_error(resp).await?; diff --git a/atuin-client/src/history/store.rs b/atuin-client/src/history/store.rs index a7785452..ab88182a 100644 --- a/atuin-client/src/history/store.rs +++ b/atuin-client/src/history/store.rs @@ -114,7 +114,7 @@ impl HistoryStore { } } - async fn push_record(&self, record: HistoryRecord) -> Result { + async fn push_record(&self, record: HistoryRecord) -> Result<(RecordId, RecordIdx)> { let bytes = record.serialize()?; let idx = self .store @@ -130,20 +130,22 @@ impl HistoryStore { .data(bytes) .build(); + let id = record.id; + self.store .push(&record.encrypt::(&self.encryption_key)) .await?; - Ok(idx) + Ok((id, idx)) } - pub async fn delete(&self, id: HistoryId) -> Result { + pub async fn delete(&self, id: HistoryId) -> Result<(RecordId, RecordIdx)> { let record = HistoryRecord::Delete(id); self.push_record(record).await } - pub async fn push(&self, history: History) -> Result { + pub async fn push(&self, history: History) -> Result<(RecordId, RecordIdx)> { // TODO(ellie): move the history store to its own file // it's tiny rn so fine as is let record = HistoryRecord::Create(history); -- cgit v1.3.1