diff options
author | 2022-05-02 09:23:37 -0400 | |
---|---|---|
committer | 2022-05-02 15:23:37 +0200 | |
commit | 9265a09a656196e2a94c73e32c7b79399411a79e (patch) | |
tree | 6cda0aa926f02409f3c3cb4f00c5ef7634b44b53 /internal/visibility/filter.go | |
parent | [chore] Update all but bun libraries (#526) (diff) | |
download | gotosocial-9265a09a656196e2a94c73e32c7b79399411a79e.tar.xz |
[bugfix] Allow self-boosting for any visibility but direct (#510)
* create visibility filter for boostability and allow self-boosting for any visbility but direct messages
* add a followers-only status to local_account_2
* fix typo in comment
* add license header, unwrap errors, be explicit about non-boostable visibility settings to avoid rogue boosting from miscoded clients, use ID compare for checking if self-boosting
* add tests for statusboostable filter
* fix tests that were affected by adding a new status to the test data
* fix the rest of tests affected by adding a status to the textrig data
Diffstat (limited to 'internal/visibility/filter.go')
-rw-r--r-- | internal/visibility/filter.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/internal/visibility/filter.go b/internal/visibility/filter.go index c8cd13681..3455b11b1 100644 --- a/internal/visibility/filter.go +++ b/internal/visibility/filter.go @@ -45,6 +45,11 @@ type Filter interface { // // This function will call StatusVisible internally, so it's not necessary to call it beforehand. StatusPublictimelineable(ctx context.Context, targetStatus *gtsmodel.Status, timelineOwnerAccount *gtsmodel.Account) (bool, error) + + // StatusBoostable returns true if targetStatus can be boosted by the requesting account. + // + // this function will call StatusVisible internally so it's not necessary to call it beforehand. + StatusBoostable(ctx context.Context, targetStatus *gtsmodel.Status, requestingAccount *gtsmodel.Account) (bool, error) } type filter struct { |