mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-10-19 08:42:38 +02:00
290 lines
9.3 KiB
Go
290 lines
9.3 KiB
Go
|
// Code generated by astool. DO NOT EDIT.
|
||
|
|
||
|
package typepublickey
|
||
|
|
||
|
import vocab "github.com/go-fed/activity/streams/vocab"
|
||
|
|
||
|
// A public key represents a public cryptographical key for a user
|
||
|
type W3IDSecurityV1PublicKey struct {
|
||
|
JSONLDId vocab.JSONLDIdProperty
|
||
|
W3IDSecurityV1Owner vocab.W3IDSecurityV1OwnerProperty
|
||
|
W3IDSecurityV1PublicKeyPem vocab.W3IDSecurityV1PublicKeyPemProperty
|
||
|
alias string
|
||
|
unknown map[string]interface{}
|
||
|
}
|
||
|
|
||
|
// DeserializePublicKey creates a PublicKey from a map representation that has
|
||
|
// been unmarshalled from a text or binary format.
|
||
|
func DeserializePublicKey(m map[string]interface{}, aliasMap map[string]string) (*W3IDSecurityV1PublicKey, error) {
|
||
|
alias := ""
|
||
|
if a, ok := aliasMap["https://w3id.org/security/v1"]; ok {
|
||
|
alias = a
|
||
|
}
|
||
|
this := &W3IDSecurityV1PublicKey{
|
||
|
alias: alias,
|
||
|
unknown: make(map[string]interface{}),
|
||
|
}
|
||
|
|
||
|
// Begin: Known property deserialization
|
||
|
if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil {
|
||
|
return nil, err
|
||
|
} else if p != nil {
|
||
|
this.JSONLDId = p
|
||
|
}
|
||
|
if p, err := mgr.DeserializeOwnerPropertyW3IDSecurityV1()(m, aliasMap); err != nil {
|
||
|
return nil, err
|
||
|
} else if p != nil {
|
||
|
this.W3IDSecurityV1Owner = p
|
||
|
}
|
||
|
if p, err := mgr.DeserializePublicKeyPemPropertyW3IDSecurityV1()(m, aliasMap); err != nil {
|
||
|
return nil, err
|
||
|
} else if p != nil {
|
||
|
this.W3IDSecurityV1PublicKeyPem = p
|
||
|
}
|
||
|
// End: Known property deserialization
|
||
|
|
||
|
// Begin: Unknown deserialization
|
||
|
for k, v := range m {
|
||
|
// Begin: Code that ensures a property name is unknown
|
||
|
if k == "id" {
|
||
|
continue
|
||
|
} else if k == "owner" {
|
||
|
continue
|
||
|
} else if k == "publicKeyPem" {
|
||
|
continue
|
||
|
} // End: Code that ensures a property name is unknown
|
||
|
|
||
|
this.unknown[k] = v
|
||
|
}
|
||
|
// End: Unknown deserialization
|
||
|
|
||
|
return this, nil
|
||
|
}
|
||
|
|
||
|
// IsOrExtendsPublicKey returns true if the other provided type is the PublicKey
|
||
|
// type or extends from the PublicKey type.
|
||
|
func IsOrExtendsPublicKey(other vocab.Type) bool {
|
||
|
if other.GetTypeName() == "PublicKey" {
|
||
|
return true
|
||
|
}
|
||
|
return PublicKeyIsExtendedBy(other)
|
||
|
}
|
||
|
|
||
|
// NewW3IDSecurityV1PublicKey creates a new PublicKey type
|
||
|
func NewW3IDSecurityV1PublicKey() *W3IDSecurityV1PublicKey {
|
||
|
return &W3IDSecurityV1PublicKey{
|
||
|
alias: "",
|
||
|
unknown: make(map[string]interface{}),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// PublicKeyIsDisjointWith returns true if the other provided type is disjoint
|
||
|
// with the PublicKey type.
|
||
|
func PublicKeyIsDisjointWith(other vocab.Type) bool {
|
||
|
// Shortcut implementation: is not disjoint with anything.
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// PublicKeyIsExtendedBy returns true if the other provided type extends from the
|
||
|
// PublicKey type. Note that it returns false if the types are the same; see
|
||
|
// the "IsOrExtendsPublicKey" variant instead.
|
||
|
func PublicKeyIsExtendedBy(other vocab.Type) bool {
|
||
|
// Shortcut implementation: is not extended by anything.
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// W3IDSecurityV1PublicKeyExtends returns true if the PublicKey type extends from
|
||
|
// the other type.
|
||
|
func W3IDSecurityV1PublicKeyExtends(other vocab.Type) bool {
|
||
|
// Shortcut implementation: this does not extend anything.
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
|
||
|
func (this W3IDSecurityV1PublicKey) GetJSONLDId() vocab.JSONLDIdProperty {
|
||
|
return this.JSONLDId
|
||
|
}
|
||
|
|
||
|
// GetTypeName returns the name of this type.
|
||
|
func (this W3IDSecurityV1PublicKey) GetTypeName() string {
|
||
|
return "PublicKey"
|
||
|
}
|
||
|
|
||
|
// GetUnknownProperties returns the unknown properties for the PublicKey type.
|
||
|
// Note that this should not be used by app developers. It is only used to
|
||
|
// help determine which implementation is LessThan the other. Developers who
|
||
|
// are creating a different implementation of this type's interface can use
|
||
|
// this method in their LessThan implementation, but routine ActivityPub
|
||
|
// applications should not use this to bypass the code generation tool.
|
||
|
func (this W3IDSecurityV1PublicKey) GetUnknownProperties() map[string]interface{} {
|
||
|
return this.unknown
|
||
|
}
|
||
|
|
||
|
// GetW3IDSecurityV1Owner returns the "owner" property if it exists, and nil
|
||
|
// otherwise.
|
||
|
func (this W3IDSecurityV1PublicKey) GetW3IDSecurityV1Owner() vocab.W3IDSecurityV1OwnerProperty {
|
||
|
return this.W3IDSecurityV1Owner
|
||
|
}
|
||
|
|
||
|
// GetW3IDSecurityV1PublicKeyPem returns the "publicKeyPem" property if it exists,
|
||
|
// and nil otherwise.
|
||
|
func (this W3IDSecurityV1PublicKey) GetW3IDSecurityV1PublicKeyPem() vocab.W3IDSecurityV1PublicKeyPemProperty {
|
||
|
return this.W3IDSecurityV1PublicKeyPem
|
||
|
}
|
||
|
|
||
|
// IsExtending returns true if the PublicKey type extends from the other type.
|
||
|
func (this W3IDSecurityV1PublicKey) IsExtending(other vocab.Type) bool {
|
||
|
return W3IDSecurityV1PublicKeyExtends(other)
|
||
|
}
|
||
|
|
||
|
// JSONLDContext returns the JSONLD URIs required in the context string for this
|
||
|
// type and the specific properties that are set. The value in the map is the
|
||
|
// alias used to import the type and its properties.
|
||
|
func (this W3IDSecurityV1PublicKey) JSONLDContext() map[string]string {
|
||
|
m := map[string]string{"https://w3id.org/security/v1": this.alias}
|
||
|
m = this.helperJSONLDContext(this.JSONLDId, m)
|
||
|
m = this.helperJSONLDContext(this.W3IDSecurityV1Owner, m)
|
||
|
m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKeyPem, m)
|
||
|
|
||
|
return m
|
||
|
}
|
||
|
|
||
|
// LessThan computes if this PublicKey is lesser, with an arbitrary but stable
|
||
|
// determination.
|
||
|
func (this W3IDSecurityV1PublicKey) LessThan(o vocab.W3IDSecurityV1PublicKey) bool {
|
||
|
// Begin: Compare known properties
|
||
|
// Compare property "id"
|
||
|
if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil {
|
||
|
if lhs.LessThan(rhs) {
|
||
|
return true
|
||
|
} else if rhs.LessThan(lhs) {
|
||
|
return false
|
||
|
}
|
||
|
} else if lhs == nil && rhs != nil {
|
||
|
// Nil is less than anything else
|
||
|
return true
|
||
|
} else if rhs != nil && rhs == nil {
|
||
|
// Anything else is greater than nil
|
||
|
return false
|
||
|
} // Else: Both are nil
|
||
|
// Compare property "owner"
|
||
|
if lhs, rhs := this.W3IDSecurityV1Owner, o.GetW3IDSecurityV1Owner(); lhs != nil && rhs != nil {
|
||
|
if lhs.LessThan(rhs) {
|
||
|
return true
|
||
|
} else if rhs.LessThan(lhs) {
|
||
|
return false
|
||
|
}
|
||
|
} else if lhs == nil && rhs != nil {
|
||
|
// Nil is less than anything else
|
||
|
return true
|
||
|
} else if rhs != nil && rhs == nil {
|
||
|
// Anything else is greater than nil
|
||
|
return false
|
||
|
} // Else: Both are nil
|
||
|
// Compare property "publicKeyPem"
|
||
|
if lhs, rhs := this.W3IDSecurityV1PublicKeyPem, o.GetW3IDSecurityV1PublicKeyPem(); lhs != nil && rhs != nil {
|
||
|
if lhs.LessThan(rhs) {
|
||
|
return true
|
||
|
} else if rhs.LessThan(lhs) {
|
||
|
return false
|
||
|
}
|
||
|
} else if lhs == nil && rhs != nil {
|
||
|
// Nil is less than anything else
|
||
|
return true
|
||
|
} else if rhs != nil && rhs == nil {
|
||
|
// Anything else is greater than nil
|
||
|
return false
|
||
|
} // Else: Both are nil
|
||
|
// End: Compare known properties
|
||
|
|
||
|
// Begin: Compare unknown properties (only by number of them)
|
||
|
if len(this.unknown) < len(o.GetUnknownProperties()) {
|
||
|
return true
|
||
|
} else if len(o.GetUnknownProperties()) < len(this.unknown) {
|
||
|
return false
|
||
|
} // End: Compare unknown properties (only by number of them)
|
||
|
|
||
|
// All properties are the same.
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// Serialize converts this into an interface representation suitable for
|
||
|
// marshalling into a text or binary format.
|
||
|
func (this W3IDSecurityV1PublicKey) Serialize() (map[string]interface{}, error) {
|
||
|
m := make(map[string]interface{})
|
||
|
// Begin: Serialize known properties
|
||
|
// Maybe serialize property "id"
|
||
|
if this.JSONLDId != nil {
|
||
|
if i, err := this.JSONLDId.Serialize(); err != nil {
|
||
|
return nil, err
|
||
|
} else if i != nil {
|
||
|
m[this.JSONLDId.Name()] = i
|
||
|
}
|
||
|
}
|
||
|
// Maybe serialize property "owner"
|
||
|
if this.W3IDSecurityV1Owner != nil {
|
||
|
if i, err := this.W3IDSecurityV1Owner.Serialize(); err != nil {
|
||
|
return nil, err
|
||
|
} else if i != nil {
|
||
|
m[this.W3IDSecurityV1Owner.Name()] = i
|
||
|
}
|
||
|
}
|
||
|
// Maybe serialize property "publicKeyPem"
|
||
|
if this.W3IDSecurityV1PublicKeyPem != nil {
|
||
|
if i, err := this.W3IDSecurityV1PublicKeyPem.Serialize(); err != nil {
|
||
|
return nil, err
|
||
|
} else if i != nil {
|
||
|
m[this.W3IDSecurityV1PublicKeyPem.Name()] = i
|
||
|
}
|
||
|
}
|
||
|
// End: Serialize known properties
|
||
|
|
||
|
// Begin: Serialize unknown properties
|
||
|
for k, v := range this.unknown {
|
||
|
// To be safe, ensure we aren't overwriting a known property
|
||
|
if _, has := m[k]; !has {
|
||
|
m[k] = v
|
||
|
}
|
||
|
}
|
||
|
// End: Serialize unknown properties
|
||
|
|
||
|
return m, nil
|
||
|
}
|
||
|
|
||
|
// SetJSONLDId sets the "id" property.
|
||
|
func (this *W3IDSecurityV1PublicKey) SetJSONLDId(i vocab.JSONLDIdProperty) {
|
||
|
this.JSONLDId = i
|
||
|
}
|
||
|
|
||
|
// SetW3IDSecurityV1Owner sets the "owner" property.
|
||
|
func (this *W3IDSecurityV1PublicKey) SetW3IDSecurityV1Owner(i vocab.W3IDSecurityV1OwnerProperty) {
|
||
|
this.W3IDSecurityV1Owner = i
|
||
|
}
|
||
|
|
||
|
// SetW3IDSecurityV1PublicKeyPem sets the "publicKeyPem" property.
|
||
|
func (this *W3IDSecurityV1PublicKey) SetW3IDSecurityV1PublicKeyPem(i vocab.W3IDSecurityV1PublicKeyPemProperty) {
|
||
|
this.W3IDSecurityV1PublicKeyPem = i
|
||
|
}
|
||
|
|
||
|
// VocabularyURI returns the vocabulary's URI as a string.
|
||
|
func (this W3IDSecurityV1PublicKey) VocabularyURI() string {
|
||
|
return "https://w3id.org/security/v1"
|
||
|
}
|
||
|
|
||
|
// helperJSONLDContext obtains the context uris and their aliases from a property,
|
||
|
// if it is not nil.
|
||
|
func (this W3IDSecurityV1PublicKey) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string {
|
||
|
if i == nil {
|
||
|
return toMerge
|
||
|
}
|
||
|
for k, v := range i.JSONLDContext() {
|
||
|
/*
|
||
|
Since the literal maps in this function are determined at
|
||
|
code-generation time, this loop should not overwrite an existing key with a
|
||
|
new value.
|
||
|
*/
|
||
|
toMerge[k] = v
|
||
|
}
|
||
|
return toMerge
|
||
|
}
|