Files
moteva/server/internal/domain/design/assets.go
T

39 lines
739 B
Go
Raw Normal View History

package design
import "context"
type AssetUploadRequest struct {
FileName string
ContentType string
Size int64
}
type AssetUpload struct {
Driver string
Bucket string
ObjectKey string
UploadURL string
PublicURL string
Headers map[string]string
ExpiresIn int64
}
type AssetObjectRequest struct {
FileName string
ContentType string
Data []byte
}
type AssetObject struct {
Driver string
Bucket string
ObjectKey string
PublicURL string
}
type AssetStorage interface {
CreateUpload(ctx context.Context, req AssetUploadRequest) (AssetUpload, error)
PutObject(ctx context.Context, req AssetObjectRequest) (AssetObject, error)
DeleteObject(ctx context.Context, publicURL string) error
}