refactor: Inject metadata persister

This commit is contained in:
Felix Pojtinger
2021-12-15 00:41:23 +01:00
parent 32f56cd05d
commit fba58f6ef4
17 changed files with 98 additions and 85 deletions
+8 -3
View File
@@ -6,6 +6,7 @@ import (
"github.com/pojntfx/stfs/internal/compression"
"github.com/pojntfx/stfs/internal/keys"
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/operations"
"github.com/pojntfx/stfs/pkg/tape"
@@ -69,6 +70,11 @@ var archiveCmd = &cobra.Command{
viper.GetBool(overwriteFlag),
)
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
ops := operations.NewOperations(
tm.GetWriter,
tm.Close,
@@ -78,12 +84,11 @@ var archiveCmd = &cobra.Command{
tm.GetDrive,
tm.Close,
metadataPersister,
)
if _, err := ops.Archive(
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
},
config.PipeConfig{
Compression: viper.GetString(compressionFlag),
Encryption: viper.GetString(encryptionFlag),
+8 -3
View File
@@ -3,6 +3,7 @@ package cmd
import (
"github.com/pojntfx/stfs/internal/keys"
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/operations"
"github.com/pojntfx/stfs/pkg/tape"
@@ -56,6 +57,11 @@ var deleteCmd = &cobra.Command{
false,
)
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
ops := operations.NewOperations(
tm.GetWriter,
tm.Close,
@@ -65,12 +71,11 @@ var deleteCmd = &cobra.Command{
tm.GetDrive,
tm.Close,
metadataPersister,
)
return ops.Delete(
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
},
config.PipeConfig{
Compression: viper.GetString(compressionFlag),
Encryption: viper.GetString(encryptionFlag),
+7 -1
View File
@@ -2,6 +2,7 @@ package cmd
import (
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/inventory"
"github.com/spf13/cobra"
@@ -21,9 +22,14 @@ var findCmd = &cobra.Command{
return err
}
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
if _, err := inventory.Find(
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
Metadata: metadataPersister,
},
viper.GetString(expressionFlag),
+7 -1
View File
@@ -2,6 +2,7 @@ package cmd
import (
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/inventory"
"github.com/spf13/cobra"
@@ -17,9 +18,14 @@ var listCmd = &cobra.Command{
return err
}
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
if _, err := inventory.List(
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
Metadata: metadataPersister,
},
viper.GetString(nameFlag),
+8 -3
View File
@@ -3,6 +3,7 @@ package cmd
import (
"github.com/pojntfx/stfs/internal/keys"
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/operations"
"github.com/pojntfx/stfs/pkg/tape"
@@ -52,6 +53,11 @@ var moveCmd = &cobra.Command{
false,
)
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
ops := operations.NewOperations(
tm.GetWriter,
tm.Close,
@@ -61,12 +67,11 @@ var moveCmd = &cobra.Command{
tm.GetDrive,
tm.Close,
metadataPersister,
)
return ops.Move(
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
},
config.PipeConfig{
Compression: viper.GetString(compressionFlag),
Encryption: viper.GetString(encryptionFlag),
+7 -1
View File
@@ -6,6 +6,7 @@ import (
"github.com/pojntfx/stfs/internal/encryption"
"github.com/pojntfx/stfs/internal/keys"
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/internal/signature"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/recovery"
@@ -57,6 +58,11 @@ var recoveryIndexCmd = &cobra.Command{
}
defer reader.Close()
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
return recovery.Index(
config.DriveReaderConfig{
Drive: reader,
@@ -67,7 +73,7 @@ var recoveryIndexCmd = &cobra.Command{
DriveIsRegular: readerIsRegular,
},
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
Metadata: metadataPersister,
},
config.PipeConfig{
Compression: viper.GetString(compressionFlag),
+8 -3
View File
@@ -3,6 +3,7 @@ package cmd
import (
"github.com/pojntfx/stfs/internal/keys"
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/operations"
"github.com/pojntfx/stfs/pkg/tape"
@@ -56,6 +57,11 @@ var restoreCmd = &cobra.Command{
false,
)
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
ops := operations.NewOperations(
tm.GetWriter,
tm.Close,
@@ -65,12 +71,11 @@ var restoreCmd = &cobra.Command{
tm.GetDrive,
tm.Close,
metadataPersister,
)
return ops.Restore(
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
},
config.PipeConfig{
Compression: viper.GetString(compressionFlag),
Encryption: viper.GetString(encryptionFlag),
+8 -3
View File
@@ -6,6 +6,7 @@ import (
"github.com/pojntfx/stfs/internal/compression"
"github.com/pojntfx/stfs/internal/keys"
"github.com/pojntfx/stfs/internal/logging"
"github.com/pojntfx/stfs/internal/persisters"
"github.com/pojntfx/stfs/pkg/config"
"github.com/pojntfx/stfs/pkg/operations"
"github.com/pojntfx/stfs/pkg/tape"
@@ -59,6 +60,11 @@ var updateCmd = &cobra.Command{
false,
)
metadataPersister := persisters.NewMetadataPersister(viper.GetString(metadataFlag))
if err := metadataPersister.Open(); err != nil {
return err
}
ops := operations.NewOperations(
tm.GetWriter,
tm.Close,
@@ -68,12 +74,11 @@ var updateCmd = &cobra.Command{
tm.GetDrive,
tm.Close,
metadataPersister,
)
if _, err := ops.Update(
config.MetadataConfig{
Metadata: viper.GetString(metadataFlag),
},
config.PipeConfig{
Compression: viper.GetString(compressionFlag),
Encryption: viper.GetString(encryptionFlag),