feat(storage): implement provider caching and error logging in asset builder

This commit is contained in:
mlogclub
2026-04-17 11:14:59 +08:00
parent 2aea800db1
commit c4aeea5581
3 changed files with 26 additions and 1 deletions
+9
View File
@@ -3,6 +3,8 @@ package builders
import (
"cs-agent/internal/models"
"cs-agent/internal/pkg/dto/response"
"cs-agent/internal/services/storage"
"log/slog"
)
func BuildAsset(item *models.Asset) response.AssetResponse {
@@ -23,5 +25,12 @@ func BuildAsset(item *models.Asset) response.AssetResponse {
UpdateUserID: item.UpdateUserID,
UpdateUserName: item.UpdateUserName,
}
if provider, err := storage.GetProvider(item.Provider); err != nil {
slog.Error("get storage provider failed", "provider", item.Provider, "error", err)
} else {
ret.URL = provider.GetSignedURL(item.StorageKey)
}
return ret
}