feat(admin): 运行时策略 - 配置对象存储策略与默认并发

This commit is contained in:
ddcat666 committed 2026-09-29 08:26:13 +08:00
1 parent 387d3562ad
commit bcccddb4e9
12 files changed
+207 -48

No files matched your search

+21 -2
View File
@@ -1,14 +1,33 @@
package app
import "infinite-canvas/backend/internal/storage"
import (
"time"
"infinite-canvas/backend/internal/storage"
)
type ossSettingValue = storage.Settings
type ossProviderCredentials = storage.Credentials
type ossObjectStream = storage.ObjectStream
func (s *Service) storageSettingWithRuntimePolicy(setting ossSettingValue) ossSettingValue {
setting = normalizeOSSSetting(setting)
policy, err := s.RuntimePolicy()
if err != nil {
return setting
}
setting.Runtime = storage.RuntimePolicy{
TransferTimeout: time.Duration(policy.Storage.TransferTimeoutSeconds) * time.Second,
AccessURLTTL: time.Duration(policy.Storage.AccessURLTTLSeconds) * time.Second,
ProviderAccessURLTTL: time.Duration(policy.Storage.ProviderAccessURLTTLSeconds) * time.Second,
MaxBufferedUploadSize: policy.Storage.NonSeekableBufferMB * 1024 * 1024,
ErrorBodyLimit: policy.Storage.ErrorBodyKB * 1024,
}
return normalizeOSSSetting(setting)
}
var (
putOSSObject = storage.PutOSSObject
putAliyunOSSObject = storage.PutAliyunOSSObject
getOSSObjectRange = storage.GetOSSObjectRange
getAliyunOSSObjectRange = storage.GetAliyunOSSObjectRange
signedOSSObjectURL = storage.SignedOSSObjectURL