summaryrefslogtreecommitdiff
path: root/internal/processing/timeline
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/timeline')
-rw-r--r--internal/processing/timeline/faved.go4
-rw-r--r--internal/processing/timeline/home.go3
-rw-r--r--internal/processing/timeline/home_test.go30
-rw-r--r--internal/processing/timeline/list.go3
-rw-r--r--internal/processing/timeline/notification.go2
-rw-r--r--internal/processing/timeline/public.go5
-rw-r--r--internal/processing/timeline/public_test.go30
-rw-r--r--internal/processing/timeline/tag.go3
-rw-r--r--internal/processing/timeline/timeline.go4
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 = &gtsmodel.Filter{
+ filterStatusID = id.NewULID()
+ filterStatus = &gtsmodel.FilterStatus{
+ ID: filterStatusID,
+ FilterID: filterID,
+ StatusID: filteredStatus.ID,
+ }
+ filter = &gtsmodel.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 = &gtsmodel.Filter{
+ filterStatusID = id.NewULID()
+ filterStatus = &gtsmodel.FilterStatus{
+ ID: filterStatusID,
+ FilterID: filterID,
+ StatusID: filteredStatus.ID,
+ }
+ filter = &gtsmodel.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) {