feat: initial commit
This commit is contained in:
commit
a161b86c9a
705 changed files with 288162 additions and 0 deletions
76
vendor/sourcery.dny.nu/pana/public_key.go
vendored
Normal file
76
vendor/sourcery.dny.nu/pana/public_key.go
vendored
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
package pana
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
ld "sourcery.dny.nu/longdistance"
|
||||
secv1 "sourcery.dny.nu/pana/vocab/w3id/securityv1"
|
||||
)
|
||||
|
||||
// PublicKey is the W3ID Security v1 Public Key.
|
||||
type PublicKey ld.Node
|
||||
|
||||
// NewPublicKey initialises a new PublicKey.
|
||||
func NewPublicKey() *PublicKey {
|
||||
return &PublicKey{
|
||||
Properties: make(ld.Properties, 2),
|
||||
Type: []string{secv1.PublicKey},
|
||||
}
|
||||
}
|
||||
|
||||
// Build finalises the PublicKey.
|
||||
func (pk *PublicKey) Build() PublicKey {
|
||||
return *pk
|
||||
}
|
||||
|
||||
// GetID returns the ID in [ld.Node].
|
||||
func (pk *PublicKey) GetID() string {
|
||||
return pk.ID
|
||||
}
|
||||
|
||||
// SetID sets the ID in [ld.Node].
|
||||
func (pk *PublicKey) SetID(id string) *PublicKey {
|
||||
pk.ID = id
|
||||
return pk
|
||||
}
|
||||
|
||||
// GetType returns the first type on the [ld.Node].
|
||||
func (pk *PublicKey) GetType() string {
|
||||
return pk.Type[0]
|
||||
}
|
||||
|
||||
// SetType sets the type on the [ld.Node].
|
||||
func (pk *PublicKey) SetType(id string) *PublicKey {
|
||||
pk.Type = []string{id}
|
||||
return pk
|
||||
}
|
||||
|
||||
// GetOwner returns the ID in [secv1.Owner].
|
||||
func (pk *PublicKey) GetOwner() string {
|
||||
if nodes := (*ld.Node)(pk).GetNodes(secv1.Owner); len(nodes) == 1 {
|
||||
return nodes[0].ID
|
||||
}
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
// SetOwner sets the ID in [secv1.Owner].
|
||||
func (pk *PublicKey) SetOwner(id string) *PublicKey {
|
||||
(*ld.Node)(pk).SetNodes(secv1.Owner, ld.Node{ID: id})
|
||||
return pk
|
||||
}
|
||||
|
||||
// GetPublicKeyPEM returns the value in [secv1.PublicKeyPem].
|
||||
func (pk *PublicKey) GetPublicKeyPEM() json.RawMessage {
|
||||
if nodes := (*ld.Node)(pk).GetNodes(secv1.PublicKeyPem); len(nodes) == 1 {
|
||||
return nodes[0].Value
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetPublicKeyPEM sets the value in [secv1.PublicKeyPem].
|
||||
func (pk *PublicKey) SetPublicKeyPEM(v json.RawMessage) *PublicKey {
|
||||
(*ld.Node)(pk).SetNodes(secv1.PublicKeyPem, ld.Node{Value: v})
|
||||
return pk
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue