Files
t 2bbf42b741 refactor(auth): delegate access control to be-system
Remove Agent Desk users, roles, login sessions, tokens, and local permission persistence. Expose the backend as an embeddable ai-agent module with host-provided subject lookup and operation authorization callbacks, and complete the frontend/backend repository split.
2026-08-21 00:41:07 +08:00

36 lines
1.1 KiB
Go

package builders
import (
"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"
"log/slog"
)
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,
}
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
}