diff options
author | 2021-10-04 15:24:19 +0200 | |
---|---|---|
committer | 2021-10-04 15:24:19 +0200 | |
commit | e04b187702acb0c9908237a35b3a9857e2167b3f (patch) | |
tree | 29839b8d5bbc28d34aba759a48dd7b005f1444f5 /internal/federation/federatingdb/get.go | |
parent | Follow request auto approval (#259) (diff) | |
download | gotosocial-e04b187702acb0c9908237a35b3a9857e2167b3f.tar.xz |
Refactor/tidy (#261)
* tidy up streaming
* cut down code duplication
* test get followers/following
* test streaming processor
* fix some test models
* add TimeMustParse
* fix uri / url typo
* make trace logging less verbose
* make logging more consistent
* disable quote on logging
* remove context.Background
* remove many extraneous mastodon references
* regenerate swagger
* don't log query on no rows result
* log latency first for easier reading
Diffstat (limited to 'internal/federation/federatingdb/get.go')
-rw-r--r-- | internal/federation/federatingdb/get.go | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/internal/federation/federatingdb/get.go b/internal/federation/federatingdb/get.go index cc04dd851..505891ca4 100644 --- a/internal/federation/federatingdb/get.go +++ b/internal/federation/federatingdb/get.go @@ -25,8 +25,6 @@ import ( "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" - "github.com/superseriousbusiness/gotosocial/internal/db" - "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/util" ) @@ -37,46 +35,33 @@ func (f *federatingDB) Get(ctx context.Context, id *url.URL) (value vocab.Type, l := f.log.WithFields( logrus.Fields{ "func": "Get", - "id": id.String(), + "id": id, }, ) - l.Debug("entering GET function") + l.Debug("entering Get") if util.IsUserPath(id) { acct, err := f.db.GetAccountByURI(ctx, id.String()) if err != nil { return nil, err } - l.Debug("is user path! returning account") return f.typeConverter.AccountToAS(ctx, acct) } - if util.IsFollowersPath(id) { - acct := >smodel.Account{} - if err := f.db.GetWhere(ctx, []db.Where{{Key: "followers_uri", Value: id.String()}}, acct); err != nil { - return nil, err - } - - followersURI, err := url.Parse(acct.FollowersURI) + if util.IsStatusesPath(id) { + status, err := f.db.GetStatusByURI(ctx, id.String()) if err != nil { return nil, err } + return f.typeConverter.StatusToAS(ctx, status) + } - return f.Followers(ctx, followersURI) + if util.IsFollowersPath(id) { + return f.Followers(ctx, id) } if util.IsFollowingPath(id) { - acct := >smodel.Account{} - if err := f.db.GetWhere(ctx, []db.Where{{Key: "following_uri", Value: id.String()}}, acct); err != nil { - return nil, err - } - - followingURI, err := url.Parse(acct.FollowingURI) - if err != nil { - return nil, err - } - - return f.Following(ctx, followingURI) + return f.Following(ctx, id) } return nil, errors.New("could not get") |