39 lines
954 B
Go
39 lines
954 B
Go
package depot
|
|
|
|
import "time"
|
|
|
|
// Object represents a stored object in the depot
|
|
type Object struct {
|
|
ID string
|
|
Name string
|
|
ContentType string
|
|
ContentLength int64
|
|
BucketName string
|
|
ObjectKey string
|
|
ContainsContent bool
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
// PrepareUploadInput represents the input for preparing an upload
|
|
type PrepareUploadInput struct {
|
|
Prefix string // Optional prefix for organizing objects (e.g., network_id)
|
|
Name string
|
|
ContentType string
|
|
ContentLength int64
|
|
}
|
|
|
|
// PrepareUploadResult represents the result of preparing an upload
|
|
type PrepareUploadResult struct {
|
|
ObjectID string
|
|
UploadURL string
|
|
UploadHeaders map[string]string
|
|
}
|
|
|
|
// Config holds configuration for the depot service
|
|
type Config struct {
|
|
GoogleServiceAccountEmail string
|
|
BucketName string
|
|
UploadURLExpiry time.Duration
|
|
DownloadURLExpiry time.Duration
|
|
}
|