From 67d3b25c87d2cd68d9193919c30a09520d9da68b Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Sun, 27 Apr 2025 10:37:33 +0800 Subject: [PATCH] fix(dbfs): set current version is not executed from existing transaction --- application/statics/statics.go | 9 ++++----- pkg/filemanager/fs/dbfs/manage.go | 3 ++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/application/statics/statics.go b/application/statics/statics.go index 6081c26..4fb8578 100644 --- a/application/statics/statics.go +++ b/application/statics/statics.go @@ -8,6 +8,10 @@ import ( _ "embed" "encoding/json" "fmt" + "github.com/cloudreve/Cloudreve/v4/application/constants" + "github.com/cloudreve/Cloudreve/v4/pkg/logging" + "github.com/cloudreve/Cloudreve/v4/pkg/util" + "github.com/gin-contrib/static" "io" "io/fs" "net/http" @@ -16,11 +20,6 @@ import ( "sort" "strings" "time" - - "github.com/cloudreve/Cloudreve/v4/application/constants" - "github.com/cloudreve/Cloudreve/v4/pkg/logging" - "github.com/cloudreve/Cloudreve/v4/pkg/util" - "github.com/gin-contrib/static" ) const StaticFolder = "statics" diff --git a/pkg/filemanager/fs/dbfs/manage.go b/pkg/filemanager/fs/dbfs/manage.go index 3ac7259..b32ad13 100644 --- a/pkg/filemanager/fs/dbfs/manage.go +++ b/pkg/filemanager/fs/dbfs/manage.go @@ -651,7 +651,8 @@ func (f *DBFS) setCurrentVersion(ctx context.Context, target *File, versionId in return serializer.NewError(serializer.CodeDBError, "Failed to start transaction", err) } - if err := f.fileClient.SetPrimaryEntity(ctx, target.Model, targetVersion.ID()); err != nil { + if err := fc.SetPrimaryEntity(ctx, target.Model, targetVersion.ID()); err != nil { + _ = inventory.Rollback(tx) return serializer.NewError(serializer.CodeDBError, "Failed to set primary entity", err) }