Documentation ¶
Index ¶
- type Processor
- func (p *Processor) BlockCreate(ctx context.Context, requestingAccount *gtsmodel.Account, ...) (*apimodel.Relationship, gtserror.WithCode)
- func (p *Processor) BlockRemove(ctx context.Context, requestingAccount *gtsmodel.Account, ...) (*apimodel.Relationship, gtserror.WithCode)
- func (p *Processor) BookmarksGet(ctx context.Context, requestingAccount *gtsmodel.Account, limit int, ...) (*apimodel.PageableResponse, gtserror.WithCode)
- func (p *Processor) Create(ctx context.Context, applicationToken oauth2.TokenInfo, ...) (*apimodel.Token, gtserror.WithCode)
- func (p *Processor) Delete(ctx context.Context, account *gtsmodel.Account, origin string) gtserror.WithCode
- func (p *Processor) DeleteSelf(ctx context.Context, account *gtsmodel.Account) gtserror.WithCode
- func (p *Processor) FollowCreate(ctx context.Context, requestingAccount *gtsmodel.Account, ...) (*apimodel.Relationship, gtserror.WithCode)
- func (p *Processor) FollowRemove(ctx context.Context, requestingAccount *gtsmodel.Account, ...) (*apimodel.Relationship, gtserror.WithCode)
- func (p *Processor) FollowersGet(ctx context.Context, requestingAccount *gtsmodel.Account, ...) ([]apimodel.Account, gtserror.WithCode)
- func (p *Processor) FollowingGet(ctx context.Context, requestingAccount *gtsmodel.Account, ...) ([]apimodel.Account, gtserror.WithCode)
- func (p *Processor) Get(ctx context.Context, requestingAccount *gtsmodel.Account, ...) (*apimodel.Account, gtserror.WithCode)
- func (p *Processor) GetCustomCSSForUsername(ctx context.Context, username string) (string, gtserror.WithCode)
- func (p *Processor) GetLocalByUsername(ctx context.Context, requestingAccount *gtsmodel.Account, username string) (*apimodel.Account, gtserror.WithCode)
- func (p *Processor) GetRSSFeedForUsername(ctx context.Context, username string) (func() (string, gtserror.WithCode), time.Time, gtserror.WithCode)
- func (p *Processor) RelationshipGet(ctx context.Context, requestingAccount *gtsmodel.Account, ...) (*apimodel.Relationship, gtserror.WithCode)
- func (p *Processor) StatusesGet(ctx context.Context, requestingAccount *gtsmodel.Account, ...) (*apimodel.PageableResponse, gtserror.WithCode)
- func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, ...) (*apimodel.Account, gtserror.WithCode)
- func (p *Processor) UpdateAvatar(ctx context.Context, avatar *multipart.FileHeader, description *string, ...) (*gtsmodel.MediaAttachment, error)
- func (p *Processor) UpdateHeader(ctx context.Context, header *multipart.FileHeader, description *string, ...) (*gtsmodel.MediaAttachment, error)
- func (p *Processor) WebStatusesGet(ctx context.Context, targetAccountID string, maxID string) (*apimodel.PageableResponse, gtserror.WithCode)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
Processor wraps functionality for updating, creating, and deleting accounts in response to API requests.
It also contains logic for actions towards accounts such as following, blocking, seeing follows, etc.
func New ¶
func New( state *state.State, tc typeutils.TypeConverter, mediaManager media.Manager, oauthServer oauth.Server, federator federation.Federator, filter *visibility.Filter, parseMention gtsmodel.ParseMentionFunc, ) Processor
New returns a new account processor.
func (*Processor) BlockCreate ¶
func (p *Processor) BlockCreate(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string) (*apimodel.Relationship, gtserror.WithCode)
BlockCreate handles the creation of a block from requestingAccount to targetAccountID, either remote or local.
func (*Processor) BlockRemove ¶
func (p *Processor) BlockRemove(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string) (*apimodel.Relationship, gtserror.WithCode)
BlockRemove handles the removal of a block from requestingAccount to targetAccountID, either remote or local.
func (*Processor) BookmarksGet ¶ added in v0.7.0
func (p *Processor) BookmarksGet(ctx context.Context, requestingAccount *gtsmodel.Account, limit int, maxID string, minID string) (*apimodel.PageableResponse, gtserror.WithCode)
BookmarksGet returns a pageable response of statuses that are bookmarked by requestingAccount. Paging for this response is done based on bookmark ID rather than status ID.
func (*Processor) Create ¶
func (p *Processor) Create(ctx context.Context, applicationToken oauth2.TokenInfo, application *gtsmodel.Application, form *apimodel.AccountCreateRequest) (*apimodel.Token, gtserror.WithCode)
Create processes the given form for creating a new account, returning an oauth token for that account if successful.
func (*Processor) Delete ¶
func (p *Processor) Delete(ctx context.Context, account *gtsmodel.Account, origin string) gtserror.WithCode
Delete deletes an account, and all of that account's statuses, media, follows, notifications, etc etc etc. The origin passed here should be either the ID of the account doing the delete (can be itself), or the ID of a domain block.
func (*Processor) DeleteSelf ¶ added in v0.8.0
DeleteSelf is like Delete, but specifically for local accounts deleting themselves.
Calling DeleteSelf results in a delete message being enqueued in the processor, which causes side effects to occur: delete will be federated out to other instances, and the above Delete function will be called afterwards from the processor, to clear out the account's bits and bobs, and stubbify it.
func (*Processor) FollowCreate ¶
func (p *Processor) FollowCreate(ctx context.Context, requestingAccount *gtsmodel.Account, form *apimodel.AccountFollowRequest) (*apimodel.Relationship, gtserror.WithCode)
FollowCreate handles a follow request to an account, either remote or local.
func (*Processor) FollowRemove ¶
func (p *Processor) FollowRemove(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string) (*apimodel.Relationship, gtserror.WithCode)
FollowRemove handles the removal of a follow/follow request to an account, either remote or local.
func (*Processor) FollowersGet ¶
func (p *Processor) FollowersGet(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string) ([]apimodel.Account, gtserror.WithCode)
FollowersGet fetches a list of the target account's followers.
func (*Processor) FollowingGet ¶
func (p *Processor) FollowingGet(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string) ([]apimodel.Account, gtserror.WithCode)
FollowingGet fetches a list of the accounts that target account is following.
func (*Processor) Get ¶
func (p *Processor) Get(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string) (*apimodel.Account, gtserror.WithCode)
Get processes the given request for account information.
func (*Processor) GetCustomCSSForUsername ¶ added in v0.5.0
func (p *Processor) GetCustomCSSForUsername(ctx context.Context, username string) (string, gtserror.WithCode)
GetCustomCSSForUsername returns custom css for the given local username.
func (*Processor) GetLocalByUsername ¶ added in v0.3.0
func (p *Processor) GetLocalByUsername(ctx context.Context, requestingAccount *gtsmodel.Account, username string) (*apimodel.Account, gtserror.WithCode)
GetLocalByUsername processes the given request for account information targeting a local account by username.
func (*Processor) GetRSSFeedForUsername ¶ added in v0.6.0
func (p *Processor) GetRSSFeedForUsername(ctx context.Context, username string) (func() (string, gtserror.WithCode), time.Time, gtserror.WithCode)
GetRSSFeedForUsername returns RSS feed for the given local username.
func (*Processor) RelationshipGet ¶
func (p *Processor) RelationshipGet(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string) (*apimodel.Relationship, gtserror.WithCode)
RelationshipGet returns a relationship model describing the relationship of the targetAccount to the Authed account.
func (*Processor) StatusesGet ¶
func (p *Processor) StatusesGet(ctx context.Context, requestingAccount *gtsmodel.Account, targetAccountID string, limit int, excludeReplies bool, excludeReblogs bool, maxID string, minID string, pinned bool, mediaOnly bool, publicOnly bool) (*apimodel.PageableResponse, gtserror.WithCode)
StatusesGet fetches a number of statuses (in time descending order) from the given account, filtered by visibility for the account given in authed.
func (*Processor) Update ¶
func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form *apimodel.UpdateCredentialsRequest) (*apimodel.Account, gtserror.WithCode)
Update processes the update of an account with the given form.
func (*Processor) UpdateAvatar ¶
func (p *Processor) UpdateAvatar(ctx context.Context, avatar *multipart.FileHeader, description *string, accountID string) (*gtsmodel.MediaAttachment, error)
UpdateAvatar does the dirty work of checking the avatar part of an account update form, parsing and checking the image, and doing the necessary updates in the database for this to become the account's new avatar image.
func (*Processor) UpdateHeader ¶
func (p *Processor) UpdateHeader(ctx context.Context, header *multipart.FileHeader, description *string, accountID string) (*gtsmodel.MediaAttachment, error)
UpdateHeader does the dirty work of checking the header part of an account update form, parsing and checking the image, and doing the necessary updates in the database for this to become the account's new header image.
func (*Processor) WebStatusesGet ¶ added in v0.3.8
func (p *Processor) WebStatusesGet(ctx context.Context, targetAccountID string, maxID string) (*apimodel.PageableResponse, gtserror.WithCode)
WebStatusesGet fetches a number of statuses (in descending order) from the given account. It selects only statuses which are suitable for showing on the public web profile of an account.