mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[chore] Add interaction filter to complement existing visibility filter (#3111)
* [chore] Add interaction filter to complement existing visibility filter * pass in ptr to visibility and interaction filters to Processor{} to ensure shared * use int constants for for match type, cache db calls in filterctx * function name typo 😇 --------- Co-authored-by: kim <grufwub@gmail.com>
This commit is contained in:
@@ -19,6 +19,7 @@ package testrig
|
||||
|
||||
import (
|
||||
"github.com/superseriousbusiness/gotosocial/internal/federation"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/filter/interaction"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/filter/visibility"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/media"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||
@@ -28,5 +29,13 @@ import (
|
||||
|
||||
// NewTestFederator returns a federator with the given database and (mock!!) transport controller.
|
||||
func NewTestFederator(state *state.State, tc transport.Controller, mediaManager *media.Manager) *federation.Federator {
|
||||
return federation.NewFederator(state, NewTestFederatingDB(state), tc, typeutils.NewConverter(state), visibility.NewFilter(state), mediaManager)
|
||||
return federation.NewFederator(
|
||||
state,
|
||||
NewTestFederatingDB(state),
|
||||
tc,
|
||||
typeutils.NewConverter(state),
|
||||
visibility.NewFilter(state),
|
||||
interaction.NewFilter(state),
|
||||
mediaManager,
|
||||
)
|
||||
}
|
||||
|
@@ -21,6 +21,8 @@ import (
|
||||
"github.com/superseriousbusiness/gotosocial/internal/cleaner"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/email"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/federation"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/filter/interaction"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/filter/visibility"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/media"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||
@@ -31,5 +33,15 @@ import (
|
||||
// The passed in state will have its worker functions set appropriately,
|
||||
// but the state will not be initialized.
|
||||
func NewTestProcessor(state *state.State, federator *federation.Federator, emailSender email.Sender, mediaManager *media.Manager) *processing.Processor {
|
||||
return processing.NewProcessor(cleaner.New(state), typeutils.NewConverter(state), federator, NewTestOauthServer(state.DB), mediaManager, state, emailSender)
|
||||
return processing.NewProcessor(
|
||||
cleaner.New(state),
|
||||
typeutils.NewConverter(state),
|
||||
federator,
|
||||
NewTestOauthServer(state.DB),
|
||||
mediaManager,
|
||||
state,
|
||||
emailSender,
|
||||
visibility.NewFilter(state),
|
||||
interaction.NewFilter(state),
|
||||
)
|
||||
}
|
||||
|
@@ -1436,6 +1436,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGXQRHYF5QPMTMXP78QC2F",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"admin_account_status_2": {
|
||||
ID: "01F8MHAAY43M6RJ473VQFCVH37",
|
||||
@@ -1459,6 +1460,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGXQRHYF5QPMTMXP78QC2F",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"admin_account_status_3": {
|
||||
ID: "01FF25D5Q0DH7CHD57CTRS6WK0",
|
||||
@@ -1483,6 +1485,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGXQRHYF5QPMTMXP78QC2F",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"admin_account_status_4": {
|
||||
ID: "01G36SF3V6Y6V5BF9P4R7PQG7G",
|
||||
@@ -1504,6 +1507,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGXQRHYF5QPMTMXP78QC2F",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_1": {
|
||||
ID: "01F8MHAMCHF6Y650WCRSCP4WMY",
|
||||
@@ -1526,6 +1530,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGY43H3N2C8EWPR2FPYEXG",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_2": {
|
||||
ID: "01F8MHAYFKS4KMXF8K5Y1C0KRN",
|
||||
@@ -1548,6 +1553,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGY43H3N2C8EWPR2FPYEXG",
|
||||
Federated: util.Ptr(false),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_3": {
|
||||
ID: "01F8MHBBN8120SYH7D5S050MGK",
|
||||
@@ -1581,6 +1587,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
},
|
||||
},
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_4": {
|
||||
ID: "01F8MH82FYRXD2RC6108DAJ5HB",
|
||||
@@ -1604,6 +1611,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGY43H3N2C8EWPR2FPYEXG",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_5": {
|
||||
ID: "01FCTA44PW9H1TB328S9AQXKDS",
|
||||
@@ -1627,6 +1635,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGY43H3N2C8EWPR2FPYEXG",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_6": {
|
||||
ID: "01HEN2RZ8BG29Y5Z9VJC73HZW7",
|
||||
@@ -1651,6 +1660,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ActivityQuestion,
|
||||
PollID: "01HEN2RKT1YTEZ80SA8HGP105F",
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_7": {
|
||||
ID: "01HH9KYNQPA416TNJ53NSATP40",
|
||||
@@ -1673,6 +1683,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGY43H3N2C8EWPR2FPYEXG",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_1_status_8": {
|
||||
ID: "01J2M1HPFSS54S60Y0KYV23KJE",
|
||||
@@ -1720,6 +1731,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGYG9E893WRHW0TAEXR8GJ",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_2_status_2": {
|
||||
ID: "01F8MHC0H0A7XHTVH5F596ZKBM",
|
||||
@@ -1753,6 +1765,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
},
|
||||
},
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_2_status_3": {
|
||||
ID: "01F8MHC8VWDRBQR0N1BATDDEM5",
|
||||
@@ -1787,6 +1800,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
},
|
||||
},
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_2_status_4": {
|
||||
ID: "01F8MHCP5P2NWYQ416SBA0XSEV",
|
||||
@@ -1820,6 +1834,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
},
|
||||
},
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_2_status_5": {
|
||||
ID: "01FCQSQ667XHJ9AV9T27SJJSX5",
|
||||
@@ -1845,6 +1860,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGYG9E893WRHW0TAEXR8GJ",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_2_status_6": {
|
||||
ID: "01FN3VJGFH10KR7S2PB0GFJZYG",
|
||||
@@ -1870,6 +1886,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGYG9E893WRHW0TAEXR8GJ",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_2_status_7": {
|
||||
ID: "01G20ZM733MGN8J344T4ZDDFY1",
|
||||
@@ -1894,6 +1911,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "01F8MGYG9E893WRHW0TAEXR8GJ",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"local_account_2_status_8": {
|
||||
ID: "01HEN2PRXT0TF4YDRA64FZZRN7",
|
||||
@@ -1918,6 +1936,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ActivityQuestion,
|
||||
PollID: "01HEN2QB5NR4NCEHGYC3HN84K6",
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"remote_account_1_status_1": {
|
||||
ID: "01FVW7JHQFSFK166WWKR8CBA6M",
|
||||
@@ -1942,6 +1961,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"remote_account_1_status_2": {
|
||||
ID: "01HEN2QRFA8H3C6QPN7RD4KSR6",
|
||||
@@ -1966,6 +1986,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ActivityQuestion,
|
||||
PollID: "01HEN2R65468ZG657C4ZPHJ4EX",
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"remote_account_1_status_3": {
|
||||
ID: "01HEWV37MHV8BAC8ANFGVRRM5D",
|
||||
@@ -1990,6 +2011,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ActivityQuestion,
|
||||
PollID: "01HEWV1GW2D49R919NPEDXPTZ5",
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
"remote_account_2_status_1": {
|
||||
ID: "01HE7XJ1CG84TBKH5V9XKBVGF5",
|
||||
@@ -2014,6 +2036,7 @@ func NewTestStatuses() map[string]*gtsmodel.Status {
|
||||
CreatedWithApplicationID: "",
|
||||
Federated: util.Ptr(true),
|
||||
ActivityStreamsType: ap.ObjectNote,
|
||||
PendingApproval: util.Ptr(false),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@@ -91,10 +91,10 @@ func StopWorkers(state *state.State) {
|
||||
state.Workers.Dereference.Stop()
|
||||
}
|
||||
|
||||
func StartTimelines(state *state.State, filter *visibility.Filter, converter *typeutils.Converter) {
|
||||
func StartTimelines(state *state.State, visFilter *visibility.Filter, converter *typeutils.Converter) {
|
||||
state.Timelines.Home = timeline.NewManager(
|
||||
tlprocessor.HomeTimelineGrab(state),
|
||||
tlprocessor.HomeTimelineFilter(state, filter),
|
||||
tlprocessor.HomeTimelineFilter(state, visFilter),
|
||||
tlprocessor.HomeTimelineStatusPrepare(state, converter),
|
||||
tlprocessor.SkipInsert(),
|
||||
)
|
||||
@@ -104,7 +104,7 @@ func StartTimelines(state *state.State, filter *visibility.Filter, converter *ty
|
||||
|
||||
state.Timelines.List = timeline.NewManager(
|
||||
tlprocessor.ListTimelineGrab(state),
|
||||
tlprocessor.ListTimelineFilter(state, filter),
|
||||
tlprocessor.ListTimelineFilter(state, visFilter),
|
||||
tlprocessor.ListTimelineStatusPrepare(state, converter),
|
||||
tlprocessor.SkipInsert(),
|
||||
)
|
||||
|
Reference in New Issue
Block a user