coreapi: mirror unixfs file types
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
Łukasz Magiera committed
Feb 2, 2019 at 17:27 UTC
6939b602ddc03d0fab1b2d83da54fb2894df6f4d
3 files changed
+18
-9
core/commands/ls.go
+3
-5
@@ -11,8 +11,6 @@ import (
11
iface "github.com/ipfs/go-ipfs/core/coreapi/interface"
12
options "github.com/ipfs/go-ipfs/core/coreapi/interface/options"
13
14
- unixfs "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs"
15
- unixfspb "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs/pb"
14
cmds "gx/ipfs/QmR77mMvvh8mJBBWQmBfQBu8oD38NUN4KE9SL2gDgAQNc6/go-ipfs-cmds"
15
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
16
)
@@ -21,7 +19,7 @@ import (
19
type LsLink struct {
20
Name, Hash string
21
Size uint64
24
- Type unixfspb.Data_DataType
22
+ Type iface.FileType
23
}
24
25
// LsObject is an element of LsOutput
@@ -232,9 +230,9 @@ func tabularOutput(req *cmds.Request, w io.Writer, out *LsOutput, lastObjectHash
230
s := "%[1]s\t%[3]s\n"
231
232
switch {
235
- case link.Type == unixfs.TDirectory && size:
233
+ case link.Type == iface.TDirectory && size:
234
s = "%[1]s\t-\t%[3]s/\n"
237
- case link.Type == unixfs.TDirectory && !size:
235
+ case link.Type == iface.TDirectory && !size:
236
s = "%[1]s\t%[3]s/\n"
237
case size:
238
s = "%s\t%v\t%s\n"
core/coreapi/interface/unixfs.go
+13
-2
@@ -4,7 +4,7 @@ import (
4
"context"
5
"github.com/ipfs/go-ipfs/core/coreapi/interface/options"
6
7
- "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs/pb"
7
+ "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs"
8
ipld "gx/ipfs/QmRL22E4paat7ky7vx9MLpR97JHHbFPrg3ytFQw6qp1y1s/go-ipld-format"
9
"gx/ipfs/QmaXvvAVAQ5ABqM5xtjYmV85xmN5MkWAZsX9H9Fwo4FVXp/go-ipfs-files"
10
)
@@ -16,10 +16,21 @@ type AddEvent struct {
16
Size string `json:",omitempty"`
17
}
18
19
+type FileType int32
20
+
21
+const (
22
+ TRaw = FileType(unixfs.TRaw)
23
+ TFile = FileType(unixfs.TFile)
24
+ TDirectory = FileType(unixfs.TDirectory)
25
+ TMetadata = FileType(unixfs.TMetadata)
26
+ TSymlink = FileType(unixfs.TSymlink)
27
+ THAMTShard = FileType(unixfs.THAMTShard)
28
+)
29
+
30
type LsLink struct {
31
Link *ipld.Link
32
Size uint64
22
- Type unixfs_pb.Data_DataType
33
+ Type FileType
34
35
Err error
36
}
core/coreapi/unixfs.go
+2
-2
@@ -182,7 +182,7 @@ func (api *UnixfsAPI) processLink(ctx context.Context, linkres ft.LinkResult, se
182
switch lnk.Link.Cid.Type() {
183
case cid.Raw:
184
// No need to check with raw leaves
185
- lnk.Type = ft.TFile
185
+ lnk.Type = coreiface.TFile
186
lnk.Size = lnk.Link.Size
187
case cid.DagProtobuf:
188
if !settings.ResolveChildren {
@@ -201,7 +201,7 @@ func (api *UnixfsAPI) processLink(ctx context.Context, linkres ft.LinkResult, se
201
lnk.Err = err
202
break
203
}
204
- lnk.Type = d.Type()
204
+ lnk.Type = coreiface.FileType(d.Type())
205
lnk.Size = d.FileSize()
206
}
207
}