From 2713490304be053dea135994d6911bb261a2a59a Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Mon, 29 Apr 2019 13:38:08 -0700 Subject: [PATCH] commands(pin update): return resolved CIDs instead of paths fixes #6269 License: MIT Signed-off-by: Steven Allen --- core/commands/pin.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/core/commands/pin.go b/core/commands/pin.go index ba594de7d33..c10c0bbacc9 100644 --- a/core/commands/pin.go +++ b/core/commands/pin.go @@ -406,17 +406,29 @@ new pin and removing the old one. return err } + enc, err := cmdenv.GetCidEncoder(req) + if err != nil { + return err + } + unpin, _ := req.Options[pinUnpinOptionName].(bool) - from := path.New(req.Arguments[0]) - to := path.New(req.Arguments[1]) + // Resolve the paths ahead of time so we can return the actual CIDs + from, err := api.ResolvePath(req.Context, path.New(req.Arguments[0])) + if err != nil { + return err + } + to, err := api.ResolvePath(req.Context, path.New(req.Arguments[1])) + if err != nil { + return err + } err = api.Pin().Update(req.Context, from, to, options.Pin.Unpin(unpin)) if err != nil { return err } - return cmds.EmitOnce(res, &PinOutput{Pins: []string{from.String(), to.String()}}) + return cmds.EmitOnce(res, &PinOutput{Pins: []string{enc.Encode(from.Cid()), enc.Encode(to.Cid())}}) }, Encoders: cmds.EncoderMap{ cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *PinOutput) error {