[chore] move status filtering from type converter (#4306)

This finalizes the moving status filtering out of the type converter, and into its own `./internal/filter/` subpkg :)

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4306
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
This commit is contained in:
kim 2025-07-04 15:30:39 +02:00 committed by kim
commit 66e1ec14aa
38 changed files with 565 additions and 846 deletions

View file

@ -23,6 +23,7 @@ import (
"code.superseriousbusiness.org/gotosocial/internal/db"
"code.superseriousbusiness.org/gotosocial/internal/filter/mutes"
"code.superseriousbusiness.org/gotosocial/internal/filter/status"
"code.superseriousbusiness.org/gotosocial/internal/filter/visibility"
"code.superseriousbusiness.org/gotosocial/internal/gtserror"
"code.superseriousbusiness.org/gotosocial/internal/gtsmodel"
@ -31,10 +32,11 @@ import (
)
type Processor struct {
state *state.State
converter *typeutils.Converter
visFilter *visibility.Filter
muteFilter *mutes.Filter
state *state.State
converter *typeutils.Converter
visFilter *visibility.Filter
muteFilter *mutes.Filter
statusFilter *status.Filter
}
func New(
@ -42,12 +44,14 @@ func New(
converter *typeutils.Converter,
visFilter *visibility.Filter,
muteFilter *mutes.Filter,
statusFilter *status.Filter,
) Processor {
return Processor{
state: state,
converter: converter,
visFilter: visFilter,
muteFilter: muteFilter,
state: state,
converter: converter,
visFilter: visFilter,
muteFilter: muteFilter,
statusFilter: statusFilter,
}
}
@ -95,21 +99,3 @@ func (p *Processor) getConversationOwnedBy(
return conversation, nil
}
// getFiltersAndMutes gets the given account's filters and compiled mute list.
func (p *Processor) getFilters(
ctx context.Context,
requestingAccount *gtsmodel.Account,
) ([]*gtsmodel.Filter, gtserror.WithCode) {
filters, err := p.state.DB.GetFiltersByAccountID(ctx, requestingAccount.ID)
if err != nil {
return nil, gtserror.NewErrorInternalError(
gtserror.Newf(
"DB error getting filters for account %s: %w",
requestingAccount.ID,
err,
),
)
}
return filters, nil
}