You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diary/cmd/list.go

43 lines
945 B

/*
Copyright © 2021 NAME HERE <EMAIL ADDRESS>
*/
package cmd
import (
"git.nagee.dev/isthisnagee/diary/model"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
// listCmd represents the list command
var listCmd = &cobra.Command{
Use: "list",
Short: "List all the diary entries, newest first",
Long: `List all the entries, starting from the newest.
To list the entries added today:
$ diary list today
`,
Run: func(cmd *cobra.Command, args []string) {
var num_entries *int64 = new(int64)
q := model.GetDiaryEntriesQuery{}
*num_entries = viper.GetInt64("listNumEntries")
if *num_entries > 0 {
q.NumEntries = num_entries
}
results := App.Db.GetDiaryEntries(q)
PrintEntries(results)
},
}
func init() {
listCmd.PersistentFlags().Int64P("num-entries", "n", 20, "The number of entries to list")
viper.BindPFlag("listNumEntries", listCmd.PersistentFlags().Lookup("num-entries"))
rootCmd.AddCommand(listCmd)
}