32 lines
757 B
Go
32 lines
757 B
Go
// Package storage declares archive/storage backend adapter boundaries.
|
|
package storage
|
|
|
|
import "context"
|
|
|
|
// TODO: implement remote storage/archive backends (S3/SFTP/etc.).
|
|
|
|
// Backend is the adapter boundary for archive/storage operations.
|
|
type Backend interface {
|
|
Archive(ctx context.Context, req ArchiveRequest) (ArchiveResult, error)
|
|
}
|
|
|
|
// ArchiveItem describes one item to archive.
|
|
type ArchiveItem struct {
|
|
Kind string
|
|
LocalPath string
|
|
RemoteKey string
|
|
}
|
|
|
|
// ArchiveRequest describes one archive operation.
|
|
type ArchiveRequest struct {
|
|
SessionID string
|
|
ManifestPath string
|
|
Items []ArchiveItem
|
|
}
|
|
|
|
// ArchiveResult describes archive operation output.
|
|
type ArchiveResult struct {
|
|
Archived []ArchiveItem
|
|
Metadata map[string]any
|
|
}
|