mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-17 08:07:30 -06:00
[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:
parent
79914bdbf7
commit
66e1ec14aa
38 changed files with 565 additions and 846 deletions
|
|
@ -64,17 +64,26 @@ func (p *Processor) GetAll(
|
|||
|
||||
items := make([]interface{}, 0, count)
|
||||
|
||||
filters, errWithCode := p.getFilters(ctx, requestingAccount)
|
||||
if errWithCode != nil {
|
||||
return nil, errWithCode
|
||||
}
|
||||
|
||||
for _, conversation := range conversations {
|
||||
// Check whether status if filtered by local participant in context.
|
||||
filtered, hide, err := p.statusFilter.StatusFilterResultsInContext(ctx,
|
||||
requestingAccount,
|
||||
conversation.LastStatus,
|
||||
gtsmodel.FilterContextNotifications,
|
||||
)
|
||||
if err != nil {
|
||||
log.Errorf(ctx, "error filtering status: %v", err)
|
||||
continue
|
||||
}
|
||||
|
||||
if hide {
|
||||
continue
|
||||
}
|
||||
|
||||
// Convert conversation to frontend API model.
|
||||
apiConversation, err := p.converter.ConversationToAPIConversation(ctx,
|
||||
conversation,
|
||||
requestingAccount,
|
||||
filters,
|
||||
)
|
||||
if err != nil {
|
||||
log.Errorf(ctx,
|
||||
|
|
@ -85,6 +94,9 @@ func (p *Processor) GetAll(
|
|||
continue
|
||||
}
|
||||
|
||||
// Set filter results on attached status model.
|
||||
apiConversation.LastStatus.Filtered = filtered
|
||||
|
||||
// Append conversation to return items.
|
||||
items = append(items, apiConversation)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue