package cmd

import (
	"github.com/spf13/cobra"
	"github.com/spf13/viper"
)

var backupCmd = &cobra.Command{
	Use:   "backup",
	Short: "Run an incremental backup job",
	Long:  `Run incremental backups to cloud targets (via Rclone) or local targets (via Rsync).`,
}

func init() {
	rootCmd.AddCommand(backupCmd)

	// Flags inherited by both 'cloud' and 'local' subcommands
	backupCmd.PersistentFlags().StringP("src", "s", "", "source directory")
	backupCmd.PersistentFlags().StringP("dst", "d", "", "destination directory")
	backupCmd.PersistentFlags().Int("keep", 14, "number of incremental versions to retain")

	_ = viper.BindPFlag("source", backupCmd.PersistentFlags().Lookup("src"))
	_ = viper.BindPFlag("destination", backupCmd.PersistentFlags().Lookup("dst"))
	_ = viper.BindPFlag("keep_incrementals", backupCmd.PersistentFlags().Lookup("keep"))
}
