summaryrefslogtreecommitdiff
path: root/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-09-23 21:27:35 +0200
committerLibravatar GitHub <noreply@github.com>2022-09-23 20:27:35 +0100
commit69a193dae543641a2db6823fa6493c02f56fafbd (patch)
treec1a0c71d64642db12a17c6770642c3e0af859960 /vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox
parent[docs] NLnet follow up questions (#846) (diff)
downloadgotosocial-69a193dae543641a2db6823fa6493c02f56fafbd.tar.xz
[feature] Allow delivery to sharedInboxes where possible (#847)
* update Activity * add instance-deliver-to-shared-inboxes setting * update activity version again * add SharedInboxURI field to accounts * serdes for endpoints/sharedInbox * deliver to sharedInbox if one is available * update tests * only assign shared inbox if shared domain * look for shared inbox if currently nil * go fmt * finger to get params.RemoteAccountID if necessary * make comments clearer * compare dns more consistently
Diffstat (limited to 'vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox')
-rw-r--r--vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_doc.go17
-rw-r--r--vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_pkg.go15
-rw-r--r--vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_property_activitystreams_sharedInbox.go182
3 files changed, 214 insertions, 0 deletions
diff --git a/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_doc.go b/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_doc.go
new file mode 100644
index 000000000..a2032e3da
--- /dev/null
+++ b/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_doc.go
@@ -0,0 +1,17 @@
+// Code generated by astool. DO NOT EDIT.
+
+// Package propertysharedinbox contains the implementation for the sharedInbox
+// property. All applications are strongly encouraged to use the interface
+// instead of this concrete definition. The interfaces allow applications to
+// consume only the types and properties needed and be independent of the
+// go-fed implementation if another alternative implementation is created.
+// This package is code-generated and subject to the same license as the
+// go-fed tool used to generate it.
+//
+// This package is independent of other types' and properties' implementations
+// by having a Manager injected into it to act as a factory for the concrete
+// implementations. The implementations have been generated into their own
+// separate subpackages for each vocabulary.
+//
+// Strongly consider using the interfaces instead of this package.
+package propertysharedinbox
diff --git a/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_pkg.go b/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_pkg.go
new file mode 100644
index 000000000..18e7b7284
--- /dev/null
+++ b/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_pkg.go
@@ -0,0 +1,15 @@
+// Code generated by astool. DO NOT EDIT.
+
+package propertysharedinbox
+
+var mgr privateManager
+
+// privateManager abstracts the code-generated manager that provides access to
+// concrete implementations.
+type privateManager interface{}
+
+// SetManager sets the manager package-global variable. For internal use only, do
+// not use as part of Application behavior. Must be called at golang init time.
+func SetManager(m privateManager) {
+ mgr = m
+}
diff --git a/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_property_activitystreams_sharedInbox.go b/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_property_activitystreams_sharedInbox.go
new file mode 100644
index 000000000..c316e6bcf
--- /dev/null
+++ b/vendor/github.com/superseriousbusiness/activity/streams/impl/activitystreams/property_sharedinbox/gen_property_activitystreams_sharedInbox.go
@@ -0,0 +1,182 @@
+// Code generated by astool. DO NOT EDIT.
+
+package propertysharedinbox
+
+import (
+ "fmt"
+ anyuri "github.com/superseriousbusiness/activity/streams/values/anyURI"
+ vocab "github.com/superseriousbusiness/activity/streams/vocab"
+ "net/url"
+)
+
+// ActivityStreamsSharedInboxProperty is the functional property "sharedInbox". It
+// is permitted to be a single nilable value type.
+type ActivityStreamsSharedInboxProperty struct {
+ xmlschemaAnyURIMember *url.URL
+ unknown interface{}
+ alias string
+}
+
+// DeserializeSharedInboxProperty creates a "sharedInbox" property from an
+// interface representation that has been unmarshalled from a text or binary
+// format.
+func DeserializeSharedInboxProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsSharedInboxProperty, error) {
+ alias := ""
+ if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok {
+ alias = a
+ }
+ propName := "sharedInbox"
+ if len(alias) > 0 {
+ // Use alias both to find the property, and set within the property.
+ propName = fmt.Sprintf("%s:%s", alias, "sharedInbox")
+ }
+ i, ok := m[propName]
+
+ if ok {
+ if v, err := anyuri.DeserializeAnyURI(i); err == nil {
+ this := &ActivityStreamsSharedInboxProperty{
+ alias: alias,
+ xmlschemaAnyURIMember: v,
+ }
+ return this, nil
+ }
+ this := &ActivityStreamsSharedInboxProperty{
+ alias: alias,
+ unknown: i,
+ }
+ return this, nil
+ }
+ return nil, nil
+}
+
+// NewActivityStreamsSharedInboxProperty creates a new sharedInbox property.
+func NewActivityStreamsSharedInboxProperty() *ActivityStreamsSharedInboxProperty {
+ return &ActivityStreamsSharedInboxProperty{alias: ""}
+}
+
+// Clear ensures no value of this property is set. Calling IsXMLSchemaAnyURI
+// afterwards will return false.
+func (this *ActivityStreamsSharedInboxProperty) Clear() {
+ this.unknown = nil
+ this.xmlschemaAnyURIMember = nil
+}
+
+// Get returns the value of this property. When IsXMLSchemaAnyURI returns false,
+// Get will return any arbitrary value.
+func (this ActivityStreamsSharedInboxProperty) Get() *url.URL {
+ return this.xmlschemaAnyURIMember
+}
+
+// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will
+// return any arbitrary value.
+func (this ActivityStreamsSharedInboxProperty) GetIRI() *url.URL {
+ return this.xmlschemaAnyURIMember
+}
+
+// HasAny returns true if the value or IRI is set.
+func (this ActivityStreamsSharedInboxProperty) HasAny() bool {
+ return this.IsXMLSchemaAnyURI()
+}
+
+// IsIRI returns true if this property is an IRI.
+func (this ActivityStreamsSharedInboxProperty) IsIRI() bool {
+ return this.xmlschemaAnyURIMember != nil
+}
+
+// IsXMLSchemaAnyURI returns true if this property is set and not an IRI.
+func (this ActivityStreamsSharedInboxProperty) IsXMLSchemaAnyURI() bool {
+ return this.xmlschemaAnyURIMember != nil
+}
+
+// JSONLDContext returns the JSONLD URIs required in the context string for this
+// property and the specific values that are set. The value in the map is the
+// alias used to import the property's value or values.
+func (this ActivityStreamsSharedInboxProperty) JSONLDContext() map[string]string {
+ m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias}
+ var child map[string]string
+
+ /*
+ 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.
+ */
+ for k, v := range child {
+ m[k] = v
+ }
+ return m
+}
+
+// KindIndex computes an arbitrary value for indexing this kind of value. This is
+// a leaky API detail only for folks looking to replace the go-fed
+// implementation. Applications should not use this method.
+func (this ActivityStreamsSharedInboxProperty) KindIndex() int {
+ if this.IsXMLSchemaAnyURI() {
+ return 0
+ }
+ if this.IsIRI() {
+ return -2
+ }
+ return -1
+}
+
+// LessThan compares two instances of this property with an arbitrary but stable
+// comparison. Applications should not use this because it is only meant to
+// help alternative implementations to go-fed to be able to normalize
+// nonfunctional properties.
+func (this ActivityStreamsSharedInboxProperty) LessThan(o vocab.ActivityStreamsSharedInboxProperty) bool {
+ if this.IsIRI() {
+ // IRIs are always less than other values, none, or unknowns
+ return true
+ } else if o.IsIRI() {
+ // This other, none, or unknown value is always greater than IRIs
+ return false
+ }
+ // LessThan comparison for the single value or unknown value.
+ if !this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() {
+ // Both are unknowns.
+ return false
+ } else if this.IsXMLSchemaAnyURI() && !o.IsXMLSchemaAnyURI() {
+ // Values are always greater than unknown values.
+ return false
+ } else if !this.IsXMLSchemaAnyURI() && o.IsXMLSchemaAnyURI() {
+ // Unknowns are always less than known values.
+ return true
+ } else {
+ // Actual comparison.
+ return anyuri.LessAnyURI(this.Get(), o.Get())
+ }
+}
+
+// Name returns the name of this property: "sharedInbox".
+func (this ActivityStreamsSharedInboxProperty) Name() string {
+ if len(this.alias) > 0 {
+ return this.alias + ":" + "sharedInbox"
+ } else {
+ return "sharedInbox"
+ }
+}
+
+// Serialize converts this into an interface representation suitable for
+// marshalling into a text or binary format. Applications should not need this
+// function as most typical use cases serialize types instead of individual
+// properties. It is exposed for alternatives to go-fed implementations to use.
+func (this ActivityStreamsSharedInboxProperty) Serialize() (interface{}, error) {
+ if this.IsXMLSchemaAnyURI() {
+ return anyuri.SerializeAnyURI(this.Get())
+ }
+ return this.unknown, nil
+}
+
+// Set sets the value of this property. Calling IsXMLSchemaAnyURI afterwards will
+// return true.
+func (this *ActivityStreamsSharedInboxProperty) Set(v *url.URL) {
+ this.Clear()
+ this.xmlschemaAnyURIMember = v
+}
+
+// SetIRI sets the value of this property. Calling IsIRI afterwards will return
+// true.
+func (this *ActivityStreamsSharedInboxProperty) SetIRI(v *url.URL) {
+ this.Clear()
+ this.Set(v)
+}