Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dereferencer ¶
type Dereferencer interface { GetRemoteAccount(ctx context.Context, params GetRemoteAccountParams) (*gtsmodel.Account, error) GetRemoteStatus(ctx context.Context, username string, remoteStatusID *url.URL, refetch, includeParent bool) (*gtsmodel.Status, ap.Statusable, error) EnrichRemoteStatus(ctx context.Context, username string, status *gtsmodel.Status, includeParent bool) (*gtsmodel.Status, error) GetRemoteInstance(ctx context.Context, username string, remoteInstanceURI *url.URL) (*gtsmodel.Instance, error) GetRemoteMedia(ctx context.Context, requestingUsername string, accountID string, remoteURL string, ai *media.AdditionalMediaInfo) (*media.ProcessingMedia, error) GetRemoteEmoji(ctx context.Context, requestingUsername string, remoteURL string, shortcode string, id string, emojiURI string, ai *media.AdditionalEmojiInfo) (*media.ProcessingEmoji, error) DereferenceAnnounce(ctx context.Context, announce *gtsmodel.Status, requestingUsername string) error DereferenceThread(ctx context.Context, username string, statusIRI *url.URL, status *gtsmodel.Status, statusable ap.Statusable) Handshaking(ctx context.Context, username string, remoteAccountID *url.URL) bool }
Dereferencer wraps logic and functionality for doing dereferencing of remote accounts, statuses, etc, from federated instances.
func NewDereferencer ¶
func NewDereferencer(db db.DB, typeConverter typeutils.TypeConverter, transportController transport.Controller, mediaManager media.Manager) Dereferencer
NewDereferencer returns a Dereferencer initialized with the given parameters.
type GetRemoteAccountParams ¶ added in v0.3.5
type GetRemoteAccountParams struct { // The username of the user doing the lookup request (optional). // If not set, then the GtS instance account will be used to do the lookup. RequestingUsername string // The ActivityPub URI of the remote account (optional). // If not set (nil), the ActivityPub URI of the remote account will be discovered // via webfinger, so you must set RemoteAccountUsername and RemoteAccountHost // if this parameter is not set. RemoteAccountID *url.URL // The username of the remote account (optional). // If RemoteAccountID is not set, then this value must be set. RemoteAccountUsername string // The host of the remote account (optional). // If RemoteAccountID is not set, then this value must be set. RemoteAccountHost string // Whether to do a blocking call to the remote instance. If true, // then the account's media and other fields will be fully dereferenced before it is returned. // If false, then the account's media and other fields will be dereferenced in the background, // so only a minimal account representation will be returned by GetRemoteAccount. Blocking bool // Whether to skip making calls to remote instances. This is useful when you want to // quickly fetch a remote account from the database or fail, and don't want to cause // http requests to go flying around. SkipResolve bool // PartialAccount can be used if the GetRemoteAccount call results from a federated/ap // account update. In this case, we will already have a partial representation of the account, // derived from converting the AP representation to a gtsmodel representation. If this field // is provided, then GetRemoteAccount will use this as a basis for building the full account. PartialAccount *gtsmodel.Account }
GetRemoteAccountParams wraps parameters for a remote account lookup.
Click to show internal directories.
Click to hide internal directories.