diff options
Diffstat (limited to 'internal/processing/timeline')
| -rw-r--r-- | internal/processing/timeline/faved.go | 4 | ||||
| -rw-r--r-- | internal/processing/timeline/home.go | 3 | ||||
| -rw-r--r-- | internal/processing/timeline/home_test.go | 30 | ||||
| -rw-r--r-- | internal/processing/timeline/list.go | 3 | ||||
| -rw-r--r-- | internal/processing/timeline/notification.go | 2 | ||||
| -rw-r--r-- | internal/processing/timeline/public.go | 5 | ||||
| -rw-r--r-- | internal/processing/timeline/public_test.go | 30 | ||||
| -rw-r--r-- | internal/processing/timeline/tag.go | 3 | ||||
| -rw-r--r-- | internal/processing/timeline/timeline.go | 4 |
9 files changed, 40 insertions, 44 deletions
diff --git a/internal/processing/timeline/faved.go b/internal/processing/timeline/faved.go index 84788a8fa..c1b44fa92 100644 --- a/internal/processing/timeline/faved.go +++ b/internal/processing/timeline/faved.go @@ -25,8 +25,8 @@ import ( apimodel "code.superseriousbusiness.org/gotosocial/internal/api/model" apiutil "code.superseriousbusiness.org/gotosocial/internal/api/util" "code.superseriousbusiness.org/gotosocial/internal/db" - statusfilter "code.superseriousbusiness.org/gotosocial/internal/filter/status" "code.superseriousbusiness.org/gotosocial/internal/gtserror" + "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/log" "code.superseriousbusiness.org/gotosocial/internal/util" ) @@ -56,7 +56,7 @@ func (p *Processor) FavedTimelineGet(ctx context.Context, authed *apiutil.Auth, continue } - apiStatus, err := p.converter.StatusToAPIStatus(ctx, s, authed.Account, statusfilter.FilterContextNone, nil) + apiStatus, err := p.converter.StatusToAPIStatus(ctx, s, authed.Account, gtsmodel.FilterContextNone, nil) if err != nil { log.Errorf(ctx, "error convering to api status: %v", err) continue diff --git a/internal/processing/timeline/home.go b/internal/processing/timeline/home.go index ba74b770c..3089f52fc 100644 --- a/internal/processing/timeline/home.go +++ b/internal/processing/timeline/home.go @@ -22,7 +22,6 @@ import ( "net/url" apimodel "code.superseriousbusiness.org/gotosocial/internal/api/model" - statusfilter "code.superseriousbusiness.org/gotosocial/internal/filter/status" "code.superseriousbusiness.org/gotosocial/internal/gtserror" "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/log" @@ -77,7 +76,7 @@ func (p *Processor) HomeTimelineGet( pageQuery, // Status filter context. - statusfilter.FilterContextHome, + gtsmodel.FilterContextHome, // Database load function. func(pg *paging.Page) (statuses []*gtsmodel.Status, err error) { diff --git a/internal/processing/timeline/home_test.go b/internal/processing/timeline/home_test.go index 184d361f0..2d0c912f8 100644 --- a/internal/processing/timeline/home_test.go +++ b/internal/processing/timeline/home_test.go @@ -24,7 +24,6 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/id" "code.superseriousbusiness.org/gotosocial/internal/paging" - "code.superseriousbusiness.org/gotosocial/internal/util" "github.com/stretchr/testify/suite" ) @@ -49,24 +48,20 @@ func (suite *HomeTestSuite) TestHomeTimelineGetHideFiltered() { filteredStatus = suite.testStatuses["admin_account_status_2"] filteredStatusFound = false filterID = id.NewULID() - filter = >smodel.Filter{ + filterStatusID = id.NewULID() + filterStatus = >smodel.FilterStatus{ + ID: filterStatusID, + FilterID: filterID, + StatusID: filteredStatus.ID, + } + filter = >smodel.Filter{ ID: filterID, AccountID: requester.ID, Title: "timeline filtering test", Action: gtsmodel.FilterActionHide, - Statuses: []*gtsmodel.FilterStatus{ - { - ID: id.NewULID(), - AccountID: requester.ID, - FilterID: filterID, - StatusID: filteredStatus.ID, - }, - }, - ContextHome: util.Ptr(true), - ContextNotifications: util.Ptr(false), - ContextPublic: util.Ptr(false), - ContextThread: util.Ptr(false), - ContextAccount: util.Ptr(false), + Statuses: []*gtsmodel.FilterStatus{filterStatus}, + StatusIDs: []string{filterStatusID}, + Contexts: gtsmodel.FilterContexts(gtsmodel.FilterContextHome), } ) @@ -95,6 +90,11 @@ func (suite *HomeTestSuite) TestHomeTimelineGetHideFiltered() { // Clear the timeline to drop all cached statuses. suite.state.Caches.Timelines.Home.Clear(requester.ID) + // Create the filter status associated with the main filter. + if err := suite.db.PutFilterStatus(ctx, filterStatus); err != nil { + suite.FailNow(err.Error()) + } + // Create a filter to hide one status on the timeline. if err := suite.db.PutFilter(ctx, filter); err != nil { suite.FailNow(err.Error()) diff --git a/internal/processing/timeline/list.go b/internal/processing/timeline/list.go index c8e6bc5f1..265cd5ca2 100644 --- a/internal/processing/timeline/list.go +++ b/internal/processing/timeline/list.go @@ -23,7 +23,6 @@ import ( apimodel "code.superseriousbusiness.org/gotosocial/internal/api/model" "code.superseriousbusiness.org/gotosocial/internal/db" - statusfilter "code.superseriousbusiness.org/gotosocial/internal/filter/status" "code.superseriousbusiness.org/gotosocial/internal/gtscontext" "code.superseriousbusiness.org/gotosocial/internal/gtserror" "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" @@ -88,7 +87,7 @@ func (p *Processor) ListTimelineGet( nil, // Status filter context. - statusfilter.FilterContextHome, + gtsmodel.FilterContextHome, // Database load function. func(pg *paging.Page) (statuses []*gtsmodel.Status, err error) { diff --git a/internal/processing/timeline/notification.go b/internal/processing/timeline/notification.go index ad60fd90c..143145bb9 100644 --- a/internal/processing/timeline/notification.go +++ b/internal/processing/timeline/notification.go @@ -59,7 +59,7 @@ func (p *Processor) NotificationsGet( return util.EmptyPageableResponse(), nil } - filters, err := p.state.DB.GetFiltersForAccountID(ctx, requester.ID) + filters, err := p.state.DB.GetFiltersByAccountID(ctx, requester.ID) if err != nil { err = gtserror.Newf("error getting account %s filters: %w", requester.ID, err) return nil, gtserror.NewErrorInternalError(err) diff --git a/internal/processing/timeline/public.go b/internal/processing/timeline/public.go index cfb58201d..d724bfaa1 100644 --- a/internal/processing/timeline/public.go +++ b/internal/processing/timeline/public.go @@ -21,7 +21,6 @@ import ( "context" apimodel "code.superseriousbusiness.org/gotosocial/internal/api/model" - statusfilter "code.superseriousbusiness.org/gotosocial/internal/filter/status" "code.superseriousbusiness.org/gotosocial/internal/gtserror" "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/log" @@ -79,7 +78,7 @@ func (p *Processor) publicTimelineGet( localOnlyFalse, // Status filter context. - statusfilter.FilterContextPublic, + gtsmodel.FilterContextPublic, // Database load function. func(pg *paging.Page) (statuses []*gtsmodel.Status, err error) { @@ -148,7 +147,7 @@ func (p *Processor) localTimelineGet( localOnlyTrue, // Status filter context. - statusfilter.FilterContextPublic, + gtsmodel.FilterContextPublic, // Database load function. func(pg *paging.Page) (statuses []*gtsmodel.Status, err error) { diff --git a/internal/processing/timeline/public_test.go b/internal/processing/timeline/public_test.go index 5aa09f138..3320a45da 100644 --- a/internal/processing/timeline/public_test.go +++ b/internal/processing/timeline/public_test.go @@ -24,7 +24,6 @@ import ( "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/id" "code.superseriousbusiness.org/gotosocial/internal/paging" - "code.superseriousbusiness.org/gotosocial/internal/util" "github.com/stretchr/testify/suite" ) @@ -110,24 +109,20 @@ func (suite *PublicTestSuite) TestPublicTimelineGetHideFiltered() { filteredStatus = suite.testStatuses["admin_account_status_2"] filteredStatusFound = false filterID = id.NewULID() - filter = >smodel.Filter{ + filterStatusID = id.NewULID() + filterStatus = >smodel.FilterStatus{ + ID: filterStatusID, + FilterID: filterID, + StatusID: filteredStatus.ID, + } + filter = >smodel.Filter{ ID: filterID, AccountID: requester.ID, Title: "timeline filtering test", Action: gtsmodel.FilterActionHide, - Statuses: []*gtsmodel.FilterStatus{ - { - ID: id.NewULID(), - AccountID: requester.ID, - FilterID: filterID, - StatusID: filteredStatus.ID, - }, - }, - ContextHome: util.Ptr(false), - ContextNotifications: util.Ptr(false), - ContextPublic: util.Ptr(true), - ContextThread: util.Ptr(false), - ContextAccount: util.Ptr(false), + Statuses: []*gtsmodel.FilterStatus{filterStatus}, + StatusIDs: []string{filterStatusID}, + Contexts: gtsmodel.FilterContexts(gtsmodel.FilterContextPublic), } ) @@ -153,6 +148,11 @@ func (suite *PublicTestSuite) TestPublicTimelineGetHideFiltered() { suite.FailNow("precondition failed: status we would filter isn't present in unfiltered timeline") } + // Create the filter status associated with the main filter. + if err := suite.db.PutFilterStatus(ctx, filterStatus); err != nil { + suite.FailNow(err.Error()) + } + // Create a filter to hide one status on the timeline. if err := suite.db.PutFilter(ctx, filter); err != nil { suite.FailNow(err.Error()) diff --git a/internal/processing/timeline/tag.go b/internal/processing/timeline/tag.go index 88333d343..995f9f8cc 100644 --- a/internal/processing/timeline/tag.go +++ b/internal/processing/timeline/tag.go @@ -24,7 +24,6 @@ import ( apimodel "code.superseriousbusiness.org/gotosocial/internal/api/model" "code.superseriousbusiness.org/gotosocial/internal/db" - statusfilter "code.superseriousbusiness.org/gotosocial/internal/filter/status" "code.superseriousbusiness.org/gotosocial/internal/gtserror" "code.superseriousbusiness.org/gotosocial/internal/gtsmodel" "code.superseriousbusiness.org/gotosocial/internal/log" @@ -87,7 +86,7 @@ func (p *Processor) TagTimelineGet( nil, // Status filter context. - statusfilter.FilterContextPublic, + gtsmodel.FilterContextPublic, // Database load function. func(pg *paging.Page) (statuses []*gtsmodel.Status, err error) { diff --git a/internal/processing/timeline/timeline.go b/internal/processing/timeline/timeline.go index a86702d42..a37785879 100644 --- a/internal/processing/timeline/timeline.go +++ b/internal/processing/timeline/timeline.go @@ -70,7 +70,7 @@ func (p *Processor) getStatusTimeline( page *paging.Page, pagePath string, pageQuery url.Values, - filterCtx statusfilter.FilterContext, + filterCtx gtsmodel.FilterContext, loadPage func(*paging.Page) (statuses []*gtsmodel.Status, err error), filter func(*gtsmodel.Status) (delete bool), postFilter func(*gtsmodel.Status) (remove bool), @@ -83,7 +83,7 @@ func (p *Processor) getStatusTimeline( if requester != nil { // Fetch all filters relevant for requesting account. - filters, err = p.state.DB.GetFiltersForAccountID(ctx, + filters, err = p.state.DB.GetFiltersByAccountID(ctx, requester.ID, ) if err != nil && !errors.Is(err, db.ErrNoEntries) { |
