[chore] deinterface the typeutils.Converter and update to use state structure (#2217)
* update typeconverter to use state structure * deinterface the typeutils.TypeConverter -> typeutils.Converter * finish copying over old type converter code comments * fix cherry-pick merge issues, fix tests pointing to old typeutils interface type still
This commit is contained in:
parent
1b848aa1e5
commit
8f67dd583d
|
@ -129,7 +129,7 @@ var Start action.GTSAction = func(ctx context.Context) error {
|
||||||
// Build handlers used in later initializations.
|
// Build handlers used in later initializations.
|
||||||
mediaManager := media.NewManager(&state)
|
mediaManager := media.NewManager(&state)
|
||||||
oauthServer := oauth.New(ctx, dbService)
|
oauthServer := oauth.New(ctx, dbService)
|
||||||
typeConverter := typeutils.NewConverter(dbService)
|
typeConverter := typeutils.NewConverter(&state)
|
||||||
filter := visibility.NewFilter(&state)
|
filter := visibility.NewFilter(&state)
|
||||||
federatingDB := federatingdb.New(&state, typeConverter)
|
federatingDB := federatingdb.New(&state, typeConverter)
|
||||||
transportController := transport.NewController(&state, federatingDB, &federation.Clock{}, client)
|
transportController := transport.NewController(&state, federatingDB, &federation.Clock{}, client)
|
||||||
|
|
|
@ -43,6 +43,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/timeline"
|
"github.com/superseriousbusiness/gotosocial/internal/timeline"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/tracing"
|
"github.com/superseriousbusiness/gotosocial/internal/tracing"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/web"
|
"github.com/superseriousbusiness/gotosocial/internal/web"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
|
@ -96,7 +97,7 @@ var Start action.GTSAction = func(ctx context.Context) error {
|
||||||
federator := testrig.NewTestFederator(&state, transportController, mediaManager)
|
federator := testrig.NewTestFederator(&state, transportController, mediaManager)
|
||||||
|
|
||||||
emailSender := testrig.NewEmailSender("./web/template/", nil)
|
emailSender := testrig.NewEmailSender("./web/template/", nil)
|
||||||
typeConverter := testrig.NewTestTypeConverter(state.DB)
|
typeConverter := typeutils.NewConverter(&state)
|
||||||
filter := visibility.NewFilter(&state)
|
filter := visibility.NewFilter(&state)
|
||||||
|
|
||||||
// Initialize timelines.
|
// Initialize timelines.
|
||||||
|
|
|
@ -43,7 +43,7 @@ import (
|
||||||
type EmojiGetTestSuite struct {
|
type EmojiGetTestSuite struct {
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -75,7 +75,7 @@ func (suite *EmojiGetTestSuite) SetupTest() {
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -39,7 +39,7 @@ type UserStandardTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -85,7 +85,7 @@ func (suite *UserStandardTestSuite) SetupTest() {
|
||||||
|
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -36,6 +36,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -90,7 +91,7 @@ func (suite *AccountStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -36,6 +36,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -96,7 +97,7 @@ func (suite *AdminStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -50,7 +50,7 @@ type BookmarkTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -98,7 +98,7 @@ func (suite *BookmarkTestSuite) SetupTest() {
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -37,7 +37,7 @@ type FavouritesStandardTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -82,7 +82,7 @@ func (suite *FavouritesStandardTestSuite) SetupTest() {
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -35,6 +35,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -87,7 +88,7 @@ func (suite *FollowRequestStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -35,6 +35,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -89,7 +90,7 @@ func (suite *InstanceStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -28,6 +28,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -88,7 +89,7 @@ func (suite *ListsStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -56,7 +56,7 @@ type MediaCreateTestSuite struct {
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
oauthServer oauth.Server
|
oauthServer oauth.Server
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
processor *processing.Processor
|
processor *processing.Processor
|
||||||
|
@ -91,7 +91,7 @@ func (suite *MediaCreateTestSuite) SetupSuite() {
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -52,7 +52,7 @@ type MediaUpdateTestSuite struct {
|
||||||
db db.DB
|
db db.DB
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
oauthServer oauth.Server
|
oauthServer oauth.Server
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -87,7 +87,7 @@ func (suite *MediaUpdateTestSuite) SetupSuite() {
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -28,6 +28,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -81,7 +82,7 @@ func (suite *ReportsStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -35,6 +35,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
"github.com/superseriousbusiness/gotosocial/internal/processing"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -85,7 +86,7 @@ func (suite *SearchStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -37,7 +37,7 @@ type StatusStandardTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -82,7 +82,7 @@ func (suite *StatusStandardTestSuite) SetupTest() {
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -49,7 +49,7 @@ type StreamingTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -94,7 +94,7 @@ func (suite *StreamingTestSuite) SetupTest() {
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -36,7 +36,7 @@ import (
|
||||||
type UserStandardTestSuite struct {
|
type UserStandardTestSuite struct {
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -73,7 +73,7 @@ func (suite *UserStandardTestSuite) SetupTest() {
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -42,7 +42,7 @@ type FileserverTestSuite struct {
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
state state.State
|
state state.State
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
processor *processing.Processor
|
processor *processing.Processor
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
oauthServer oauth.Server
|
oauthServer oauth.Server
|
||||||
|
@ -79,7 +79,7 @@ func (suite *FileserverTestSuite) SetupSuite() {
|
||||||
suite.federator = testrig.NewTestFederator(&suite.state, testrig.NewTestTransportController(&suite.state, testrig.NewMockHTTPClient(nil, "../../../testrig/media")), suite.mediaManager)
|
suite.federator = testrig.NewTestFederator(&suite.state, testrig.NewTestTransportController(&suite.state, testrig.NewMockHTTPClient(nil, "../../../testrig/media")), suite.mediaManager)
|
||||||
suite.processor = testrig.NewTestProcessor(&suite.state, suite.federator, suite.emailSender, suite.mediaManager)
|
suite.processor = testrig.NewTestProcessor(&suite.state, suite.federator, suite.emailSender, suite.mediaManager)
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -39,7 +39,7 @@ type WebfingerStandardTestSuite struct {
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
state state.State
|
state state.State
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -79,7 +79,7 @@ func (suite *WebfingerStandardTestSuite) SetupTest() {
|
||||||
|
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -34,6 +34,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/transport"
|
"github.com/superseriousbusiness/gotosocial/internal/transport"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -74,7 +75,7 @@ func (suite *MediaTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.testAttachments = testrig.NewTestAttachments()
|
suite.testAttachments = testrig.NewTestAttachments()
|
||||||
|
|
|
@ -22,6 +22,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/db"
|
"github.com/superseriousbusiness/gotosocial/internal/db"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -81,7 +82,8 @@ func (suite *BunDBStandardTestSuite) SetupTest() {
|
||||||
testrig.InitTestLog()
|
testrig.InitTestLog()
|
||||||
suite.state.Caches.Init()
|
suite.state.Caches.Init()
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
testrig.StartTimelines(&suite.state, visibility.NewFilter(&suite.state), testrig.NewTestTypeConverter(suite.db))
|
converter := typeutils.NewConverter(&suite.state)
|
||||||
|
testrig.StartTimelines(&suite.state, visibility.NewFilter(&suite.state), converter)
|
||||||
testrig.StandardDBSetup(suite.db, suite.testAccounts)
|
testrig.StandardDBSetup(suite.db, suite.testAccounts)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -372,7 +372,7 @@ func (d *deref) enrichAccount(ctx context.Context, requestUser string, uri *url.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert the dereferenced AP account object to our GTS model.
|
// Convert the dereferenced AP account object to our GTS model.
|
||||||
latestAcc, err := d.typeConverter.ASRepresentationToAccount(ctx,
|
latestAcc, err := d.converter.ASRepresentationToAccount(ctx,
|
||||||
apubAcc,
|
apubAcc,
|
||||||
account.Domain,
|
account.Domain,
|
||||||
)
|
)
|
||||||
|
|
|
@ -85,7 +85,7 @@ type Dereferencer interface {
|
||||||
|
|
||||||
type deref struct {
|
type deref struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
typeConverter typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
transportController transport.Controller
|
transportController transport.Controller
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
derefAvatars map[string]*media.ProcessingMedia
|
derefAvatars map[string]*media.ProcessingMedia
|
||||||
|
@ -99,10 +99,10 @@ type deref struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDereferencer returns a Dereferencer initialized with the given parameters.
|
// NewDereferencer returns a Dereferencer initialized with the given parameters.
|
||||||
func NewDereferencer(state *state.State, typeConverter typeutils.TypeConverter, transportController transport.Controller, mediaManager *media.Manager) Dereferencer {
|
func NewDereferencer(state *state.State, converter *typeutils.Converter, transportController transport.Controller, mediaManager *media.Manager) Dereferencer {
|
||||||
return &deref{
|
return &deref{
|
||||||
state: state,
|
state: state,
|
||||||
typeConverter: typeConverter,
|
converter: converter,
|
||||||
transportController: transportController,
|
transportController: transportController,
|
||||||
mediaManager: mediaManager,
|
mediaManager: mediaManager,
|
||||||
derefAvatars: make(map[string]*media.ProcessingMedia),
|
derefAvatars: make(map[string]*media.ProcessingMedia),
|
||||||
|
|
|
@ -25,6 +25,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -63,17 +64,19 @@ func (suite *DereferencerStandardTestSuite) SetupTest() {
|
||||||
|
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
|
|
||||||
|
converter := typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
converter,
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
media := testrig.NewTestMediaManager(&suite.state)
|
media := testrig.NewTestMediaManager(&suite.state)
|
||||||
suite.dereferencer = dereferencing.NewDereferencer(&suite.state, testrig.NewTestTypeConverter(suite.db), testrig.NewTestTransportController(&suite.state, testrig.NewMockHTTPClient(nil, "../../../testrig/media")), media)
|
suite.dereferencer = dereferencing.NewDereferencer(&suite.state, converter, testrig.NewTestTransportController(&suite.state, testrig.NewMockHTTPClient(nil, "../../../testrig/media")), media)
|
||||||
testrig.StandardDBSetup(suite.db, nil)
|
testrig.StandardDBSetup(suite.db, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -263,7 +263,7 @@ func (d *deref) enrichStatus(
|
||||||
|
|
||||||
// ActivityPub model was recently dereferenced, so assume that passed status
|
// ActivityPub model was recently dereferenced, so assume that passed status
|
||||||
// may contain out-of-date information, convert AP model to our GTS model.
|
// may contain out-of-date information, convert AP model to our GTS model.
|
||||||
latestStatus, err := d.typeConverter.ASStatusToStatus(ctx, apubStatus)
|
latestStatus, err := d.converter.ASStatusToStatus(ctx, apubStatus)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, gtserror.Newf("error converting statusable to gts model for status %s: %w", uri, err)
|
return nil, nil, gtserror.Newf("error converting statusable to gts model for status %s: %w", uri, err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ func (f *federatingDB) Accept(ctx context.Context, accept vocab.ActivityStreamsA
|
||||||
return errors.New("ACCEPT: couldn't parse follow into vocab.ActivityStreamsFollow")
|
return errors.New("ACCEPT: couldn't parse follow into vocab.ActivityStreamsFollow")
|
||||||
}
|
}
|
||||||
// convert the follow to something we can understand
|
// convert the follow to something we can understand
|
||||||
gtsFollow, err := f.typeConverter.ASFollowToFollow(ctx, asFollow)
|
gtsFollow, err := f.converter.ASFollowToFollow(ctx, asFollow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("ACCEPT: error converting asfollow to gtsfollow: %s", err)
|
return fmt.Errorf("ACCEPT: error converting asfollow to gtsfollow: %s", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ func (f *federatingDB) Announce(ctx context.Context, announce vocab.ActivityStre
|
||||||
return nil // Already processed.
|
return nil // Already processed.
|
||||||
}
|
}
|
||||||
|
|
||||||
boost, isNew, err := f.typeConverter.ASAnnounceToStatus(ctx, announce)
|
boost, isNew, err := f.converter.ASAnnounceToStatus(ctx, announce)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting announce to boost: %w", err)
|
return gtserror.Newf("error converting announce to boost: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ func (f *federatingDB) activityBlock(ctx context.Context, asType vocab.Type, rec
|
||||||
return errors.New("activityBlock: could not convert type to block")
|
return errors.New("activityBlock: could not convert type to block")
|
||||||
}
|
}
|
||||||
|
|
||||||
block, err := f.typeConverter.ASBlockToBlock(ctx, blockable)
|
block, err := f.converter.ASBlockToBlock(ctx, blockable)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("activityBlock: could not convert Block to gts model block")
|
return fmt.Errorf("activityBlock: could not convert Block to gts model block")
|
||||||
}
|
}
|
||||||
|
@ -246,7 +246,7 @@ func (f *federatingDB) createStatusable(
|
||||||
|
|
||||||
// This is a non-forwarded status we can trust the requester on,
|
// This is a non-forwarded status we can trust the requester on,
|
||||||
// convert this provided statusable data to a useable gtsmodel status.
|
// convert this provided statusable data to a useable gtsmodel status.
|
||||||
status, err = f.typeConverter.ASStatusToStatus(ctx, statusable)
|
status, err = f.converter.ASStatusToStatus(ctx, statusable)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting statusable to status: %w", err)
|
return gtserror.Newf("error converting statusable to status: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -333,7 +333,7 @@ func (f *federatingDB) activityFollow(ctx context.Context, asType vocab.Type, re
|
||||||
return errors.New("activityFollow: could not convert type to follow")
|
return errors.New("activityFollow: could not convert type to follow")
|
||||||
}
|
}
|
||||||
|
|
||||||
followRequest, err := f.typeConverter.ASFollowToFollowRequest(ctx, follow)
|
followRequest, err := f.converter.ASFollowToFollowRequest(ctx, follow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("activityFollow: could not convert Follow to follow request: %s", err)
|
return fmt.Errorf("activityFollow: could not convert Follow to follow request: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -364,7 +364,7 @@ func (f *federatingDB) activityLike(ctx context.Context, asType vocab.Type, rece
|
||||||
return errors.New("activityLike: could not convert type to like")
|
return errors.New("activityLike: could not convert type to like")
|
||||||
}
|
}
|
||||||
|
|
||||||
fave, err := f.typeConverter.ASLikeToFave(ctx, like)
|
fave, err := f.converter.ASLikeToFave(ctx, like)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("activityLike: could not convert Like to fave: %w", err)
|
return fmt.Errorf("activityLike: could not convert Like to fave: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -401,7 +401,7 @@ func (f *federatingDB) activityFlag(ctx context.Context, asType vocab.Type, rece
|
||||||
return errors.New("activityFlag: could not convert type to flag")
|
return errors.New("activityFlag: could not convert type to flag")
|
||||||
}
|
}
|
||||||
|
|
||||||
report, err := f.typeConverter.ASFlagToReport(ctx, flag)
|
report, err := f.converter.ASFlagToReport(ctx, flag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("activityFlag: could not convert Flag to report: %w", err)
|
return fmt.Errorf("activityFlag: could not convert Flag to report: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,15 +41,15 @@ type DB interface {
|
||||||
type federatingDB struct {
|
type federatingDB struct {
|
||||||
locks mutexes.MutexMap
|
locks mutexes.MutexMap
|
||||||
state *state.State
|
state *state.State
|
||||||
typeConverter typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a DB interface using the given database and config
|
// New returns a DB interface using the given database and config
|
||||||
func New(state *state.State, tc typeutils.TypeConverter) DB {
|
func New(state *state.State, converter *typeutils.Converter) DB {
|
||||||
fdb := federatingDB{
|
fdb := federatingDB{
|
||||||
locks: mutexes.NewMap(-1, -1), // use defaults
|
locks: mutexes.NewMap(-1, -1), // use defaults
|
||||||
state: state,
|
state: state,
|
||||||
typeConverter: tc,
|
converter: converter,
|
||||||
}
|
}
|
||||||
return &fdb
|
return &fdb
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ import (
|
||||||
type FederatingDBTestSuite struct {
|
type FederatingDBTestSuite struct {
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
fromFederator chan messages.FromFediAPI
|
fromFederator chan messages.FromFediAPI
|
||||||
federatingDB federatingdb.DB
|
federatingDB federatingdb.DB
|
||||||
state state.State
|
state state.State
|
||||||
|
@ -79,7 +79,7 @@ func (suite *FederatingDBTestSuite) SetupTest() {
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
|
|
||||||
suite.testActivities = testrig.NewTestActivities(suite.testAccounts)
|
suite.testActivities = testrig.NewTestActivities(suite.testAccounts)
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -42,13 +42,13 @@ func (f *federatingDB) Get(ctx context.Context, id *url.URL) (value vocab.Type,
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return f.typeConverter.AccountToAS(ctx, acct)
|
return f.converter.AccountToAS(ctx, acct)
|
||||||
case uris.IsStatusesPath(id):
|
case uris.IsStatusesPath(id):
|
||||||
status, err := f.state.DB.GetStatusByURI(ctx, id.String())
|
status, err := f.state.DB.GetStatusByURI(ctx, id.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return f.typeConverter.StatusToAS(ctx, status)
|
return f.converter.StatusToAS(ctx, status)
|
||||||
case uris.IsFollowersPath(id):
|
case uris.IsFollowersPath(id):
|
||||||
return f.Followers(ctx, id)
|
return f.Followers(ctx, id)
|
||||||
case uris.IsFollowingPath(id):
|
case uris.IsFollowingPath(id):
|
||||||
|
|
|
@ -85,7 +85,7 @@ func (f *federatingDB) Reject(ctx context.Context, reject vocab.ActivityStreamsR
|
||||||
}
|
}
|
||||||
|
|
||||||
// convert the follow to something we can understand
|
// convert the follow to something we can understand
|
||||||
gtsFollow, err := f.typeConverter.ASFollowToFollow(ctx, asFollow)
|
gtsFollow, err := f.converter.ASFollowToFollow(ctx, asFollow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Reject: error converting asfollow to gtsfollow: %s", err)
|
return fmt.Errorf("Reject: error converting asfollow to gtsfollow: %s", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ func (f *federatingDB) undoFollow(
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
follow, err := f.typeConverter.ASFollowToFollow(ctx, Follow)
|
follow, err := f.converter.ASFollowToFollow(ctx, Follow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("undoFollow: error converting ActivityStreams Follow to follow: %w", err)
|
return fmt.Errorf("undoFollow: error converting ActivityStreams Follow to follow: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ func (f *federatingDB) undoLike(
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
fave, err := f.typeConverter.ASLikeToFave(ctx, Like)
|
fave, err := f.converter.ASLikeToFave(ctx, Like)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("undoLike: error converting ActivityStreams Like to fave: %w", err)
|
return fmt.Errorf("undoLike: error converting ActivityStreams Like to fave: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ func (f *federatingDB) undoBlock(
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
block, err := f.typeConverter.ASBlockToBlock(ctx, Block)
|
block, err := f.converter.ASBlockToBlock(ctx, Block)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("undoBlock: error converting ActivityStreams Block to block: %w", err)
|
return fmt.Errorf("undoBlock: error converting ActivityStreams Block to block: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ type federator struct {
|
||||||
db db.DB
|
db db.DB
|
||||||
federatingDB federatingdb.DB
|
federatingDB federatingdb.DB
|
||||||
clock pub.Clock
|
clock pub.Clock
|
||||||
typeConverter typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
transportController transport.Controller
|
transportController transport.Controller
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
actor pub.FederatingActor
|
actor pub.FederatingActor
|
||||||
|
@ -67,15 +67,15 @@ type federator struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewFederator returns a new federator
|
// NewFederator returns a new federator
|
||||||
func NewFederator(state *state.State, federatingDB federatingdb.DB, transportController transport.Controller, typeConverter typeutils.TypeConverter, mediaManager *media.Manager) Federator {
|
func NewFederator(state *state.State, federatingDB federatingdb.DB, transportController transport.Controller, converter *typeutils.Converter, mediaManager *media.Manager) Federator {
|
||||||
dereferencer := dereferencing.NewDereferencer(state, typeConverter, transportController, mediaManager)
|
dereferencer := dereferencing.NewDereferencer(state, converter, transportController, mediaManager)
|
||||||
|
|
||||||
clock := &Clock{}
|
clock := &Clock{}
|
||||||
f := &federator{
|
f := &federator{
|
||||||
db: state.DB,
|
db: state.DB,
|
||||||
federatingDB: federatingDB,
|
federatingDB: federatingDB,
|
||||||
clock: &Clock{},
|
clock: &Clock{},
|
||||||
typeConverter: typeConverter,
|
converter: converter,
|
||||||
transportController: transportController,
|
transportController: transportController,
|
||||||
mediaManager: mediaManager,
|
mediaManager: mediaManager,
|
||||||
Dereferencer: dereferencer,
|
Dereferencer: dereferencer,
|
||||||
|
|
|
@ -36,7 +36,7 @@ type FederatorStandardTestSuite struct {
|
||||||
suite.Suite
|
suite.Suite
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
state state.State
|
state state.State
|
||||||
typeconverter typeutils.TypeConverter
|
typeconverter *typeutils.Converter
|
||||||
transportController transport.Controller
|
transportController transport.Controller
|
||||||
httpClient *testrig.MockHTTPClient
|
httpClient *testrig.MockHTTPClient
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
|
@ -65,7 +65,7 @@ func (suite *FederatorStandardTestSuite) SetupTest() {
|
||||||
suite.testActivities = testrig.NewTestActivities(suite.testAccounts)
|
suite.testActivities = testrig.NewTestActivities(suite.testAccounts)
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
suite.typeconverter = testrig.NewTestTypeConverter(suite.state.DB)
|
suite.typeconverter = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -25,6 +25,7 @@ import (
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/state"
|
"github.com/superseriousbusiness/gotosocial/internal/state"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
"github.com/superseriousbusiness/gotosocial/internal/storage"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/transport"
|
"github.com/superseriousbusiness/gotosocial/internal/transport"
|
||||||
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
"github.com/superseriousbusiness/gotosocial/internal/visibility"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/testrig"
|
||||||
)
|
)
|
||||||
|
@ -60,7 +61,7 @@ func (suite *MediaStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
visibility.NewFilter(&suite.state),
|
visibility.NewFilter(&suite.state),
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
typeutils.NewConverter(&suite.state),
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.testAttachments = testrig.NewTestAttachments()
|
suite.testAttachments = testrig.NewTestAttachments()
|
||||||
|
|
|
@ -37,7 +37,7 @@ type Processor struct {
|
||||||
c *common.Processor
|
c *common.Processor
|
||||||
|
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
oauthServer oauth.Server
|
oauthServer oauth.Server
|
||||||
filter *visibility.Filter
|
filter *visibility.Filter
|
||||||
|
@ -50,7 +50,7 @@ type Processor struct {
|
||||||
func New(
|
func New(
|
||||||
common *common.Processor,
|
common *common.Processor,
|
||||||
state *state.State,
|
state *state.State,
|
||||||
tc typeutils.TypeConverter,
|
converter *typeutils.Converter,
|
||||||
mediaManager *media.Manager,
|
mediaManager *media.Manager,
|
||||||
oauthServer oauth.Server,
|
oauthServer oauth.Server,
|
||||||
federator federation.Federator,
|
federator federation.Federator,
|
||||||
|
@ -60,7 +60,7 @@ func New(
|
||||||
return Processor{
|
return Processor{
|
||||||
c: common,
|
c: common,
|
||||||
state: state,
|
state: state,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
mediaManager: mediaManager,
|
mediaManager: mediaManager,
|
||||||
oauthServer: oauthServer,
|
oauthServer: oauthServer,
|
||||||
filter: filter,
|
filter: filter,
|
||||||
|
|
|
@ -43,7 +43,7 @@ type AccountStandardTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
state state.State
|
state state.State
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
|
@ -88,7 +88,7 @@ func (suite *AccountStandardTestSuite) SetupTest() {
|
||||||
|
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -155,7 +155,7 @@ func (p *Processor) BlocksGet(
|
||||||
|
|
||||||
for _, block := range blocks {
|
for _, block := range blocks {
|
||||||
// Convert target account to frontend API model. (target will never be nil)
|
// Convert target account to frontend API model. (target will never be nil)
|
||||||
account, err := p.tc.AccountToAPIAccountBlocked(ctx, block.TargetAccount)
|
account, err := p.converter.AccountToAPIAccountBlocked(ctx, block.TargetAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error converting account to public api account: %v", err)
|
log.Errorf(ctx, "error converting account to public api account: %v", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -67,7 +67,7 @@ func (p *Processor) BookmarksGet(ctx context.Context, requestingAccount *gtsmode
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert the status.
|
// Convert the status.
|
||||||
item, err := p.tc.StatusToAPIStatus(ctx, status, requestingAccount)
|
item, err := p.converter.StatusToAPIStatus(ctx, status, requestingAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error converting bookmarked status to api: %s", err)
|
log.Errorf(ctx, "error converting bookmarked status to api: %s", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -80,7 +80,7 @@ func (p *Processor) getFor(ctx context.Context, requestingAccount *gtsmodel.Acco
|
||||||
}
|
}
|
||||||
|
|
||||||
if blocked {
|
if blocked {
|
||||||
apiAccount, err := p.tc.AccountToAPIAccountBlocked(ctx, targetAccount)
|
apiAccount, err := p.converter.AccountToAPIAccountBlocked(ctx, targetAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting account: %w", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting account: %w", err))
|
||||||
}
|
}
|
||||||
|
@ -107,9 +107,9 @@ func (p *Processor) getFor(ctx context.Context, requestingAccount *gtsmodel.Acco
|
||||||
var apiAccount *apimodel.Account
|
var apiAccount *apimodel.Account
|
||||||
|
|
||||||
if requestingAccount != nil && targetAccount.ID == requestingAccount.ID {
|
if requestingAccount != nil && targetAccount.ID == requestingAccount.ID {
|
||||||
apiAccount, err = p.tc.AccountToAPIAccountSensitive(ctx, targetAccount)
|
apiAccount, err = p.converter.AccountToAPIAccountSensitive(ctx, targetAccount)
|
||||||
} else {
|
} else {
|
||||||
apiAccount, err = p.tc.AccountToAPIAccountPublic(ctx, targetAccount)
|
apiAccount, err = p.converter.AccountToAPIAccountPublic(ctx, targetAccount)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting account: %w", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting account: %w", err))
|
||||||
|
|
|
@ -94,7 +94,7 @@ func (p *Processor) ListsGet(ctx context.Context, requestingAccount *gtsmodel.Ac
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiList, err := p.tc.ListToAPIList(ctx, list)
|
apiList, err := p.converter.ListToAPIList(ctx, list)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debugf(ctx, "skipping list %s due to error %q", listEntry.ListID, err)
|
log.Debugf(ctx, "skipping list %s due to error %q", listEntry.ListID, err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -130,7 +130,7 @@ func (p *Processor) RelationshipGet(ctx context.Context, requestingAccount *gtsm
|
||||||
return nil, gtserror.NewErrorInternalError(gtserror.Newf("error getting relationship: %s", err))
|
return nil, gtserror.NewErrorInternalError(gtserror.Newf("error getting relationship: %s", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
r, err := p.tc.RelationshipToAPIRelationship(ctx, gtsR)
|
r, err := p.converter.RelationshipToAPIRelationship(ctx, gtsR)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(gtserror.Newf("error converting relationship: %s", err))
|
return nil, gtserror.NewErrorInternalError(gtserror.Newf("error converting relationship: %s", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,7 @@ func (p *Processor) GetRSSFeedForUsername(ctx context.Context, username string)
|
||||||
|
|
||||||
// Add each status to the rss feed.
|
// Add each status to the rss feed.
|
||||||
for _, status := range statuses {
|
for _, status := range statuses {
|
||||||
item, err := p.tc.StatusToRSSItem(ctx, status)
|
item, err := p.converter.StatusToRSSItem(ctx, status)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = gtserror.Newf("error converting status to feed item: %w", err)
|
err = gtserror.Newf("error converting status to feed item: %w", err)
|
||||||
return "", gtserror.NewErrorInternalError(err)
|
return "", gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -103,7 +103,7 @@ func (p *Processor) StatusesGet(
|
||||||
|
|
||||||
for _, s := range filtered {
|
for _, s := range filtered {
|
||||||
// Convert filtered statuses to API statuses.
|
// Convert filtered statuses to API statuses.
|
||||||
item, err := p.tc.StatusToAPIStatus(ctx, s, requestingAccount)
|
item, err := p.converter.StatusToAPIStatus(ctx, s, requestingAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error convering to api status: %v", err)
|
log.Errorf(ctx, "error convering to api status: %v", err)
|
||||||
continue
|
continue
|
||||||
|
@ -173,7 +173,7 @@ func (p *Processor) WebStatusesGet(ctx context.Context, targetAccountID string,
|
||||||
|
|
||||||
for _, s := range statuses {
|
for _, s := range statuses {
|
||||||
// Convert fetched statuses to API statuses.
|
// Convert fetched statuses to API statuses.
|
||||||
item, err := p.tc.StatusToAPIStatus(ctx, s, nil)
|
item, err := p.converter.StatusToAPIStatus(ctx, s, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error convering to api status: %v", err)
|
log.Errorf(ctx, "error convering to api status: %v", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -274,7 +274,7 @@ func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, form
|
||||||
OriginAccount: account,
|
OriginAccount: account,
|
||||||
})
|
})
|
||||||
|
|
||||||
acctSensitive, err := p.tc.AccountToAPIAccountSensitive(ctx, account)
|
acctSensitive, err := p.converter.AccountToAPIAccountSensitive(ctx, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("could not convert account into apisensitive account: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("could not convert account into apisensitive account: %s", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ import (
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
cleaner *cleaner.Cleaner
|
cleaner *cleaner.Cleaner
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
transportController transport.Controller
|
transportController transport.Controller
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
@ -45,11 +45,11 @@ func (p *Processor) Actions() *Actions {
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a new admin processor.
|
// New returns a new admin processor.
|
||||||
func New(state *state.State, tc typeutils.TypeConverter, mediaManager *media.Manager, transportController transport.Controller, emailSender email.Sender) Processor {
|
func New(state *state.State, converter *typeutils.Converter, mediaManager *media.Manager, transportController transport.Controller, emailSender email.Sender) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
cleaner: cleaner.New(state),
|
cleaner: cleaner.New(state),
|
||||||
tc: tc,
|
converter: converter,
|
||||||
mediaManager: mediaManager,
|
mediaManager: mediaManager,
|
||||||
transportController: transportController,
|
transportController: transportController,
|
||||||
emailSender: emailSender,
|
emailSender: emailSender,
|
||||||
|
|
|
@ -40,7 +40,7 @@ type AdminStandardTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
state state.State
|
state state.State
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
|
@ -86,7 +86,7 @@ func (suite *AdminStandardTestSuite) SetupTest() {
|
||||||
|
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -40,7 +40,7 @@ func (p *Processor) apiDomainPerm(
|
||||||
domainPermission gtsmodel.DomainPermission,
|
domainPermission gtsmodel.DomainPermission,
|
||||||
export bool,
|
export bool,
|
||||||
) (*apimodel.DomainPermission, gtserror.WithCode) {
|
) (*apimodel.DomainPermission, gtserror.WithCode) {
|
||||||
apiDomainPerm, err := p.tc.DomainPermToAPIDomainPerm(ctx, domainPermission, export)
|
apiDomainPerm, err := p.converter.DomainPermToAPIDomainPerm(ctx, domainPermission, export)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err := gtserror.NewfAt(3, "error converting domain permission to api model: %w", err)
|
err := gtserror.NewfAt(3, "error converting domain permission to api model: %w", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -84,7 +84,7 @@ func (p *Processor) EmojiCreate(ctx context.Context, account *gtsmodel.Account,
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error loading emoji: %s", err), "error loading emoji")
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error loading emoji: %s", err), "error loading emoji")
|
||||||
}
|
}
|
||||||
|
|
||||||
apiEmoji, err := p.tc.EmojiToAPIEmoji(ctx, emoji)
|
apiEmoji, err := p.converter.EmojiToAPIEmoji(ctx, emoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting emoji: %s", err), "error converting emoji to api representation")
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting emoji: %s", err), "error converting emoji to api representation")
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ func (p *Processor) EmojisGet(
|
||||||
|
|
||||||
items := make([]interface{}, 0, count)
|
items := make([]interface{}, 0, count)
|
||||||
for _, emoji := range emojis {
|
for _, emoji := range emojis {
|
||||||
adminEmoji, err := p.tc.EmojiToAdminAPIEmoji(ctx, emoji)
|
adminEmoji, err := p.converter.EmojiToAdminAPIEmoji(ctx, emoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err := fmt.Errorf("EmojisGet: error converting emoji to admin model emoji: %s", err)
|
err := fmt.Errorf("EmojisGet: error converting emoji to admin model emoji: %s", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
@ -185,7 +185,7 @@ func (p *Processor) EmojiGet(ctx context.Context, account *gtsmodel.Account, use
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
adminEmoji, err := p.tc.EmojiToAdminAPIEmoji(ctx, emoji)
|
adminEmoji, err := p.converter.EmojiToAdminAPIEmoji(ctx, emoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("EmojiGet: error converting emoji to admin api emoji: %s", err)
|
err = fmt.Errorf("EmojiGet: error converting emoji to admin api emoji: %s", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
@ -211,7 +211,7 @@ func (p *Processor) EmojiDelete(ctx context.Context, id string) (*apimodel.Admin
|
||||||
return nil, gtserror.NewErrorBadRequest(err, err.Error())
|
return nil, gtserror.NewErrorBadRequest(err, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
adminEmoji, err := p.tc.EmojiToAdminAPIEmoji(ctx, emoji)
|
adminEmoji, err := p.converter.EmojiToAdminAPIEmoji(ctx, emoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("EmojiDelete: error converting emoji to admin api emoji: %s", err)
|
err = fmt.Errorf("EmojiDelete: error converting emoji to admin api emoji: %s", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
@ -260,7 +260,7 @@ func (p *Processor) EmojiCategoriesGet(ctx context.Context) ([]*apimodel.EmojiCa
|
||||||
|
|
||||||
apiCategories := make([]*apimodel.EmojiCategory, 0, len(categories))
|
apiCategories := make([]*apimodel.EmojiCategory, 0, len(categories))
|
||||||
for _, category := range categories {
|
for _, category := range categories {
|
||||||
apiCategory, err := p.tc.EmojiCategoryToAPIEmojiCategory(ctx, category)
|
apiCategory, err := p.converter.EmojiCategoryToAPIEmojiCategory(ctx, category)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err := fmt.Errorf("EmojiCategoriesGet: error converting emoji category to api emoji category: %s", err)
|
err := fmt.Errorf("EmojiCategoriesGet: error converting emoji category to api emoji category: %s", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
@ -367,7 +367,7 @@ func (p *Processor) emojiUpdateCopy(ctx context.Context, emoji *gtsmodel.Emoji,
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
adminEmoji, err := p.tc.EmojiToAdminAPIEmoji(ctx, newEmoji)
|
adminEmoji, err := p.converter.EmojiToAdminAPIEmoji(ctx, newEmoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("emojiUpdateCopy: error converting updated emoji %s to admin emoji: %s", emoji.ID, err)
|
err = fmt.Errorf("emojiUpdateCopy: error converting updated emoji %s to admin emoji: %s", emoji.ID, err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
@ -391,7 +391,7 @@ func (p *Processor) emojiUpdateDisable(ctx context.Context, emoji *gtsmodel.Emoj
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
adminEmoji, err := p.tc.EmojiToAdminAPIEmoji(ctx, emoji)
|
adminEmoji, err := p.converter.EmojiToAdminAPIEmoji(ctx, emoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("emojiUpdateDisable: error converting updated emoji %s to admin emoji: %s", emoji.ID, err)
|
err = fmt.Errorf("emojiUpdateDisable: error converting updated emoji %s to admin emoji: %s", emoji.ID, err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
@ -472,7 +472,7 @@ func (p *Processor) emojiUpdateModify(ctx context.Context, emoji *gtsmodel.Emoji
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
adminEmoji, err := p.tc.EmojiToAdminAPIEmoji(ctx, emoji)
|
adminEmoji, err := p.converter.EmojiToAdminAPIEmoji(ctx, emoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("emojiUpdateModify: error converting updated emoji %s to admin emoji: %s", emoji.ID, err)
|
err = fmt.Errorf("emojiUpdateModify: error converting updated emoji %s to admin emoji: %s", emoji.ID, err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -58,7 +58,7 @@ func (p *Processor) ReportsGet(
|
||||||
prevMinIDValue := reports[0].ID
|
prevMinIDValue := reports[0].ID
|
||||||
|
|
||||||
for _, r := range reports {
|
for _, r := range reports {
|
||||||
item, err := p.tc.ReportToAdminAPIReport(ctx, r, account)
|
item, err := p.converter.ReportToAdminAPIReport(ctx, r, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting report to api: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting report to api: %s", err))
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ func (p *Processor) ReportGet(ctx context.Context, account *gtsmodel.Account, id
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
apimodelReport, err := p.tc.ReportToAdminAPIReport(ctx, report, account)
|
apimodelReport, err := p.converter.ReportToAdminAPIReport(ctx, report, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -144,7 +144,7 @@ func (p *Processor) ReportResolve(ctx context.Context, account *gtsmodel.Account
|
||||||
TargetAccount: report.Account,
|
TargetAccount: report.Account,
|
||||||
})
|
})
|
||||||
|
|
||||||
apimodelReport, err := p.tc.ReportToAdminAPIReport(ctx, updatedReport, account)
|
apimodelReport, err := p.converter.ReportToAdminAPIReport(ctx, updatedReport, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,6 @@ func (p *Processor) RulesGet(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
) ([]*apimodel.AdminInstanceRule, gtserror.WithCode) {
|
) ([]*apimodel.AdminInstanceRule, gtserror.WithCode) {
|
||||||
rules, err := p.state.DB.GetActiveRules(ctx)
|
rules, err := p.state.DB.GetActiveRules(ctx)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -43,7 +42,7 @@ func (p *Processor) RulesGet(
|
||||||
apiRules := make([]*apimodel.AdminInstanceRule, len(rules))
|
apiRules := make([]*apimodel.AdminInstanceRule, len(rules))
|
||||||
|
|
||||||
for i := range rules {
|
for i := range rules {
|
||||||
apiRules[i] = p.tc.InstanceRuleToAdminAPIRule(&rules[i])
|
apiRules[i] = p.converter.InstanceRuleToAdminAPIRule(&rules[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
return apiRules, nil
|
return apiRules, nil
|
||||||
|
@ -59,7 +58,7 @@ func (p *Processor) RuleGet(ctx context.Context, id string) (*apimodel.AdminInst
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return p.tc.InstanceRuleToAdminAPIRule(rule), nil
|
return p.converter.InstanceRuleToAdminAPIRule(rule), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// RuleCreate adds a new rule to the instance.
|
// RuleCreate adds a new rule to the instance.
|
||||||
|
@ -78,7 +77,7 @@ func (p *Processor) RuleCreate(ctx context.Context, form *apimodel.InstanceRuleC
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return p.tc.InstanceRuleToAdminAPIRule(rule), nil
|
return p.converter.InstanceRuleToAdminAPIRule(rule), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// RuleUpdate updates text for an existing rule.
|
// RuleUpdate updates text for an existing rule.
|
||||||
|
@ -96,12 +95,11 @@ func (p *Processor) RuleUpdate(ctx context.Context, id string, form *apimodel.In
|
||||||
rule.Text = form.Text
|
rule.Text = form.Text
|
||||||
|
|
||||||
updatedRule, err := p.state.DB.UpdateRule(ctx, rule)
|
updatedRule, err := p.state.DB.UpdateRule(ctx, rule)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return p.tc.InstanceRuleToAdminAPIRule(updatedRule), nil
|
return p.converter.InstanceRuleToAdminAPIRule(updatedRule), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// RuleDelete deletes an existing rule.
|
// RuleDelete deletes an existing rule.
|
||||||
|
@ -118,10 +116,9 @@ func (p *Processor) RuleDelete(ctx context.Context, id string) (*apimodel.AdminI
|
||||||
|
|
||||||
rule.Deleted = util.Ptr(true)
|
rule.Deleted = util.Ptr(true)
|
||||||
deletedRule, err := p.state.DB.UpdateRule(ctx, rule)
|
deletedRule, err := p.state.DB.UpdateRule(ctx, rule)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return p.tc.InstanceRuleToAdminAPIRule(deletedRule), nil
|
return p.converter.InstanceRuleToAdminAPIRule(deletedRule), nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ func (p *Processor) AppCreate(ctx context.Context, authed *oauth.Auth, form *api
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
apiApp, err := p.tc.AppToAPIAppSensitive(ctx, app)
|
apiApp, err := p.converter.AppToAPIAppSensitive(ctx, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ import (
|
||||||
// processing subsection of the codebase.
|
// processing subsection of the codebase.
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
converter typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
filter *visibility.Filter
|
filter *visibility.Filter
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ type Processor struct {
|
||||||
// New returns a new Processor instance.
|
// New returns a new Processor instance.
|
||||||
func New(
|
func New(
|
||||||
state *state.State,
|
state *state.State,
|
||||||
converter typeutils.TypeConverter,
|
converter *typeutils.Converter,
|
||||||
federator federation.Federator,
|
federator federation.Federator,
|
||||||
filter *visibility.Filter,
|
filter *visibility.Filter,
|
||||||
) Processor {
|
) Processor {
|
||||||
|
|
|
@ -70,7 +70,7 @@ func (p *Processor) OutboxGet(ctx context.Context, requestedUsername string, pag
|
||||||
"last": "https://example.org/users/whatever/outbox?min_id=0&page=true"
|
"last": "https://example.org/users/whatever/outbox?min_id=0&page=true"
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
collection, err := p.tc.OutboxToASCollection(ctx, requestedAccount.OutboxURI)
|
collection, err := p.converter.OutboxToASCollection(ctx, requestedAccount.OutboxURI)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ func (p *Processor) OutboxGet(ctx context.Context, requestedUsername string, pag
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
outboxPage, err := p.tc.StatusesToASOutboxPage(ctx, requestedAccount.OutboxURI, maxID, minID, publicStatuses)
|
outboxPage, err := p.converter.StatusesToASOutboxPage(ctx, requestedAccount.OutboxURI, maxID, minID, publicStatuses)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -301,7 +301,7 @@ func (p *Processor) FeaturedCollectionGet(ctx context.Context, requestedUsername
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
collection, err := p.tc.StatusesToASFeaturedCollection(ctx, requestedAccount.FeaturedCollectionURI, statuses)
|
collection, err := p.converter.StatusesToASFeaturedCollection(ctx, requestedAccount.FeaturedCollectionURI, statuses)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ func (p *Processor) EmojiGet(ctx context.Context, requestedEmojiID string) (inte
|
||||||
return nil, gtserror.NewErrorNotFound(fmt.Errorf("emoji with id %s has been disabled", requestedEmojiID))
|
return nil, gtserror.NewErrorNotFound(fmt.Errorf("emoji with id %s has been disabled", requestedEmojiID))
|
||||||
}
|
}
|
||||||
|
|
||||||
apEmoji, err := p.tc.EmojiToAS(ctx, requestedEmoji)
|
apEmoji, err := p.converter.EmojiToAS(ctx, requestedEmoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting gtsmodel emoji with id %s to ap emoji: %s", requestedEmojiID, err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting gtsmodel emoji with id %s to ap emoji: %s", requestedEmojiID, err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,16 +27,16 @@ import (
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
filter *visibility.Filter
|
filter *visibility.Filter
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a new fedi processor.
|
// New returns a new fedi processor.
|
||||||
func New(state *state.State, tc typeutils.TypeConverter, federator federation.Federator, filter *visibility.Filter) Processor {
|
func New(state *state.State, converter *typeutils.Converter, federator federation.Federator, filter *visibility.Filter) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
federator: federator,
|
federator: federator,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
filter: filter,
|
filter: filter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ func (p *Processor) StatusGet(ctx context.Context, requestedUsername string, req
|
||||||
return nil, gtserror.NewErrorNotFound(err)
|
return nil, gtserror.NewErrorNotFound(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
asStatus, err := p.tc.StatusToAS(ctx, status)
|
asStatus, err := p.converter.StatusToAS(ctx, status)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ func (p *Processor) StatusRepliesGet(ctx context.Context, requestedUsername stri
|
||||||
case !page:
|
case !page:
|
||||||
// scenario 1
|
// scenario 1
|
||||||
// get the collection
|
// get the collection
|
||||||
collection, err := p.tc.StatusToASRepliesCollection(ctx, status, onlyOtherAccounts)
|
collection, err := p.converter.StatusToASRepliesCollection(ctx, status, onlyOtherAccounts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -116,7 +116,7 @@ func (p *Processor) StatusRepliesGet(ctx context.Context, requestedUsername stri
|
||||||
case page && !onlyOtherAccountsSet:
|
case page && !onlyOtherAccountsSet:
|
||||||
// scenario 2
|
// scenario 2
|
||||||
// get the collection
|
// get the collection
|
||||||
collection, err := p.tc.StatusToASRepliesCollection(ctx, status, onlyOtherAccounts)
|
collection, err := p.converter.StatusToASRepliesCollection(ctx, status, onlyOtherAccounts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -166,7 +166,7 @@ func (p *Processor) StatusRepliesGet(ctx context.Context, requestedUsername stri
|
||||||
replyURIs[r.ID] = rURI
|
replyURIs[r.ID] = rURI
|
||||||
}
|
}
|
||||||
|
|
||||||
repliesPage, err := p.tc.StatusURIsToASRepliesPage(ctx, status, onlyOtherAccounts, minID, replyURIs)
|
repliesPage, err := p.converter.StatusURIsToASRepliesPage(ctx, status, onlyOtherAccounts, minID, replyURIs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ func (p *Processor) UserGet(ctx context.Context, requestedUsername string, reque
|
||||||
// the bare minimum user profile needed for the pubkey.
|
// the bare minimum user profile needed for the pubkey.
|
||||||
//
|
//
|
||||||
// TODO: https://github.com/superseriousbusiness/gotosocial/issues/1186
|
// TODO: https://github.com/superseriousbusiness/gotosocial/issues/1186
|
||||||
minimalPerson, err := p.tc.AccountToASMinimal(ctx, requestedAccount)
|
minimalPerson, err := p.converter.AccountToASMinimal(ctx, requestedAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ func (p *Processor) UserGet(ctx context.Context, requestedUsername string, reque
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auth passed, generate the proper AP representation.
|
// Auth passed, generate the proper AP representation.
|
||||||
person, err := p.tc.AccountToAS(ctx, requestedAccount)
|
person, err := p.converter.AccountToAS(ctx, requestedAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ func (p *Processor) InstanceGetV1(ctx context.Context) (*apimodel.InstanceV1, gt
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("db error fetching instance: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("db error fetching instance: %s", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
ai, err := p.tc.InstanceToAPIV1Instance(ctx, i)
|
ai, err := p.converter.InstanceToAPIV1Instance(ctx, i)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting instance to api representation: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting instance to api representation: %s", err))
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ func (p *Processor) InstanceGetV2(ctx context.Context) (*apimodel.InstanceV2, gt
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("db error fetching instance: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("db error fetching instance: %s", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
ai, err := p.tc.InstanceToAPIV2Instance(ctx, i)
|
ai, err := p.converter.InstanceToAPIV2Instance(ctx, i)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting instance to api representation: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting instance to api representation: %s", err))
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ func (p *Processor) InstanceGetRules(ctx context.Context) ([]apimodel.InstanceRu
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("db error fetching instance: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("db error fetching instance: %s", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
return p.tc.InstanceRulesToAPIRules(i.Rules), nil
|
return p.converter.InstanceRulesToAPIRules(i.Rules), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Processor) InstancePatch(ctx context.Context, form *apimodel.InstanceSettingsUpdateRequest) (*apimodel.InstanceV1, gtserror.WithCode) {
|
func (p *Processor) InstancePatch(ctx context.Context, form *apimodel.InstanceSettingsUpdateRequest) (*apimodel.InstanceV1, gtserror.WithCode) {
|
||||||
|
@ -289,7 +289,7 @@ func (p *Processor) InstancePatch(ctx context.Context, form *apimodel.InstanceSe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ai, err := p.tc.InstanceToAPIV1Instance(ctx, instance)
|
ai, err := p.converter.InstanceToAPIV1Instance(ctx, instance)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting instance to api representation: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting instance to api representation: %s", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -197,7 +197,7 @@ func (p *Processor) accountsFromListEntries(
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiAccount, err := p.tc.AccountToAPIAccountPublic(ctx, listEntry.Follow.TargetAccount)
|
apiAccount, err := p.converter.AccountToAPIAccountPublic(ctx, listEntry.Follow.TargetAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error converting to public api account: %v", err)
|
log.Errorf(ctx, "error converting to public api account: %v", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -24,12 +24,12 @@ import (
|
||||||
|
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(state *state.State, tc typeutils.TypeConverter) Processor {
|
func New(state *state.State, converter *typeutils.Converter) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ func (p *Processor) getList(ctx context.Context, accountID string, listID string
|
||||||
// apiList is a shortcut to return the API version of the given
|
// apiList is a shortcut to return the API version of the given
|
||||||
// list, or return an appropriate error if conversion fails.
|
// list, or return an appropriate error if conversion fails.
|
||||||
func (p *Processor) apiList(ctx context.Context, list *gtsmodel.List) (*apimodel.List, gtserror.WithCode) {
|
func (p *Processor) apiList(ctx context.Context, list *gtsmodel.List) (*apimodel.List, gtserror.WithCode) {
|
||||||
apiList, err := p.tc.ListToAPIList(ctx, list)
|
apiList, err := p.converter.ListToAPIList(ctx, list)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting list to api: %w", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting list to api: %w", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ func (p *Processor) Get(ctx context.Context, account *gtsmodel.Account, names []
|
||||||
markers = append(markers, marker)
|
markers = append(markers, marker)
|
||||||
}
|
}
|
||||||
|
|
||||||
apiMarker, err := p.tc.MarkersToAPIMarker(ctx, markers)
|
apiMarker, err := p.converter.MarkersToAPIMarker(ctx, markers)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting marker to api: %w", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting marker to api: %w", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,12 +24,12 @@ import (
|
||||||
|
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(state *state.State, tc typeutils.TypeConverter) Processor {
|
func New(state *state.State, converter *typeutils.Converter) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ func (p *Processor) Update(ctx context.Context, markers []*gtsmodel.Marker) (*ap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apiMarker, err := p.tc.MarkersToAPIMarker(ctx, markers)
|
apiMarker, err := p.converter.MarkersToAPIMarker(ctx, markers)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting marker to api: %w", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting marker to api: %w", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ func (p *Processor) Create(ctx context.Context, account *gtsmodel.Account, form
|
||||||
return nil, gtserror.NewErrorUnprocessableEntity(err)
|
return nil, gtserror.NewErrorUnprocessableEntity(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
apiAttachment, err := p.tc.AttachmentToAPIAttachment(ctx, attachment)
|
apiAttachment, err := p.converter.AttachmentToAPIAttachment(ctx, attachment)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err := fmt.Errorf("error parsing media attachment to frontend type: %s", err)
|
err := fmt.Errorf("error parsing media attachment to frontend type: %s", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -39,7 +39,7 @@ func (p *Processor) GetCustomEmojis(ctx context.Context) ([]*apimodel.Emoji, gts
|
||||||
|
|
||||||
apiEmojis := make([]*apimodel.Emoji, 0, len(emojis))
|
apiEmojis := make([]*apimodel.Emoji, 0, len(emojis))
|
||||||
for _, gtsEmoji := range emojis {
|
for _, gtsEmoji := range emojis {
|
||||||
apiEmoji, err := p.tc.EmojiToAPIEmoji(ctx, gtsEmoji)
|
apiEmoji, err := p.converter.EmojiToAPIEmoji(ctx, gtsEmoji)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error converting emoji with id %s: %s", gtsEmoji.ID, err)
|
log.Errorf(ctx, "error converting emoji with id %s: %s", gtsEmoji.ID, err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -42,7 +42,7 @@ func (p *Processor) Get(ctx context.Context, account *gtsmodel.Account, mediaAtt
|
||||||
return nil, gtserror.NewErrorNotFound(errors.New("attachment not owned by requesting account"))
|
return nil, gtserror.NewErrorNotFound(errors.New("attachment not owned by requesting account"))
|
||||||
}
|
}
|
||||||
|
|
||||||
a, err := p.tc.AttachmentToAPIAttachment(ctx, attachment)
|
a, err := p.converter.AttachmentToAPIAttachment(ctx, attachment)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorNotFound(fmt.Errorf("error converting attachment: %s", err))
|
return nil, gtserror.NewErrorNotFound(fmt.Errorf("error converting attachment: %s", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,16 +26,16 @@ import (
|
||||||
|
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
transportController transport.Controller
|
transportController transport.Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a new media processor.
|
// New returns a new media processor.
|
||||||
func New(state *state.State, tc typeutils.TypeConverter, mediaManager *media.Manager, transportController transport.Controller) Processor {
|
func New(state *state.State, converter *typeutils.Converter, mediaManager *media.Manager, transportController transport.Controller) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
mediaManager: mediaManager,
|
mediaManager: mediaManager,
|
||||||
transportController: transportController,
|
transportController: transportController,
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ type MediaStandardTestSuite struct {
|
||||||
// standard suite interfaces
|
// standard suite interfaces
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
tc typeutils.TypeConverter
|
tc *typeutils.Converter
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
state state.State
|
state state.State
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
|
@ -73,7 +73,7 @@ func (suite *MediaStandardTestSuite) SetupTest() {
|
||||||
|
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
suite.tc = testrig.NewTestTypeConverter(suite.db)
|
suite.tc = typeutils.NewConverter(&suite.state)
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
suite.mediaManager = testrig.NewTestMediaManager(&suite.state)
|
||||||
|
|
|
@ -49,7 +49,7 @@ func (p *Processor) Unattach(ctx context.Context, account *gtsmodel.Account, med
|
||||||
return nil, gtserror.NewErrorNotFound(fmt.Errorf("db error updating attachment: %s", err))
|
return nil, gtserror.NewErrorNotFound(fmt.Errorf("db error updating attachment: %s", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
a, err := p.tc.AttachmentToAPIAttachment(ctx, attachment)
|
a, err := p.converter.AttachmentToAPIAttachment(ctx, attachment)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorNotFound(fmt.Errorf("error converting attachment: %s", err))
|
return nil, gtserror.NewErrorNotFound(fmt.Errorf("error converting attachment: %s", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ func (p *Processor) Update(ctx context.Context, account *gtsmodel.Account, media
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("database error updating media: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("database error updating media: %s", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
a, err := p.tc.AttachmentToAPIAttachment(ctx, attachment)
|
a, err := p.converter.AttachmentToAPIAttachment(ctx, attachment)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorNotFound(fmt.Errorf("error converting attachment: %s", err))
|
return nil, gtserror.NewErrorNotFound(fmt.Errorf("error converting attachment: %s", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ import (
|
||||||
// or sub processors will trigger asynchronous processing
|
// or sub processors will trigger asynchronous processing
|
||||||
// via the workers contained in state.
|
// via the workers contained in state.
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
oauthServer oauth.Server
|
oauthServer oauth.Server
|
||||||
state *state.State
|
state *state.State
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ func (p *Processor) Workers() *workers.Processor {
|
||||||
|
|
||||||
// NewProcessor returns a new Processor.
|
// NewProcessor returns a new Processor.
|
||||||
func NewProcessor(
|
func NewProcessor(
|
||||||
tc typeutils.TypeConverter,
|
converter *typeutils.Converter,
|
||||||
federator federation.Federator,
|
federator federation.Federator,
|
||||||
oauthServer oauth.Server,
|
oauthServer oauth.Server,
|
||||||
mediaManager *mm.Manager,
|
mediaManager *mm.Manager,
|
||||||
|
@ -139,7 +139,7 @@ func NewProcessor(
|
||||||
)
|
)
|
||||||
|
|
||||||
processor := &Processor{
|
processor := &Processor{
|
||||||
tc: tc,
|
converter: converter,
|
||||||
oauthServer: oauthServer,
|
oauthServer: oauthServer,
|
||||||
state: state,
|
state: state,
|
||||||
}
|
}
|
||||||
|
@ -148,23 +148,23 @@ func NewProcessor(
|
||||||
//
|
//
|
||||||
// Start with sub processors that will
|
// Start with sub processors that will
|
||||||
// be required by the workers processor.
|
// be required by the workers processor.
|
||||||
commonProcessor := common.New(state, tc, federator, filter)
|
commonProcessor := common.New(state, converter, federator, filter)
|
||||||
accountProcessor := account.New(&commonProcessor, state, tc, mediaManager, oauthServer, federator, filter, parseMentionFunc)
|
accountProcessor := account.New(&commonProcessor, state, converter, mediaManager, oauthServer, federator, filter, parseMentionFunc)
|
||||||
mediaProcessor := media.New(state, tc, mediaManager, federator.TransportController())
|
mediaProcessor := media.New(state, converter, mediaManager, federator.TransportController())
|
||||||
streamProcessor := stream.New(state, oauthServer)
|
streamProcessor := stream.New(state, oauthServer)
|
||||||
|
|
||||||
// Instantiate the rest of the sub
|
// Instantiate the rest of the sub
|
||||||
// processors + pin them to this struct.
|
// processors + pin them to this struct.
|
||||||
processor.account = accountProcessor
|
processor.account = accountProcessor
|
||||||
processor.admin = admin.New(state, tc, mediaManager, federator.TransportController(), emailSender)
|
processor.admin = admin.New(state, converter, mediaManager, federator.TransportController(), emailSender)
|
||||||
processor.fedi = fedi.New(state, tc, federator, filter)
|
processor.fedi = fedi.New(state, converter, federator, filter)
|
||||||
processor.list = list.New(state, tc)
|
processor.list = list.New(state, converter)
|
||||||
processor.markers = markers.New(state, tc)
|
processor.markers = markers.New(state, converter)
|
||||||
processor.media = mediaProcessor
|
processor.media = mediaProcessor
|
||||||
processor.report = report.New(state, tc)
|
processor.report = report.New(state, converter)
|
||||||
processor.timeline = timeline.New(state, tc, filter)
|
processor.timeline = timeline.New(state, converter, filter)
|
||||||
processor.search = search.New(state, federator, tc, filter)
|
processor.search = search.New(state, federator, converter, filter)
|
||||||
processor.status = status.New(state, federator, tc, filter, parseMentionFunc)
|
processor.status = status.New(state, federator, converter, filter, parseMentionFunc)
|
||||||
processor.stream = streamProcessor
|
processor.stream = streamProcessor
|
||||||
processor.user = user.New(state, emailSender)
|
processor.user = user.New(state, emailSender)
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ func NewProcessor(
|
||||||
processor.workers = workers.New(
|
processor.workers = workers.New(
|
||||||
state,
|
state,
|
||||||
federator,
|
federator,
|
||||||
tc,
|
converter,
|
||||||
filter,
|
filter,
|
||||||
emailSender,
|
emailSender,
|
||||||
&accountProcessor,
|
&accountProcessor,
|
||||||
|
|
|
@ -44,7 +44,7 @@ type ProcessingStandardTestSuite struct {
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
state state.State
|
state state.State
|
||||||
mediaManager *media.Manager
|
mediaManager *media.Manager
|
||||||
typeconverter typeutils.TypeConverter
|
typeconverter *typeutils.Converter
|
||||||
httpClient *testrig.MockHTTPClient
|
httpClient *testrig.MockHTTPClient
|
||||||
transportController transport.Controller
|
transportController transport.Controller
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
|
@ -104,7 +104,7 @@ func (suite *ProcessingStandardTestSuite) SetupTest() {
|
||||||
suite.testActivities = testrig.NewTestActivities(suite.testAccounts)
|
suite.testActivities = testrig.NewTestActivities(suite.testAccounts)
|
||||||
suite.storage = testrig.NewInMemoryStorage()
|
suite.storage = testrig.NewInMemoryStorage()
|
||||||
suite.state.Storage = suite.storage
|
suite.state.Storage = suite.storage
|
||||||
suite.typeconverter = testrig.NewTestTypeConverter(suite.db)
|
suite.typeconverter = typeutils.NewConverter(&suite.state)
|
||||||
|
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
|
|
|
@ -99,7 +99,7 @@ func (p *Processor) Create(ctx context.Context, account *gtsmodel.Account, form
|
||||||
TargetAccount: targetAccount,
|
TargetAccount: targetAccount,
|
||||||
})
|
})
|
||||||
|
|
||||||
apiReport, err := p.tc.ReportToAPIReport(ctx, report)
|
apiReport, err := p.converter.ReportToAPIReport(ctx, report)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("error converting report to frontend representation: %w", err)
|
err = fmt.Errorf("error converting report to frontend representation: %w", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -45,7 +45,7 @@ func (p *Processor) Get(ctx context.Context, account *gtsmodel.Account, id strin
|
||||||
return nil, gtserror.NewErrorNotFound(err)
|
return nil, gtserror.NewErrorNotFound(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
apiReport, err := p.tc.ReportToAPIReport(ctx, report)
|
apiReport, err := p.converter.ReportToAPIReport(ctx, report)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting report to api: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting report to api: %s", err))
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ func (p *Processor) GetMultiple(
|
||||||
prevMinIDValue := reports[0].ID
|
prevMinIDValue := reports[0].ID
|
||||||
|
|
||||||
for _, r := range reports {
|
for _, r := range reports {
|
||||||
item, err := p.tc.ReportToAPIReport(ctx, r)
|
item, err := p.converter.ReportToAPIReport(ctx, r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting report to api: %s", err))
|
return nil, gtserror.NewErrorInternalError(fmt.Errorf("error converting report to api: %s", err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,12 +24,12 @@ import (
|
||||||
|
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(state *state.State, tc typeutils.TypeConverter) Processor {
|
func New(state *state.State, converter *typeutils.Converter) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,16 +27,16 @@ import (
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
filter *visibility.Filter
|
filter *visibility.Filter
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a new status processor.
|
// New returns a new status processor.
|
||||||
func New(state *state.State, federator federation.Federator, tc typeutils.TypeConverter, filter *visibility.Filter) Processor {
|
func New(state *state.State, federator federation.Federator, converter *typeutils.Converter, filter *visibility.Filter) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
federator: federator,
|
federator: federator,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
filter: filter,
|
filter: filter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,7 @@ func (p *Processor) packageAccounts(
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiAccount, err := p.tc.AccountToAPIAccountPublic(ctx, account)
|
apiAccount, err := p.converter.AccountToAPIAccountPublic(ctx, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debugf(ctx, "skipping account %s because it couldn't be converted to its api representation: %s", account.ID, err)
|
log.Debugf(ctx, "skipping account %s because it couldn't be converted to its api representation: %s", account.ID, err)
|
||||||
continue
|
continue
|
||||||
|
@ -105,7 +105,7 @@ func (p *Processor) packageStatuses(
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiStatus, err := p.tc.StatusToAPIStatus(ctx, status, requestingAccount)
|
apiStatus, err := p.converter.StatusToAPIStatus(ctx, status, requestingAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debugf(ctx, "skipping status %s because it couldn't be converted to its api representation: %s", status.ID, err)
|
log.Debugf(ctx, "skipping status %s because it couldn't be converted to its api representation: %s", status.ID, err)
|
||||||
continue
|
continue
|
||||||
|
@ -137,7 +137,7 @@ func (p *Processor) packageHashtags(
|
||||||
} else {
|
} else {
|
||||||
// If API not version 1, provide slice of full tags.
|
// If API not version 1, provide slice of full tags.
|
||||||
rangeF = func(tag *gtsmodel.Tag) {
|
rangeF = func(tag *gtsmodel.Tag) {
|
||||||
apiTag, err := p.tc.TagToAPITag(ctx, tag, true)
|
apiTag, err := p.converter.TagToAPITag(ctx, tag, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debugf(
|
log.Debugf(
|
||||||
ctx,
|
ctx,
|
||||||
|
|
|
@ -63,7 +63,7 @@ func (p *Processor) BoostCreate(ctx context.Context, requestingAccount *gtsmodel
|
||||||
}
|
}
|
||||||
|
|
||||||
// it's visible! it's boostable! so let's boost the FUCK out of it
|
// it's visible! it's boostable! so let's boost the FUCK out of it
|
||||||
boostWrapperStatus, err := p.tc.StatusToBoost(ctx, targetStatus, requestingAccount)
|
boostWrapperStatus, err := p.converter.StatusToBoost(ctx, targetStatus, requestingAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
}
|
}
|
||||||
|
@ -199,7 +199,7 @@ func (p *Processor) StatusBoostedBy(ctx context.Context, requestingAccount *gtsm
|
||||||
return nil, gtserror.NewErrorNotFound(wrapped)
|
return nil, gtserror.NewErrorNotFound(wrapped)
|
||||||
}
|
}
|
||||||
|
|
||||||
apiAccount, err := p.tc.AccountToAPIAccountPublic(ctx, account)
|
apiAccount, err := p.converter.AccountToAPIAccountPublic(ctx, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("BoostedBy: error converting account to api model: %s", err)
|
err = fmt.Errorf("BoostedBy: error converting account to api model: %s", err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -29,7 +29,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func (p *Processor) apiStatus(ctx context.Context, targetStatus *gtsmodel.Status, requestingAccount *gtsmodel.Account) (*apimodel.Status, gtserror.WithCode) {
|
func (p *Processor) apiStatus(ctx context.Context, targetStatus *gtsmodel.Status, requestingAccount *gtsmodel.Account) (*apimodel.Status, gtserror.WithCode) {
|
||||||
apiStatus, err := p.tc.StatusToAPIStatus(ctx, targetStatus, requestingAccount)
|
apiStatus, err := p.converter.StatusToAPIStatus(ctx, targetStatus, requestingAccount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = gtserror.Newf("error converting status %s to frontend representation: %w", targetStatus.ID, err)
|
err = gtserror.Newf("error converting status %s to frontend representation: %w", targetStatus.ID, err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -135,7 +135,7 @@ func (p *Processor) FavedBy(ctx context.Context, requestingAccount *gtsmodel.Acc
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiAccount, err := p.tc.AccountToAPIAccountPublic(ctx, fave.Account)
|
apiAccount, err := p.converter.AccountToAPIAccountPublic(ctx, fave.Account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("FavedBy: error converting account %s to frontend representation: %w", fave.AccountID, err)
|
err = fmt.Errorf("FavedBy: error converting account %s to frontend representation: %w", fave.AccountID, err)
|
||||||
return nil, gtserror.NewErrorInternalError(err)
|
return nil, gtserror.NewErrorInternalError(err)
|
||||||
|
|
|
@ -55,7 +55,7 @@ func (p *Processor) ContextGet(ctx context.Context, requestingAccount *gtsmodel.
|
||||||
|
|
||||||
for _, status := range parents {
|
for _, status := range parents {
|
||||||
if v, err := p.filter.StatusVisible(ctx, requestingAccount, status); err == nil && v {
|
if v, err := p.filter.StatusVisible(ctx, requestingAccount, status); err == nil && v {
|
||||||
apiStatus, err := p.tc.StatusToAPIStatus(ctx, status, requestingAccount)
|
apiStatus, err := p.converter.StatusToAPIStatus(ctx, status, requestingAccount)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
context.Ancestors = append(context.Ancestors, *apiStatus)
|
context.Ancestors = append(context.Ancestors, *apiStatus)
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ func (p *Processor) ContextGet(ctx context.Context, requestingAccount *gtsmodel.
|
||||||
|
|
||||||
for _, status := range children {
|
for _, status := range children {
|
||||||
if v, err := p.filter.StatusVisible(ctx, requestingAccount, status); err == nil && v {
|
if v, err := p.filter.StatusVisible(ctx, requestingAccount, status); err == nil && v {
|
||||||
apiStatus, err := p.tc.StatusToAPIStatus(ctx, status, requestingAccount)
|
apiStatus, err := p.converter.StatusToAPIStatus(ctx, status, requestingAccount)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
context.Descendants = append(context.Descendants, *apiStatus)
|
context.Descendants = append(context.Descendants, *apiStatus)
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,18 +29,18 @@ import (
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
federator federation.Federator
|
federator federation.Federator
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
filter *visibility.Filter
|
filter *visibility.Filter
|
||||||
formatter text.Formatter
|
formatter text.Formatter
|
||||||
parseMention gtsmodel.ParseMentionFunc
|
parseMention gtsmodel.ParseMentionFunc
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a new status processor.
|
// New returns a new status processor.
|
||||||
func New(state *state.State, federator federation.Federator, tc typeutils.TypeConverter, filter *visibility.Filter, parseMention gtsmodel.ParseMentionFunc) Processor {
|
func New(state *state.State, federator federation.Federator, converter *typeutils.Converter, filter *visibility.Filter, parseMention gtsmodel.ParseMentionFunc) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
federator: federator,
|
federator: federator,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
filter: filter,
|
filter: filter,
|
||||||
formatter: text.NewFormatter(state.DB),
|
formatter: text.NewFormatter(state.DB),
|
||||||
parseMention: parseMention,
|
parseMention: parseMention,
|
||||||
|
|
|
@ -36,7 +36,7 @@ import (
|
||||||
type StatusStandardTestSuite struct {
|
type StatusStandardTestSuite struct {
|
||||||
suite.Suite
|
suite.Suite
|
||||||
db db.DB
|
db db.DB
|
||||||
typeConverter typeutils.TypeConverter
|
typeConverter *typeutils.Converter
|
||||||
tc transport.Controller
|
tc transport.Controller
|
||||||
storage *storage.Driver
|
storage *storage.Driver
|
||||||
state state.State
|
state state.State
|
||||||
|
@ -78,7 +78,7 @@ func (suite *StatusStandardTestSuite) SetupTest() {
|
||||||
testrig.InitTestLog()
|
testrig.InitTestLog()
|
||||||
|
|
||||||
suite.db = testrig.NewTestDB(&suite.state)
|
suite.db = testrig.NewTestDB(&suite.state)
|
||||||
suite.typeConverter = testrig.NewTestTypeConverter(suite.db)
|
suite.typeConverter = typeutils.NewConverter(&suite.state)
|
||||||
suite.state.DB = suite.db
|
suite.state.DB = suite.db
|
||||||
|
|
||||||
suite.tc = testrig.NewTestTransportController(&suite.state, testrig.NewMockHTTPClient(nil, "../../../testrig/media"))
|
suite.tc = testrig.NewTestTransportController(&suite.state, testrig.NewMockHTTPClient(nil, "../../../testrig/media"))
|
||||||
|
@ -91,7 +91,7 @@ func (suite *StatusStandardTestSuite) SetupTest() {
|
||||||
testrig.StartTimelines(
|
testrig.StartTimelines(
|
||||||
&suite.state,
|
&suite.state,
|
||||||
filter,
|
filter,
|
||||||
testrig.NewTestTypeConverter(suite.db),
|
suite.typeConverter,
|
||||||
)
|
)
|
||||||
|
|
||||||
suite.status = status.New(&suite.state, suite.federator, suite.typeConverter, filter, processing.GetParseMentionFunc(suite.db, suite.federator))
|
suite.status = status.New(&suite.state, suite.federator, suite.typeConverter, filter, processing.GetParseMentionFunc(suite.db, suite.federator))
|
||||||
|
|
|
@ -25,7 +25,7 @@ import (
|
||||||
|
|
||||||
"github.com/stretchr/testify/suite"
|
"github.com/stretchr/testify/suite"
|
||||||
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
|
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
|
||||||
"github.com/superseriousbusiness/gotosocial/testrig"
|
"github.com/superseriousbusiness/gotosocial/internal/typeutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
type NotificationTestSuite struct {
|
type NotificationTestSuite struct {
|
||||||
|
@ -39,7 +39,7 @@ func (suite *NotificationTestSuite) TestStreamNotification() {
|
||||||
suite.NoError(errWithCode)
|
suite.NoError(errWithCode)
|
||||||
|
|
||||||
followAccount := suite.testAccounts["remote_account_1"]
|
followAccount := suite.testAccounts["remote_account_1"]
|
||||||
followAccountAPIModel, err := testrig.NewTestTypeConverter(suite.db).AccountToAPIAccountPublic(context.Background(), followAccount)
|
followAccountAPIModel, err := typeutils.NewConverter(&suite.state).AccountToAPIAccountPublic(context.Background(), followAccount)
|
||||||
suite.NoError(err)
|
suite.NoError(err)
|
||||||
|
|
||||||
notification := &apimodel.Notification{
|
notification := &apimodel.Notification{
|
||||||
|
|
|
@ -54,7 +54,7 @@ func (p *Processor) FavedTimelineGet(ctx context.Context, authed *oauth.Auth, ma
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiStatus, err := p.tc.StatusToAPIStatus(ctx, s, authed.Account)
|
apiStatus, err := p.converter.StatusToAPIStatus(ctx, s, authed.Account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error convering to api status: %v", err)
|
log.Errorf(ctx, "error convering to api status: %v", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -84,7 +84,7 @@ func HomeTimelineFilter(state *state.State, filter *visibility.Filter) timeline.
|
||||||
}
|
}
|
||||||
|
|
||||||
// HomeTimelineStatusPrepare returns a function that satisfies PrepareFunction for home timelines.
|
// HomeTimelineStatusPrepare returns a function that satisfies PrepareFunction for home timelines.
|
||||||
func HomeTimelineStatusPrepare(state *state.State, tc typeutils.TypeConverter) timeline.PrepareFunction {
|
func HomeTimelineStatusPrepare(state *state.State, converter *typeutils.Converter) timeline.PrepareFunction {
|
||||||
return func(ctx context.Context, accountID string, itemID string) (timeline.Preparable, error) {
|
return func(ctx context.Context, accountID string, itemID string) (timeline.Preparable, error) {
|
||||||
status, err := state.DB.GetStatusByID(ctx, itemID)
|
status, err := state.DB.GetStatusByID(ctx, itemID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -98,7 +98,7 @@ func HomeTimelineStatusPrepare(state *state.State, tc typeutils.TypeConverter) t
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return tc.StatusToAPIStatus(ctx, status, requestingAccount)
|
return converter.StatusToAPIStatus(ctx, status, requestingAccount)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ func ListTimelineFilter(state *state.State, filter *visibility.Filter) timeline.
|
||||||
}
|
}
|
||||||
|
|
||||||
// ListTimelineStatusPrepare returns a function that satisfies PrepareFunction for list timelines.
|
// ListTimelineStatusPrepare returns a function that satisfies PrepareFunction for list timelines.
|
||||||
func ListTimelineStatusPrepare(state *state.State, tc typeutils.TypeConverter) timeline.PrepareFunction {
|
func ListTimelineStatusPrepare(state *state.State, converter *typeutils.Converter) timeline.PrepareFunction {
|
||||||
return func(ctx context.Context, listID string, itemID string) (timeline.Preparable, error) {
|
return func(ctx context.Context, listID string, itemID string) (timeline.Preparable, error) {
|
||||||
status, err := state.DB.GetStatusByID(ctx, itemID)
|
status, err := state.DB.GetStatusByID(ctx, itemID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -110,7 +110,7 @@ func ListTimelineStatusPrepare(state *state.State, tc typeutils.TypeConverter) t
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return tc.StatusToAPIStatus(ctx, status, requestingAccount)
|
return converter.StatusToAPIStatus(ctx, status, requestingAccount)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ func (p *Processor) NotificationsGet(ctx context.Context, authed *oauth.Auth, ma
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
item, err := p.tc.NotificationToAPINotification(ctx, n)
|
item, err := p.converter.NotificationToAPINotification(ctx, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debugf(ctx, "skipping notification %s because it couldn't be converted to its api representation: %s", n.ID, err)
|
log.Debugf(ctx, "skipping notification %s because it couldn't be converted to its api representation: %s", n.ID, err)
|
||||||
continue
|
continue
|
||||||
|
@ -121,7 +121,7 @@ func (p *Processor) NotificationGet(ctx context.Context, account *gtsmodel.Accou
|
||||||
return nil, gtserror.NewErrorNotFound(err)
|
return nil, gtserror.NewErrorNotFound(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
apiNotif, err := p.tc.NotificationToAPINotification(ctx, notif)
|
apiNotif, err := p.converter.NotificationToAPINotification(ctx, notif)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.Is(err, db.ErrNoEntries) {
|
if errors.Is(err, db.ErrNoEntries) {
|
||||||
return nil, gtserror.NewErrorNotFound(err)
|
return nil, gtserror.NewErrorNotFound(err)
|
||||||
|
|
|
@ -62,7 +62,7 @@ func (p *Processor) PublicTimelineGet(ctx context.Context, authed *oauth.Auth, m
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiStatus, err := p.tc.StatusToAPIStatus(ctx, s, authed.Account)
|
apiStatus, err := p.converter.StatusToAPIStatus(ctx, s, authed.Account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error convert to api status: %v", err)
|
log.Errorf(ctx, "error convert to api status: %v", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -122,7 +122,7 @@ func (p *Processor) packageTagResponse(
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
apiStatus, err := p.tc.StatusToAPIStatus(ctx, s, requestingAcct)
|
apiStatus, err := p.converter.StatusToAPIStatus(ctx, s, requestingAcct)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf(ctx, "error converting to api status: %v", err)
|
log.Errorf(ctx, "error converting to api status: %v", err)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -25,14 +25,14 @@ import (
|
||||||
|
|
||||||
type Processor struct {
|
type Processor struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
filter *visibility.Filter
|
filter *visibility.Filter
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(state *state.State, tc typeutils.TypeConverter, filter *visibility.Filter) Processor {
|
func New(state *state.State, converter *typeutils.Converter, filter *visibility.Filter) Processor {
|
||||||
return Processor{
|
return Processor{
|
||||||
state: state,
|
state: state,
|
||||||
tc: tc,
|
converter: converter,
|
||||||
filter: filter,
|
filter: filter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ type federate struct {
|
||||||
// to send and retrieve functions.
|
// to send and retrieve functions.
|
||||||
federation.Federator
|
federation.Federator
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
}
|
}
|
||||||
|
|
||||||
// parseURI is a cheeky little
|
// parseURI is a cheeky little
|
||||||
|
@ -160,12 +160,12 @@ func (f *federate) CreateStatus(ctx context.Context, status *gtsmodel.Status) er
|
||||||
|
|
||||||
// Convert status to an ActivityStreams
|
// Convert status to an ActivityStreams
|
||||||
// Note, wrapped in a Create activity.
|
// Note, wrapped in a Create activity.
|
||||||
asStatus, err := f.tc.StatusToAS(ctx, status)
|
asStatus, err := f.converter.StatusToAS(ctx, status)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting status to AS: %w", err)
|
return gtserror.Newf("error converting status to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
create, err := f.tc.WrapNoteInCreate(asStatus, false)
|
create, err := f.converter.WrapNoteInCreate(asStatus, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error wrapping status in create: %w", err)
|
return gtserror.Newf("error wrapping status in create: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -208,7 +208,7 @@ func (f *federate) DeleteStatus(ctx context.Context, status *gtsmodel.Status) er
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrap the status URI in a Delete activity.
|
// Wrap the status URI in a Delete activity.
|
||||||
delete, err := f.tc.StatusToASDelete(ctx, status)
|
delete, err := f.converter.StatusToASDelete(ctx, status)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error creating Delete: %w", err)
|
return gtserror.Newf("error creating Delete: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -245,7 +245,7 @@ func (f *federate) Follow(ctx context.Context, follow *gtsmodel.Follow) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert follow to ActivityStreams Follow.
|
// Convert follow to ActivityStreams Follow.
|
||||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting follow to AS: %s", err)
|
return gtserror.Newf("error converting follow to AS: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -287,7 +287,7 @@ func (f *federate) UndoFollow(ctx context.Context, follow *gtsmodel.Follow) erro
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recreate the ActivityStreams Follow.
|
// Recreate the ActivityStreams Follow.
|
||||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting follow to AS: %w", err)
|
return gtserror.Newf("error converting follow to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -351,7 +351,7 @@ func (f *federate) UndoLike(ctx context.Context, fave *gtsmodel.StatusFave) erro
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recreate the ActivityStreams Like.
|
// Recreate the ActivityStreams Like.
|
||||||
like, err := f.tc.FaveToAS(ctx, fave)
|
like, err := f.converter.FaveToAS(ctx, fave)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting fave to AS: %w", err)
|
return gtserror.Newf("error converting fave to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -410,7 +410,7 @@ func (f *federate) UndoAnnounce(ctx context.Context, boost *gtsmodel.Status) err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recreate the ActivityStreams Announce.
|
// Recreate the ActivityStreams Announce.
|
||||||
asAnnounce, err := f.tc.BoostToAS(
|
asAnnounce, err := f.converter.BoostToAS(
|
||||||
ctx,
|
ctx,
|
||||||
boost,
|
boost,
|
||||||
boost.Account,
|
boost.Account,
|
||||||
|
@ -493,7 +493,7 @@ func (f *federate) AcceptFollow(ctx context.Context, follow *gtsmodel.Follow) er
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recreate the ActivityStreams Follow.
|
// Recreate the ActivityStreams Follow.
|
||||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting follow to AS: %w", err)
|
return gtserror.Newf("error converting follow to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -571,7 +571,7 @@ func (f *federate) RejectFollow(ctx context.Context, follow *gtsmodel.Follow) er
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recreate the ActivityStreams Follow.
|
// Recreate the ActivityStreams Follow.
|
||||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting follow to AS: %w", err)
|
return gtserror.Newf("error converting follow to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -631,7 +631,7 @@ func (f *federate) Like(ctx context.Context, fave *gtsmodel.StatusFave) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the ActivityStreams Like.
|
// Create the ActivityStreams Like.
|
||||||
like, err := f.tc.FaveToAS(ctx, fave)
|
like, err := f.converter.FaveToAS(ctx, fave)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting fave to AS Like: %w", err)
|
return gtserror.Newf("error converting fave to AS Like: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -668,7 +668,7 @@ func (f *federate) Announce(ctx context.Context, boost *gtsmodel.Status) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the ActivityStreams Announce.
|
// Create the ActivityStreams Announce.
|
||||||
announce, err := f.tc.BoostToAS(
|
announce, err := f.converter.BoostToAS(
|
||||||
ctx,
|
ctx,
|
||||||
boost,
|
boost,
|
||||||
boost.Account,
|
boost.Account,
|
||||||
|
@ -704,13 +704,13 @@ func (f *federate) UpdateAccount(ctx context.Context, account *gtsmodel.Account)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert account to ActivityStreams Person.
|
// Convert account to ActivityStreams Person.
|
||||||
person, err := f.tc.AccountToAS(ctx, account)
|
person, err := f.converter.AccountToAS(ctx, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting account to Person: %w", err)
|
return gtserror.Newf("error converting account to Person: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use ActivityStreams Person as Object of Update.
|
// Use ActivityStreams Person as Object of Update.
|
||||||
update, err := f.tc.WrapPersonInUpdate(person, account)
|
update, err := f.converter.WrapPersonInUpdate(person, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error wrapping Person in Update: %w", err)
|
return gtserror.Newf("error wrapping Person in Update: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -747,7 +747,7 @@ func (f *federate) Block(ctx context.Context, block *gtsmodel.Block) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert block to ActivityStreams Block.
|
// Convert block to ActivityStreams Block.
|
||||||
asBlock, err := f.tc.BlockToAS(ctx, block)
|
asBlock, err := f.converter.BlockToAS(ctx, block)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting block to AS: %w", err)
|
return gtserror.Newf("error converting block to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -789,7 +789,7 @@ func (f *federate) UndoBlock(ctx context.Context, block *gtsmodel.Block) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert block to ActivityStreams Block.
|
// Convert block to ActivityStreams Block.
|
||||||
asBlock, err := f.tc.BlockToAS(ctx, block)
|
asBlock, err := f.converter.BlockToAS(ctx, block)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting block to AS: %w", err)
|
return gtserror.Newf("error converting block to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -861,7 +861,7 @@ func (f *federate) Flag(ctx context.Context, report *gtsmodel.Report) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert report to ActivityStreams Flag.
|
// Convert report to ActivityStreams Flag.
|
||||||
flag, err := f.tc.ReportToASFlag(ctx, report)
|
flag, err := f.converter.ReportToASFlag(ctx, report)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting report to AS: %w", err)
|
return gtserror.Newf("error converting report to AS: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ import (
|
||||||
// from the client/REST API.
|
// from the client/REST API.
|
||||||
type clientAPI struct {
|
type clientAPI struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
surface *surface
|
surface *surface
|
||||||
federate *federate
|
federate *federate
|
||||||
wipeStatus wipeStatus
|
wipeStatus wipeStatus
|
||||||
|
@ -242,7 +242,7 @@ func (p *clientAPI) CreateFollowReq(ctx context.Context, cMsg messages.FromClien
|
||||||
|
|
||||||
if err := p.federate.Follow(
|
if err := p.federate.Follow(
|
||||||
ctx,
|
ctx,
|
||||||
p.tc.FollowRequestToFollow(ctx, followRequest),
|
p.converter.FollowRequestToFollow(ctx, followRequest),
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return gtserror.Newf("error federating follow: %w", err)
|
return gtserror.Newf("error federating follow: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -389,7 +389,7 @@ func (p *clientAPI) RejectFollowRequest(ctx context.Context, cMsg messages.FromC
|
||||||
|
|
||||||
if err := p.federate.RejectFollow(
|
if err := p.federate.RejectFollow(
|
||||||
ctx,
|
ctx,
|
||||||
p.tc.FollowRequestToFollow(ctx, followReq),
|
p.converter.FollowRequestToFollow(ctx, followReq),
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return gtserror.Newf("error federating reject follow: %w", err)
|
return gtserror.Newf("error federating reject follow: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ import (
|
||||||
// - sending an email
|
// - sending an email
|
||||||
type surface struct {
|
type surface struct {
|
||||||
state *state.State
|
state *state.State
|
||||||
tc typeutils.TypeConverter
|
converter *typeutils.Converter
|
||||||
stream *stream.Processor
|
stream *stream.Processor
|
||||||
filter *visibility.Filter
|
filter *visibility.Filter
|
||||||
emailSender email.Sender
|
emailSender email.Sender
|
||||||
|
|
|
@ -34,7 +34,7 @@ func (s *surface) notifyMentions(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
mentions []*gtsmodel.Mention,
|
mentions []*gtsmodel.Mention,
|
||||||
) error {
|
) error {
|
||||||
var errs = gtserror.NewMultiError(len(mentions))
|
errs := gtserror.NewMultiError(len(mentions))
|
||||||
|
|
||||||
for _, mention := range mentions {
|
for _, mention := range mentions {
|
||||||
if err := s.notify(
|
if err := s.notify(
|
||||||
|
@ -208,7 +208,7 @@ func (s *surface) notify(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stream notification to the user.
|
// Stream notification to the user.
|
||||||
apiNotif, err := s.tc.NotificationToAPINotification(ctx, notif)
|
apiNotif, err := s.converter.NotificationToAPINotification(ctx, notif)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return gtserror.Newf("error converting notification to api representation: %w", err)
|
return gtserror.Newf("error converting notification to api representation: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -286,7 +286,6 @@ func (s *surface) listEligible(
|
||||||
list.ID,
|
list.ID,
|
||||||
status.InReplyToAccountID,
|
status.InReplyToAccountID,
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err := gtserror.Newf(
|
err := gtserror.Newf(
|
||||||
"db error checking if account %s in list %s: %w",
|
"db error checking if account %s in list %s: %w",
|
||||||
|
@ -352,7 +351,7 @@ func (s *surface) timelineStatus(
|
||||||
}
|
}
|
||||||
|
|
||||||
// The status was inserted so stream it to the user.
|
// The status was inserted so stream it to the user.
|
||||||
apiStatus, err := s.tc.StatusToAPIStatus(ctx, status, account)
|
apiStatus, err := s.converter.StatusToAPIStatus(ctx, status, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = gtserror.Newf("error converting status %s to frontend representation: %w", status.ID, err)
|
err = gtserror.Newf("error converting status %s to frontend representation: %w", status.ID, err)
|
||||||
return true, err
|
return true, err
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue