summaryrefslogtreecommitdiff
path: root/internal/federation/federatingdb/get.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-10-04 15:24:19 +0200
committerLibravatar GitHub <noreply@github.com>2021-10-04 15:24:19 +0200
commite04b187702acb0c9908237a35b3a9857e2167b3f (patch)
tree29839b8d5bbc28d34aba759a48dd7b005f1444f5 /internal/federation/federatingdb/get.go
parentFollow request auto approval (#259) (diff)
downloadgotosocial-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.go33
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 := &gtsmodel.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 := &gtsmodel.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")