diff --git a/cmd/kopia/command_backup.go b/cmd/kopia/command_backup.go index 830dd019e..320022184 100644 --- a/cmd/kopia/command_backup.go +++ b/cmd/kopia/command_backup.go @@ -119,7 +119,7 @@ func runBackupCommand(c *kingpin.ParseContext) error { manifest.Handle = handleID manifest.Description = *backupDescription - err = saveBackupManifest(conn.Vault, fileID, manifest) + err = conn.SnapshotManager.SaveSnapshot(fileID, manifest) if err != nil { return fmt.Errorf("cannot save manifest: %v", err) } diff --git a/cmd/kopia/manifest_util.go b/cmd/kopia/manifest_util.go deleted file mode 100644 index 16c1e33a4..000000000 --- a/cmd/kopia/manifest_util.go +++ /dev/null @@ -1,18 +0,0 @@ -package main - -import ( - "encoding/json" - "fmt" - - "github.com/kopia/kopia/snapshot" - "github.com/kopia/kopia/vault" -) - -func saveBackupManifest(vlt *vault.Vault, manifestID string, m *snapshot.Manifest) error { - b, err := json.Marshal(m) - if err != nil { - return fmt.Errorf("cannot marshal backup manifest to JSON: %v", err) - } - - return vlt.Put(manifestID, b) -} diff --git a/snapshot/manager.go b/snapshot/manager.go index 29e978816..b331c18b6 100644 --- a/snapshot/manager.go +++ b/snapshot/manager.go @@ -74,6 +74,16 @@ func (m *Manager) LoadSnapshot(manifestID string) (*Manifest, error) { return &s, nil } +// SaveSnapshot persists given snapshot manifest with a given ID. +func (m *Manager) SaveSnapshot(manifestID string, manifest *Manifest) error { + b, err := json.Marshal(manifest) + if err != nil { + return fmt.Errorf("cannot marshal backup manifest to JSON: %v", err) + } + + return m.vault.Put(manifestID, b) +} + // LoadSnapshots efficiently loads and parses a given list of snapshot IDs. func (m *Manager) LoadSnapshots(names []string) ([]*Manifest, error) { result := make([]*Manifest, len(names))