mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2026-01-02 03:03:17 -06:00
[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
119 changed files with 611 additions and 742 deletions
|
|
@ -37,8 +37,8 @@ type federate struct {
|
|||
// Embed federator to give access
|
||||
// to send and retrieve functions.
|
||||
federation.Federator
|
||||
state *state.State
|
||||
tc typeutils.TypeConverter
|
||||
state *state.State
|
||||
converter *typeutils.Converter
|
||||
}
|
||||
|
||||
// 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
|
||||
// Note, wrapped in a Create activity.
|
||||
asStatus, err := f.tc.StatusToAS(ctx, status)
|
||||
asStatus, err := f.converter.StatusToAS(ctx, status)
|
||||
if err != nil {
|
||||
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 {
|
||||
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.
|
||||
delete, err := f.tc.StatusToASDelete(ctx, status)
|
||||
delete, err := f.converter.StatusToASDelete(ctx, status)
|
||||
if err != nil {
|
||||
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.
|
||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
||||
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||
if err != nil {
|
||||
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.
|
||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
||||
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||
if err != nil {
|
||||
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.
|
||||
like, err := f.tc.FaveToAS(ctx, fave)
|
||||
like, err := f.converter.FaveToAS(ctx, fave)
|
||||
if err != nil {
|
||||
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.
|
||||
asAnnounce, err := f.tc.BoostToAS(
|
||||
asAnnounce, err := f.converter.BoostToAS(
|
||||
ctx,
|
||||
boost,
|
||||
boost.Account,
|
||||
|
|
@ -493,7 +493,7 @@ func (f *federate) AcceptFollow(ctx context.Context, follow *gtsmodel.Follow) er
|
|||
}
|
||||
|
||||
// Recreate the ActivityStreams Follow.
|
||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
||||
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||
if err != nil {
|
||||
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.
|
||||
asFollow, err := f.tc.FollowToAS(ctx, follow)
|
||||
asFollow, err := f.converter.FollowToAS(ctx, follow)
|
||||
if err != nil {
|
||||
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.
|
||||
like, err := f.tc.FaveToAS(ctx, fave)
|
||||
like, err := f.converter.FaveToAS(ctx, fave)
|
||||
if err != nil {
|
||||
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.
|
||||
announce, err := f.tc.BoostToAS(
|
||||
announce, err := f.converter.BoostToAS(
|
||||
ctx,
|
||||
boost,
|
||||
boost.Account,
|
||||
|
|
@ -704,13 +704,13 @@ func (f *federate) UpdateAccount(ctx context.Context, account *gtsmodel.Account)
|
|||
}
|
||||
|
||||
// Convert account to ActivityStreams Person.
|
||||
person, err := f.tc.AccountToAS(ctx, account)
|
||||
person, err := f.converter.AccountToAS(ctx, account)
|
||||
if err != nil {
|
||||
return gtserror.Newf("error converting account to Person: %w", err)
|
||||
}
|
||||
|
||||
// Use ActivityStreams Person as Object of Update.
|
||||
update, err := f.tc.WrapPersonInUpdate(person, account)
|
||||
update, err := f.converter.WrapPersonInUpdate(person, account)
|
||||
if err != nil {
|
||||
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.
|
||||
asBlock, err := f.tc.BlockToAS(ctx, block)
|
||||
asBlock, err := f.converter.BlockToAS(ctx, block)
|
||||
if err != nil {
|
||||
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.
|
||||
asBlock, err := f.tc.BlockToAS(ctx, block)
|
||||
asBlock, err := f.converter.BlockToAS(ctx, block)
|
||||
if err != nil {
|
||||
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.
|
||||
flag, err := f.tc.ReportToASFlag(ctx, report)
|
||||
flag, err := f.converter.ReportToASFlag(ctx, report)
|
||||
if err != nil {
|
||||
return gtserror.Newf("error converting report to AS: %w", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import (
|
|||
// from the client/REST API.
|
||||
type clientAPI struct {
|
||||
state *state.State
|
||||
tc typeutils.TypeConverter
|
||||
converter *typeutils.Converter
|
||||
surface *surface
|
||||
federate *federate
|
||||
wipeStatus wipeStatus
|
||||
|
|
@ -242,7 +242,7 @@ func (p *clientAPI) CreateFollowReq(ctx context.Context, cMsg messages.FromClien
|
|||
|
||||
if err := p.federate.Follow(
|
||||
ctx,
|
||||
p.tc.FollowRequestToFollow(ctx, followRequest),
|
||||
p.converter.FollowRequestToFollow(ctx, followRequest),
|
||||
); err != nil {
|
||||
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(
|
||||
ctx,
|
||||
p.tc.FollowRequestToFollow(ctx, followReq),
|
||||
p.converter.FollowRequestToFollow(ctx, followReq),
|
||||
); err != nil {
|
||||
return gtserror.Newf("error federating reject follow: %w", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ import (
|
|||
// - sending an email
|
||||
type surface struct {
|
||||
state *state.State
|
||||
tc typeutils.TypeConverter
|
||||
converter *typeutils.Converter
|
||||
stream *stream.Processor
|
||||
filter *visibility.Filter
|
||||
emailSender email.Sender
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ func (s *surface) notifyMentions(
|
|||
ctx context.Context,
|
||||
mentions []*gtsmodel.Mention,
|
||||
) error {
|
||||
var errs = gtserror.NewMultiError(len(mentions))
|
||||
errs := gtserror.NewMultiError(len(mentions))
|
||||
|
||||
for _, mention := range mentions {
|
||||
if err := s.notify(
|
||||
|
|
@ -208,7 +208,7 @@ func (s *surface) notify(
|
|||
}
|
||||
|
||||
// Stream notification to the user.
|
||||
apiNotif, err := s.tc.NotificationToAPINotification(ctx, notif)
|
||||
apiNotif, err := s.converter.NotificationToAPINotification(ctx, notif)
|
||||
if err != nil {
|
||||
return gtserror.Newf("error converting notification to api representation: %w", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -286,7 +286,6 @@ func (s *surface) listEligible(
|
|||
list.ID,
|
||||
status.InReplyToAccountID,
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
err := gtserror.Newf(
|
||||
"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.
|
||||
apiStatus, err := s.tc.StatusToAPIStatus(ctx, status, account)
|
||||
apiStatus, err := s.converter.StatusToAPIStatus(ctx, status, account)
|
||||
if err != nil {
|
||||
err = gtserror.Newf("error converting status %s to frontend representation: %w", status.ID, err)
|
||||
return true, err
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ type Processor struct {
|
|||
func New(
|
||||
state *state.State,
|
||||
federator federation.Federator,
|
||||
tc typeutils.TypeConverter,
|
||||
converter *typeutils.Converter,
|
||||
filter *visibility.Filter,
|
||||
emailSender email.Sender,
|
||||
account *account.Processor,
|
||||
|
|
@ -49,7 +49,7 @@ func New(
|
|||
// wrapper struct.
|
||||
surface := &surface{
|
||||
state: state,
|
||||
tc: tc,
|
||||
converter: converter,
|
||||
stream: stream,
|
||||
filter: filter,
|
||||
emailSender: emailSender,
|
||||
|
|
@ -60,7 +60,7 @@ func New(
|
|||
federate := &federate{
|
||||
Federator: federator,
|
||||
state: state,
|
||||
tc: tc,
|
||||
converter: converter,
|
||||
}
|
||||
|
||||
// Init shared logic wipe
|
||||
|
|
@ -75,7 +75,7 @@ func New(
|
|||
workers: &state.Workers,
|
||||
clientAPI: &clientAPI{
|
||||
state: state,
|
||||
tc: tc,
|
||||
converter: converter,
|
||||
surface: surface,
|
||||
federate: federate,
|
||||
wipeStatus: wipeStatus,
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ type WorkersTestSuite struct {
|
|||
storage *storage.Driver
|
||||
state state.State
|
||||
mediaManager *media.Manager
|
||||
typeconverter typeutils.TypeConverter
|
||||
typeconverter *typeutils.Converter
|
||||
httpClient *testrig.MockHTTPClient
|
||||
transportController transport.Controller
|
||||
federator federation.Federator
|
||||
|
|
@ -106,7 +106,7 @@ func (suite *WorkersTestSuite) SetupTest() {
|
|||
suite.testActivities = testrig.NewTestActivities(suite.testAccounts)
|
||||
suite.storage = testrig.NewInMemoryStorage()
|
||||
suite.state.Storage = suite.storage
|
||||
suite.typeconverter = testrig.NewTestTypeConverter(suite.db)
|
||||
suite.typeconverter = typeutils.NewConverter(&suite.state)
|
||||
|
||||
testrig.StartTimelines(
|
||||
&suite.state,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue