github.com/henvic/wedeploycli@v1.7.6-0.20200319005353-3630f582f284/command/activities/activities.go (about) 1 package activities 2 3 import ( 4 "context" 5 6 "github.com/henvic/wedeploycli/activities" 7 "github.com/henvic/wedeploycli/cmdflagsfromhost" 8 "github.com/henvic/wedeploycli/command/internal/we" 9 "github.com/spf13/cobra" 10 ) 11 12 // ActivitiesCmd is the command to list activities on a deploymnet. 13 var ActivitiesCmd = &cobra.Command{ 14 Use: "activities", 15 Short: "List activities of a recent deployment", 16 Args: cobra.NoArgs, 17 PreRunE: preRun, 18 RunE: activitiesRun, 19 Hidden: true, 20 } 21 22 var ( 23 commit string 24 groupUID string 25 ) 26 27 func preRun(cmd *cobra.Command, args []string) error { 28 return setupHost.Process(context.Background(), we.Context()) 29 } 30 31 var setupHost = cmdflagsfromhost.SetupHost{ 32 Pattern: cmdflagsfromhost.ProjectAndRemotePattern, 33 34 Requires: cmdflagsfromhost.Requires{ 35 Project: true, 36 Auth: true, 37 }, 38 39 PromptMissingProject: true, 40 } 41 42 func init() { 43 setupHost.Init(ActivitiesCmd) 44 ActivitiesCmd.Flags().StringVar(&commit, "commit", "", "Filter by deployment hash") 45 ActivitiesCmd.Flags().StringVar(&groupUID, "group", "", "Filter by Group UID") 46 } 47 48 func activitiesRun(cmd *cobra.Command, args []string) (err error) { 49 activitiesClient := activities.New(we.Context()) 50 51 var as []activities.Activity 52 var f = activities.Filter{ 53 Commit: commit, 54 GroupUID: groupUID, 55 } 56 57 as, err = activitiesClient.List(context.Background(), setupHost.Project(), f) 58 59 if err != nil { 60 return err 61 } 62 63 activities.PrettyPrintList(as) 64 return nil 65 }