mirror of
https://git.sr.ht/~phw/scotty
synced 2025-04-30 05:37:05 +02:00
Transfer command refactoring
Make transfer command processing even more modular
This commit is contained in:
parent
7c85ba05ab
commit
a9e07915ce
7 changed files with 236 additions and 179 deletions
|
@ -18,8 +18,11 @@ package cmd
|
|||
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
"go.uploadedlobster.com/scotty/internal/backends"
|
||||
"go.uploadedlobster.com/scotty/internal/cli"
|
||||
"go.uploadedlobster.com/scotty/internal/models"
|
||||
"go.uploadedlobster.com/scotty/internal/storage"
|
||||
)
|
||||
|
||||
// listensCmd represents the listens command
|
||||
|
@ -28,15 +31,18 @@ var listensCmd = &cobra.Command{
|
|||
Short: "Transfer listens between two services",
|
||||
Long: `Transfers listens between two configured services.`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
exp, imp, err := resolveBackends[models.ListensExport, models.ListensImport, models.ListensResult](cmd)
|
||||
db, err := storage.New(viper.GetString("database"))
|
||||
cobra.CheckErr(err)
|
||||
c, err := cli.NewTransferCmd[
|
||||
models.ListensExport,
|
||||
models.ListensImport,
|
||||
models.ListensResult,
|
||||
](cmd, &db, "listens")
|
||||
cobra.CheckErr(err)
|
||||
exp := backends.ListensExportProcessor{Backend: c.ExpBackend}
|
||||
imp := backends.ListensImportProcessor{Backend: c.ImpBackend}
|
||||
err = c.Transfer(exp, imp)
|
||||
cobra.CheckErr(err)
|
||||
exp.processor = backends.ListensExportProcessor{
|
||||
Backend: exp.backend,
|
||||
}
|
||||
imp.processor = backends.ListensImportProcessor{
|
||||
Backend: imp.backend,
|
||||
}
|
||||
cmdExportImport(cmd, "listens", exp, imp)
|
||||
},
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue