Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
hacdias committed Aug 11, 2023
1 parent 08a81ee commit 34275d9
Show file tree
Hide file tree
Showing 19 changed files with 154 additions and 58 deletions.
4 changes: 2 additions & 2 deletions core/commands/dag/dag.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import (
"encoding/json"
"fmt"
"io"
"path"

"github.com/ipfs/kubo/core/commands/cmdenv"
"github.com/ipfs/kubo/core/commands/cmdutils"

ipfspath "github.com/ipfs/boxo/path"
cid "github.com/ipfs/go-cid"
cidenc "github.com/ipfs/go-cidutil/cidenc"
cmds "github.com/ipfs/go-ipfs-cmds"
Expand Down Expand Up @@ -160,7 +160,7 @@ var DagResolveCmd = &cmds.Command{
}
p := enc.Encode(out.Cid)
if out.RemPath != "" {
p = ipfspath.Join([]string{p, out.RemPath})
p = path.Join(p, out.RemPath)
}

fmt.Fprint(w, p)
Expand Down
7 changes: 6 additions & 1 deletion core/commands/dag/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@ func dagGet(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) e
return err
}

rp, err := api.ResolvePath(req.Context, path.New(req.Arguments[0]))
p, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

rp, err := api.ResolvePath(req.Context, p)
if err != nil {
return err
}
Expand Down
7 changes: 6 additions & 1 deletion core/commands/files.go
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,12 @@ being GC'ed.
func getNodeFromPath(ctx context.Context, node *core.IpfsNode, api iface.CoreAPI, p string) (ipld.Node, error) {
switch {
case strings.HasPrefix(p, "/ipfs/"):
return api.ResolveNode(ctx, path.New(p))
pth, err := path.NewPath(p)
if err != nil {
return nil, err
}

return api.ResolveNode(ctx, pth)
default:
fsn, err := mfs.Lookup(node.FilesRoot, p)
if err != nil {
Expand Down
5 changes: 4 additions & 1 deletion core/commands/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,10 @@ may also specify the level of compression by specifying '-l=<1-9>'.
return err
}

p := path.New(req.Arguments[0])
p, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

file, err := api.Unixfs().Get(ctx, p)
if err != nil {
Expand Down
9 changes: 7 additions & 2 deletions core/commands/ls.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import (

iface "github.com/ipfs/boxo/coreiface"
options "github.com/ipfs/boxo/coreiface/options"
path "github.com/ipfs/boxo/coreiface/path"
unixfs "github.com/ipfs/boxo/ipld/unixfs"
unixfs_pb "github.com/ipfs/boxo/ipld/unixfs/pb"
path "github.com/ipfs/boxo/path"
cmds "github.com/ipfs/go-ipfs-cmds"
)

Expand Down Expand Up @@ -131,7 +131,12 @@ The JSON output contains type information.
}

for i, fpath := range paths {
results, err := api.Unixfs().Ls(req.Context, path.New(fpath),
pth, err := path.NewPath(fpath)
if err != nil {
return err
}

results, err := api.Unixfs().Ls(req.Context, pth,
options.Unixfs.ResolveChildren(resolveSize || resolveType))
if err != nil {
return err
Expand Down
9 changes: 7 additions & 2 deletions core/commands/name/ipns.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,12 @@ Resolve the value of a dnslink:
return err
}

return cmds.EmitOnce(res, &ResolvedPath{path.FromString(output.String())})
pth, err := path.NewPath(output.String())
if err != nil {
return err
}

return cmds.EmitOnce(res, &ResolvedPath{pth})
}

output, err := api.Name().Search(req.Context, name, opts...)
Expand All @@ -146,7 +151,7 @@ Resolve the value of a dnslink:
if v.Err != nil && (recursive || v.Err != namesys.ErrResolveRecursion) {
return v.Err
}
if err := res.Emit(&ResolvedPath{path.FromString(v.Path.String())}); err != nil {
if err := res.Emit(&ResolvedPath{v.Path}); err != nil {
return err
}

Expand Down
4 changes: 2 additions & 2 deletions core/commands/name/name.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ type IpnsInspectValidation struct {
// IpnsInspectEntry contains the deserialized values from an IPNS Entry:
// https://github.com/ipfs/specs/blob/main/ipns/IPNS.md#record-serialization-format
type IpnsInspectEntry struct {
Value *path.Path
Value path.Path
ValidityType *ipns.ValidityType
Validity *time.Time
Sequence *uint64
Expand Down Expand Up @@ -157,7 +157,7 @@ Passing --verify will verify signature against provided public key.

// Best effort to get the fields. Show everything we can.
if v, err := rec.Value(); err == nil {
result.Entry.Value = &v
result.Entry.Value = v
}

if v, err := rec.ValidityType(); err == nil {
Expand Down
7 changes: 5 additions & 2 deletions core/commands/name/publish.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

iface "github.com/ipfs/boxo/coreiface"
options "github.com/ipfs/boxo/coreiface/options"
path "github.com/ipfs/boxo/coreiface/path"
path "github.com/ipfs/boxo/path"
cmds "github.com/ipfs/go-ipfs-cmds"
ke "github.com/ipfs/kubo/core/commands/keyencode"
)
Expand Down Expand Up @@ -118,7 +118,10 @@ Alternatively, publish an <ipfs-path> using a valid PeerID (as listed by
opts = append(opts, options.Name.TTL(d))
}

p := path.New(req.Arguments[0])
p, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

if verifyExists, _ := req.Options[resolveOptionName].(bool); verifyExists {
_, err := api.ResolveNode(req.Context, p)
Expand Down
13 changes: 10 additions & 3 deletions core/commands/object/diff.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import (
"fmt"
"io"

path "github.com/ipfs/boxo/coreiface/path"
"github.com/ipfs/boxo/ipld/merkledag/dagutils"
path "github.com/ipfs/boxo/path"
cmds "github.com/ipfs/go-ipfs-cmds"

cmdenv "github.com/ipfs/kubo/core/commands/cmdenv"
Expand Down Expand Up @@ -60,8 +60,15 @@ Example:
return err
}

pa := path.New(req.Arguments[0])
pb := path.New(req.Arguments[1])
pa, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

pb, err := path.NewPath(req.Arguments[1])
if err != nil {
return err
}

changes, err := api.Object().Diff(req.Context, pa, pb)
if err != nil {
Expand Down
24 changes: 19 additions & 5 deletions core/commands/object/object.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (

humanize "github.com/dustin/go-humanize"
"github.com/ipfs/boxo/coreiface/options"
path "github.com/ipfs/boxo/coreiface/path"
dag "github.com/ipfs/boxo/ipld/merkledag"
path "github.com/ipfs/boxo/path"
"github.com/ipfs/go-cid"
ipld "github.com/ipfs/go-ipld-format"
)
Expand Down Expand Up @@ -95,7 +95,10 @@ is the raw data of the object.
return err
}

path := path.New(req.Arguments[0])
path, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

data, err := api.Object().Data(req.Context, path)
if err != nil {
Expand Down Expand Up @@ -135,7 +138,10 @@ multihash. Provided for legacy reasons. Use 'ipfs dag get' instead.
return err
}

path := path.New(req.Arguments[0])
path, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

rp, err := api.ResolvePath(req.Context, path)
if err != nil {
Expand Down Expand Up @@ -212,7 +218,10 @@ DEPRECATED and provided for legacy reasons. Use 'ipfs dag get' instead.
return err
}

path := path.New(req.Arguments[0])
path, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

datafieldenc, _ := req.Options[encodingOptionName].(string)
if err != nil {
Expand Down Expand Up @@ -333,7 +342,12 @@ DEPRECATED: Provided for legacy reasons. Modern replacements:
return err
}

ns, err := api.Object().Stat(req.Context, path.New(req.Arguments[0]))
p, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

ns, err := api.Object().Stat(req.Context, p)
if err != nil {
return err
}
Expand Down
29 changes: 23 additions & 6 deletions core/commands/object/patch.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/ipfs/kubo/core/commands/cmdutils"

"github.com/ipfs/boxo/coreiface/options"
"github.com/ipfs/boxo/coreiface/path"
"github.com/ipfs/boxo/path"
)

var ObjectPatchCmd = &cmds.Command{
Expand Down Expand Up @@ -76,7 +76,10 @@ DEPRECATED and provided for legacy reasons. Use 'ipfs add' or 'ipfs files' inste
return err
}

root := path.New(req.Arguments[0])
root, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

file, err := cmdenv.GetFileArg(req.Files.Entries())
if err != nil {
Expand Down Expand Up @@ -127,7 +130,10 @@ DEPRECATED and provided for legacy reasons. Use 'files cp' and 'dag put' instead
return err
}

root := path.New(req.Arguments[0])
root, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

file, err := cmdenv.GetFileArg(req.Files.Entries())
if err != nil {
Expand Down Expand Up @@ -174,7 +180,10 @@ DEPRECATED and provided for legacy reasons. Use 'files rm' instead.
return err
}

root := path.New(req.Arguments[0])
root, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

name := req.Arguments[1]
p, err := api.Object().RmLink(req.Context, root, name)
Expand Down Expand Up @@ -238,9 +247,17 @@ Use MFS and 'files' commands instead:
return err
}

root := path.New(req.Arguments[0])
root, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

name := req.Arguments[1]
child := path.New(req.Arguments[2])

child, err := path.NewPath(req.Arguments[2])
if err != nil {
return err
}

create, _ := req.Options[createOptionName].(bool)
if err != nil {
Expand Down
37 changes: 31 additions & 6 deletions core/commands/pin/pin.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import (
bserv "github.com/ipfs/boxo/blockservice"
coreiface "github.com/ipfs/boxo/coreiface"
options "github.com/ipfs/boxo/coreiface/options"
"github.com/ipfs/boxo/coreiface/path"
offline "github.com/ipfs/boxo/exchange/offline"
dag "github.com/ipfs/boxo/ipld/merkledag"
"github.com/ipfs/boxo/path"
verifcid "github.com/ipfs/boxo/verifcid"
cid "github.com/ipfs/go-cid"
cidenc "github.com/ipfs/go-cidutil/cidenc"
Expand Down Expand Up @@ -184,7 +184,12 @@ var addPinCmd = &cmds.Command{
func pinAddMany(ctx context.Context, api coreiface.CoreAPI, enc cidenc.Encoder, paths []string, recursive bool) ([]string, error) {
added := make([]string, len(paths))
for i, b := range paths {
rp, err := api.ResolvePath(ctx, path.New(b))
p, err := path.NewPath(b)
if err != nil {
return nil, err
}

rp, err := api.ResolvePath(ctx, p)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -242,7 +247,12 @@ ipfs pin ls -t indirect <cid>

pins := make([]string, 0, len(req.Arguments))
for _, b := range req.Arguments {
rp, err := api.ResolvePath(req.Context, path.New(b))
p, err := path.NewPath(b)
if err != nil {
return err
}

rp, err := api.ResolvePath(req.Context, p)
if err != nil {
return err
}
Expand Down Expand Up @@ -453,7 +463,12 @@ func pinLsKeys(req *cmds.Request, typeStr string, api coreiface.CoreAPI, emit fu
}

for _, p := range req.Arguments {
rp, err := api.ResolvePath(req.Context, path.New(p))
p, err := path.NewPath(p)
if err != nil {
return err
}

rp, err := api.ResolvePath(req.Context, p)
if err != nil {
return err
}
Expand Down Expand Up @@ -568,12 +583,22 @@ pin.

unpin, _ := req.Options[pinUnpinOptionName].(bool)

fromPath, err := path.NewPath(req.Arguments[0])
if err != nil {
return err
}

toPath, err := path.NewPath(req.Arguments[1])
if err != nil {
return err
}

// Resolve the paths ahead of time so we can return the actual CIDs
from, err := api.ResolvePath(req.Context, path.New(req.Arguments[0]))
from, err := api.ResolvePath(req.Context, fromPath)
if err != nil {
return err
}
to, err := api.ResolvePath(req.Context, path.New(req.Arguments[1]))
to, err := api.ResolvePath(req.Context, toPath)
if err != nil {
return err
}
Expand Down
Loading

0 comments on commit 34275d9

Please sign in to comment.