From 8445c277300aa36d6fb1bcba6a3dd5687cf5f56e Mon Sep 17 00:00:00 2001 From: Hiroaki Kobayashi Date: Sat, 14 Sep 2019 20:11:21 +0900 Subject: [PATCH] fix ItemClient#Complete --- cmd/todoist/cmd/item.go | 16 +++++++++++----- todoist/item.go | 7 ++++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/cmd/todoist/cmd/item.go b/cmd/todoist/cmd/item.go index 92877e2..38e94de 100644 --- a/cmd/todoist/cmd/item.go +++ b/cmd/todoist/cmd/item.go @@ -11,6 +11,7 @@ import ( "os" "sort" "strings" + "time" ) // itemCmd represents the item command @@ -280,11 +281,16 @@ var itemCompleteCmd = &cobra.Command{ Short: "complete items", RunE: func(cmd *cobra.Command, args []string) error { if err := util.AutoCommit(func(client todoist.Client, ctx context.Context) error { - return util.ProcessIDs( - args, - func(ids []todoist.ID) error { - return client.Item.Complete(ids, true) - }) + if len(args) != 1 { + return fmt.Errorf("require one item id") + } + id, err := todoist.NewID(args[0]) + if err != nil { + return err + } + // FIXME: support date_completed option + date := todoist.Time{time.Now().UTC()} + return client.Item.Complete(id, date, true) }); err != nil { return err } diff --git a/todoist/item.go b/todoist/item.go index 3d5efd5..1cfc065 100644 --- a/todoist/item.go +++ b/todoist/item.go @@ -108,7 +108,7 @@ func (c *ItemClient) Move(projectItems map[ID][]ID, toProject ID) error { return nil } -func (c *ItemClient) Complete(ids []ID, forceHistory bool) error { +func (c *ItemClient) Complete(id ID, dateCompleted Time, forceHistory bool) error { var fh int if forceHistory { fh = 1 @@ -119,8 +119,9 @@ func (c *ItemClient) Complete(ids []ID, forceHistory bool) error { Type: "item_complete", UUID: GenerateUUID(), Args: map[string]interface{}{ - "ids": ids, - "force_history": fh, + "id": id, + "date_completed": dateCompleted, + "force_history": fh, }, } c.queue = append(c.queue, command)