From 2174e497173698bac1fa7e068e575226e60271b6 Mon Sep 17 00:00:00 2001 From: DarkSky Date: Sat, 25 Nov 2023 17:18:44 +0800 Subject: [PATCH] fix: lint & delete test case --- libs/jwst-codec-utils/src/doc_operation/yrs_op/mod.rs | 4 ++-- .../src/storage/blobs/auto_storage/auto_storage.rs | 11 +++++++---- libs/jwst-storage/src/storage/blobs/blob_storage.rs | 2 ++ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/libs/jwst-codec-utils/src/doc_operation/yrs_op/mod.rs b/libs/jwst-codec-utils/src/doc_operation/yrs_op/mod.rs index 749ea96f..dbb0c861 100644 --- a/libs/jwst-codec-utils/src/doc_operation/yrs_op/mod.rs +++ b/libs/jwst-codec-utils/src/doc_operation/yrs_op/mod.rs @@ -88,7 +88,7 @@ pub fn yrs_create_nest_type_from_root(doc: &yrs::Doc, target_type: CRDTNestType, } } -pub fn gen_nest_type_from_root(doc: &mut Doc, crdt_param: &CRDTParam) -> Option { +pub fn gen_nest_type_from_root(doc: &Doc, crdt_param: &CRDTParam) -> Option { match crdt_param.new_nest_type { CRDTNestType::Array => Some(yrs_create_nest_type_from_root( doc, @@ -124,7 +124,7 @@ pub fn gen_nest_type_from_root(doc: &mut Doc, crdt_param: &CRDTParam) -> Option< } pub fn gen_nest_type_from_nest_type( - doc: &mut Doc, + doc: &Doc, crdt_param: CRDTParam, nest_type: &mut YrsNestType, ) -> Option { diff --git a/libs/jwst-storage/src/storage/blobs/auto_storage/auto_storage.rs b/libs/jwst-storage/src/storage/blobs/auto_storage/auto_storage.rs index 8366fd92..e522388c 100644 --- a/libs/jwst-storage/src/storage/blobs/auto_storage/auto_storage.rs +++ b/libs/jwst-storage/src/storage/blobs/auto_storage/auto_storage.rs @@ -35,7 +35,7 @@ impl BlobAutoStorage { .map(|c| c > 0)?) } - async fn insert(&self, table: &str, hash: &str, params: &str, blob: &[u8]) -> JwstBlobResult<()> { + async fn insert(&self, workspace: &str, hash: &str, params: &str, blob: &[u8]) -> JwstBlobResult<()> { if let Some(model) = OptimizedBlobs::find_by_id((workspace.into(), hash.into(), params.into())) .one(&self.pool) .await? @@ -47,12 +47,13 @@ impl BlobAutoStorage { } } else { OptimizedBlobs::insert(OptimizedBlobActiveModel { - workspace_id: Set(table.into()), + workspace_id: Set(workspace.into()), hash: Set(hash.into()), blob: Set(blob.into()), length: Set(blob.len().try_into().unwrap()), params: Set(params.into()), created_at: Set(Utc::now().into()), + deleted_at: Set(None), }) .exec(&self.pool) .await?; @@ -152,14 +153,16 @@ impl BlobAutoStorage { } } - async fn delete(&self, table: &str, hash: &str) -> JwstBlobResult { + async fn delete(&self, workspace: &str, hash: &str) -> JwstBlobResult { OptimizedBlobs::update_many() .col_expr(OptimizedBlobColumn::DeletedAt, Expr::value(Utc::now())) .filter(OptimizedBlobColumn::WorkspaceId.eq(workspace)) .filter(OptimizedBlobColumn::Hash.eq(hash)) + .filter(OptimizedBlobColumn::DeletedAt.is_null()) .exec(&self.pool) .await - .map(|r| r.rows_affected == 1) + .map(|r| r.rows_affected) + .map_err(|e| e.into()) } async fn drop(&self, table: &str) -> Result<(), DbErr> { diff --git a/libs/jwst-storage/src/storage/blobs/blob_storage.rs b/libs/jwst-storage/src/storage/blobs/blob_storage.rs index 63537df6..84dbfbdb 100644 --- a/libs/jwst-storage/src/storage/blobs/blob_storage.rs +++ b/libs/jwst-storage/src/storage/blobs/blob_storage.rs @@ -80,6 +80,7 @@ impl BlobDBStorage { .select_only() .column_as(BlobColumn::Length, "size") .column_as(BlobColumn::CreatedAt, "created_at") + .filter(BlobColumn::DeletedAt.is_null()) .into_model::() .one(&self.pool) .await @@ -139,6 +140,7 @@ impl BlobDBStorage { .col_expr(BlobColumn::DeletedAt, Expr::value(Utc::now())) .filter(BlobColumn::WorkspaceId.eq(workspace)) .filter(BlobColumn::Hash.eq(hash)) + .filter(BlobColumn::DeletedAt.is_null()) .exec(&self.pool) .await .map(|r| r.rows_affected == 1)