diff --git a/metadata/directory.go b/metadata/directory.go index 8ebbb85..61e1c72 100644 --- a/metadata/directory.go +++ b/metadata/directory.go @@ -17,6 +17,10 @@ type DirectoryMetadata struct { var _ SerializableMetadata = (*DirectoryMetadata)(nil) +func NewEmptyDirectoryMetadata() *DirectoryMetadata { + return &DirectoryMetadata{} +} + func NewDirectoryMetadata(details DirectoryMetadataDetails, directories directoryReferenceMap, files fileReferenceMap, extraMetadata ExtraMetadata) *DirectoryMetadata { dirMetadata := &DirectoryMetadata{ Details: details, diff --git a/node/node.go b/node/node.go index 0117f89..aa964fe 100644 --- a/node/node.go +++ b/node/node.go @@ -306,6 +306,13 @@ func (n *NodeImpl) GetMetadataByCID(cid *encoding.CID) (md metadata.Metadata, er case types.CIDTypeMetadataWebapp: md = metadata.NewEmptyWebAppMetadata() + err = msgpack.Unmarshal(bytes, md) + if err != nil { + return nil, err + } + case types.CIDTypeDirectory: + md = metadata.NewEmptyDirectoryMetadata() + err = msgpack.Unmarshal(bytes, md) if err != nil { return nil, err