From 93782c9db7e6310b272c9bae1508746562e8a3ed Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Fri, 5 Jan 2024 08:41:17 -0500 Subject: [PATCH] feat: add meta MetadataParentLink --- metadata/parent_link.go | 24 ++++++++++++++++++++++++ types/parent_link.go | 15 +++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 metadata/parent_link.go create mode 100644 types/parent_link.go diff --git a/metadata/parent_link.go b/metadata/parent_link.go new file mode 100644 index 0000000..961f383 --- /dev/null +++ b/metadata/parent_link.go @@ -0,0 +1,24 @@ +package metadata + +import ( + "git.lumeweb.com/LumeWeb/libs5-go/encoding" + "git.lumeweb.com/LumeWeb/libs5-go/types" +) + +// MetadataParentLink represents the structure for Metadata Parent Link. +type MetadataParentLink struct { + CID *encoding.CID + Type types.ParentLinkType + Role string + Signed bool +} + +// NewMetadataParentLink creates a new MetadataParentLink with the provided values. +func NewMetadataParentLink(cid *encoding.CID, role string, signed bool) *MetadataParentLink { + return &MetadataParentLink{ + CID: cid, + Type: types.ParentLinkTypeUserIdentity, + Role: role, + Signed: signed, + } +} diff --git a/types/parent_link.go b/types/parent_link.go new file mode 100644 index 0000000..f700bd9 --- /dev/null +++ b/types/parent_link.go @@ -0,0 +1,15 @@ +package types + +type ParentLinkType int + +const ( + ParentLinkTypeUserIdentity ParentLinkType = 0x01 + ParentLinkTypeBoard ParentLinkType = 0x05 + ParentLinkTypeBridgeUser ParentLinkType = 0x0A +) + +var ParentLinkTypeMap = map[ParentLinkType]string{ + ParentLinkTypeUserIdentity: "UserIdentity", + ParentLinkTypeBoard: "Board", + ParentLinkTypeBridgeUser: "BridgeUser", +}