@@ -2,15 +2,16 @@ package jobs
22
33import (
44 "context"
5- "encoding/json"
65 "log/slog"
76 "strings"
87 "time"
98
109 "github.com/pkg/errors"
1110
1211 "github.com/usememos/memos/plugin/storage/s3"
13- apiv1 "github.com/usememos/memos/server/route/api/v1"
12+ apiv2pb "github.com/usememos/memos/proto/gen/api/v2"
13+ storepb "github.com/usememos/memos/proto/gen/store"
14+ apiv2 "github.com/usememos/memos/server/route/api/v2"
1415 "github.com/usememos/memos/store"
1516)
1617
@@ -95,44 +96,35 @@ func signExternalLinks(ctx context.Context, dataStore *store.Store) error {
9596// Returns error only in case of internal problems (ie: database or configuration issues).
9697// May return nil client and nil error.
9798func findObjectStorage (ctx context.Context , dataStore * store.Store ) (* s3.Client , error ) {
98- systemSettingStorageServiceID , err := dataStore .GetWorkspaceSetting (ctx , & store. FindWorkspaceSetting { Name : apiv1 . SystemSettingStorageServiceIDName . String ()} )
99+ workspaceStorageSetting , err := dataStore .GetWorkspaceStorageSetting (ctx )
99100 if err != nil {
100- return nil , errors .Wrap (err , "Failed to find SystemSettingStorageServiceIDName " )
101+ return nil , errors .Wrap (err , "Failed to find workspaceStorageSetting " )
101102 }
102-
103- storageServiceID := apiv1 .DefaultStorage
104- if systemSettingStorageServiceID != nil {
105- err = json .Unmarshal ([]byte (systemSettingStorageServiceID .Value ), & storageServiceID )
106- if err != nil {
107- return nil , errors .Wrap (err , "Failed to unmarshal storage service id" )
108- }
103+ if workspaceStorageSetting .StorageType != storepb .WorkspaceStorageSetting_STORAGE_TYPE_EXTERNAL || workspaceStorageSetting .ActivedExternalStorageId == nil {
104+ return nil , nil
109105 }
110- storage , err := dataStore .GetStorage (ctx , & store.FindStorage {ID : & storageServiceID })
106+ storage , err := dataStore .GetStorageV1 (ctx , & store.FindStorage {ID : workspaceStorageSetting . ActivedExternalStorageId })
111107 if err != nil {
112- return nil , errors .Wrap (err , "Failed to find StorageServiceID " )
108+ return nil , errors .Wrap (err , "Failed to find storage " )
113109 }
114-
115110 if storage == nil {
116- return nil , nil // storage not configured - not an error, just return empty ref
111+ return nil , nil
117112 }
118- storageMessage , err := apiv1 .ConvertStorageFromStore (storage )
119113
120- if err != nil {
121- return nil , errors .Wrap (err , "Failed to ConvertStorageFromStore" )
122- }
123- if storageMessage .Type != apiv1 .StorageS3 {
114+ storageMessage := apiv2 .ConvertStorageFromStore (storage )
115+ if storageMessage .Type != apiv2pb .Storage_S3 {
124116 return nil , nil
125117 }
126118
127- s3Config := storageMessage .Config .S3Config
119+ s3Config := storageMessage .Config .GetS3Config ()
128120 return s3 .NewClient (ctx , & s3.Config {
129121 AccessKey : s3Config .AccessKey ,
130122 SecretKey : s3Config .SecretKey ,
131123 EndPoint : s3Config .EndPoint ,
132124 Region : s3Config .Region ,
133125 Bucket : s3Config .Bucket ,
134- URLPrefix : s3Config .URLPrefix ,
135- URLSuffix : s3Config .URLSuffix ,
126+ URLPrefix : s3Config .UrlPrefix ,
127+ URLSuffix : s3Config .UrlSuffix ,
136128 PreSign : s3Config .PreSign ,
137129 })
138130}
0 commit comments