From df6f00ffbbcd7f56bcbdd3b7ed044c607282f617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Duffeck?= Date: Wed, 1 Jun 2022 08:44:03 +0200 Subject: [PATCH] Make the source and destination managers configurable --- ocis/pkg/command/migrate.go | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/ocis/pkg/command/migrate.go b/ocis/pkg/command/migrate.go index 08d2e29ac..bcffa9d33 100644 --- a/ocis/pkg/command/migrate.go +++ b/ocis/pkg/command/migrate.go @@ -45,6 +45,18 @@ func MigrateShares(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "shares", Usage: "migrates shares from the previous to the new ", + Flags: []cli.Flag{ + &cli.StringFlag{ + Name: "from", + Value: "json", + Usage: "Share manager to export the data from", + }, + &cli.StringFlag{ + Name: "to", + Value: "cs3", + Usage: "Share manager to import the data to", + }, + }, Before: func(c *cli.Context) error { err := parser.ParseConfig(cfg) if err != nil { @@ -55,8 +67,8 @@ func MigrateShares(cfg *config.Config) *cli.Command { }, Action: func(c *cli.Context) error { rcfg := revaConfig(cfg.Sharing) - oldDriver := "json" - newDriver := "cs3" + oldDriver := c.String("from") + newDriver := c.String("to") shareChan := make(chan *collaboration.Share) receivedShareChan := make(chan share.ReceivedShareDump) @@ -71,7 +83,7 @@ func MigrateShares(cfg *config.Config) *cli.Command { os.Exit(1) } if _, ok := oldMgr.(share.DumpableManager); !ok { - fmt.Println("Share manager type '" + oldDriver + "' does not support migration.") + fmt.Println("Share manager type '" + oldDriver + "' does not support dumping its shares.") os.Exit(1) } @@ -86,16 +98,16 @@ func MigrateShares(cfg *config.Config) *cli.Command { os.Exit(1) } if _, ok := newMgr.(share.LoadableManager); !ok { - fmt.Println("Share manager type '" + newDriver + "' does not support migration.") + fmt.Println("Share manager type '" + newDriver + "' does not support loading a shares dump.") os.Exit(1) } var wg sync.WaitGroup wg.Add(2) go func() { - fmt.Println("Loading...") + fmt.Println("Migrating shares...") err = newMgr.(share.LoadableManager).Load(shareChan, receivedShareChan) - fmt.Println("Finished loading...") + fmt.Println("Finished migrating shares.") if err != nil { fmt.Println("Error while loading shares", err) os.Exit(1)