2026-04-09 10:01:23 +08:00
|
|
|
package builders
|
|
|
|
|
|
|
|
|
|
import (
|
2026-08-21 00:41:07 +08:00
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/models"
|
|
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/pkg/dto/response"
|
|
|
|
|
"code.tczkiot.com/wlw/ai-agent/internal/services/storage"
|
2026-04-17 11:14:59 +08:00
|
|
|
"log/slog"
|
2026-04-09 10:01:23 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func BuildAsset(item *models.Asset) response.AssetResponse {
|
|
|
|
|
ret := response.AssetResponse{
|
|
|
|
|
ID: item.ID,
|
|
|
|
|
AssetID: item.AssetID,
|
|
|
|
|
Provider: item.Provider,
|
|
|
|
|
Filename: item.Filename,
|
|
|
|
|
FileSize: item.FileSize,
|
|
|
|
|
MimeType: item.MimeType,
|
|
|
|
|
StorageKey: item.StorageKey,
|
|
|
|
|
Status: item.Status,
|
|
|
|
|
CreatedAt: item.CreatedAt.Format("2006-01-02 15:04:05"),
|
|
|
|
|
UpdatedAt: item.UpdatedAt.Format("2006-01-02 15:04:05"),
|
|
|
|
|
CreateUserID: item.CreateUserID,
|
|
|
|
|
CreateUserName: item.CreateUserName,
|
|
|
|
|
UpdateUserID: item.UpdateUserID,
|
|
|
|
|
UpdateUserName: item.UpdateUserName,
|
|
|
|
|
}
|
2026-04-17 11:14:59 +08:00
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-09 10:01:23 +08:00
|
|
|
return ret
|
|
|
|
|
}
|