package cmd import ( "log" "github.com/Jaculabilis/intake/core" "github.com/spf13/cobra" ) var channelAddCmd = &cobra.Command{ Use: "add", Short: "Add a source to a channel", Long: `Add a source to a channel. `, Run: func(cmd *cobra.Command, args []string) { channelAdd(stringArg(cmd, "channel"), stringArg(cmd, "source")) }, } func init() { channelCmd.AddCommand(channelAddCmd) channelAddCmd.Flags().StringP("channel", "c", "", "Channel name") channelAddCmd.MarkFlagRequired("channel") channelAddCmd.Flags().StringP("source", "s", "", "Source to add") channelAddCmd.MarkFlagRequired("source") } func channelAdd(channel string, source string) { if channel == "" { log.Fatal("error: --channel is empty") } if source == "" { log.Fatal("error: --source is empty") } db := openAndMigrateDb() if err := core.AddSourceToChannel(db, channel, source); err != nil { log.Fatalf("error: failed to add source to channel: %v", err) } log.Printf("Added source %s to channel %s", source, channel) }