diff options
Diffstat (limited to 'internal/db')
-rw-r--r-- | internal/db/bundb/account.go | 19 | ||||
-rw-r--r-- | internal/db/bundb/bundb.go | 12 | ||||
-rw-r--r-- | internal/db/bundb/instance.go | 3 | ||||
-rw-r--r-- | internal/db/bundb/media.go | 3 | ||||
-rw-r--r-- | internal/db/bundb/mention.go | 3 | ||||
-rw-r--r-- | internal/db/bundb/notification.go | 3 | ||||
-rw-r--r-- | internal/db/bundb/relationship.go | 9 | ||||
-rw-r--r-- | internal/db/bundb/session.go | 2 | ||||
-rw-r--r-- | internal/db/bundb/status.go | 19 | ||||
-rw-r--r-- | internal/db/bundb/timeline.go | 6 |
10 files changed, 38 insertions, 41 deletions
diff --git a/internal/db/bundb/account.go b/internal/db/bundb/account.go index 8d2cea272..9c9dcfc6a 100644 --- a/internal/db/bundb/account.go +++ b/internal/db/bundb/account.go @@ -137,8 +137,7 @@ func (a *accountDB) GetInstanceAccount(ctx context.Context, domain string) (*gts WhereGroup(" AND ", whereEmptyOrNull("domain")) } - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, a.conn.ProcessError(err) } return account, nil @@ -155,8 +154,7 @@ func (a *accountDB) GetAccountLastPosted(ctx context.Context, accountID string) Where("account_id = ?", accountID). Column("created_at") - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return time.Time{}, a.conn.ProcessError(err) } return status.CreatedAt, nil @@ -168,11 +166,12 @@ func (a *accountDB) SetAccountHeaderOrAvatar(ctx context.Context, mediaAttachmen } var headerOrAVI string - if mediaAttachment.Avatar { + switch { + case mediaAttachment.Avatar: headerOrAVI = "avatar" - } else if mediaAttachment.Header { + case mediaAttachment.Header: headerOrAVI = "header" - } else { + default: return errors.New("given media attachment was neither a header nor an avatar") } @@ -202,8 +201,7 @@ func (a *accountDB) GetLocalAccountByUsername(ctx context.Context, username stri Where("username = ?", username). WhereGroup(" AND ", whereEmptyOrNull("domain")) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, a.conn.ProcessError(err) } return account, nil @@ -308,8 +306,7 @@ func (a *accountDB) GetAccountBlocks(ctx context.Context, accountID string, maxI fq = fq.Limit(limit) } - err := fq.Scan(ctx) - if err != nil { + if err := fq.Scan(ctx); err != nil { return nil, "", "", a.conn.ProcessError(err) } diff --git a/internal/db/bundb/bundb.go b/internal/db/bundb/bundb.go index 033be558f..4634f1981 100644 --- a/internal/db/bundb/bundb.go +++ b/internal/db/bundb/bundb.go @@ -54,7 +54,7 @@ const ( dbTypeSqlite = "sqlite" ) -var registerTables []interface{} = []interface{}{ +var registerTables = []interface{}{ >smodel.StatusToEmoji{}, >smodel.StatusToTag{}, } @@ -220,7 +220,7 @@ func sqliteConn(ctx context.Context, c *config.Config) (*DBConn, error) { } tweakConnectionValues(sqldb) - + if c.DBConfig.Address == "file::memory:?cache=shared" { logrus.Warn("sqlite in-memory database should only be used for debugging") // don't close connections on disconnect -- otherwise @@ -248,11 +248,11 @@ func pgConn(ctx context.Context, c *config.Config) (*DBConn, error) { if err != nil { return nil, fmt.Errorf("could not create bundb postgres options: %s", err) } - + sqldb := stdlib.OpenDB(*opts) - + tweakConnectionValues(sqldb) - + conn := WrapDBConn(bun.NewDB(sqldb, pgdialect.New())) // ping to check the db is there and listening @@ -305,6 +305,7 @@ func deriveBunDBPGOptions(c *config.Config) (*pgx.ConnConfig, error) { case config.DBTLSModeDisable, config.DBTLSModeUnset: break // nothing to do case config.DBTLSModeEnable: + /* #nosec G402 */ tlsConfig = &tls.Config{ InsecureSkipVerify: true, } @@ -312,6 +313,7 @@ func deriveBunDBPGOptions(c *config.Config) (*pgx.ConnConfig, error) { tlsConfig = &tls.Config{ InsecureSkipVerify: false, ServerName: c.DBConfig.Address, + MinVersion: tls.VersionTLS12, } } diff --git a/internal/db/bundb/instance.go b/internal/db/bundb/instance.go index ea507ad43..006a76e24 100644 --- a/internal/db/bundb/instance.go +++ b/internal/db/bundb/instance.go @@ -116,8 +116,7 @@ func (i *instanceDB) GetInstanceAccounts(ctx context.Context, domain string, max q = q.Limit(limit) } - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, i.conn.ProcessError(err) } return accounts, nil diff --git a/internal/db/bundb/media.go b/internal/db/bundb/media.go index 3c9ee587d..1a06a0260 100644 --- a/internal/db/bundb/media.go +++ b/internal/db/bundb/media.go @@ -45,8 +45,7 @@ func (m *mediaDB) GetAttachmentByID(ctx context.Context, id string) (*gtsmodel.M q := m.newMediaQ(attachment). Where("media_attachment.id = ?", id) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, m.conn.ProcessError(err) } return attachment, nil diff --git a/internal/db/bundb/mention.go b/internal/db/bundb/mention.go index 3c2c64cfd..81ad216cc 100644 --- a/internal/db/bundb/mention.go +++ b/internal/db/bundb/mention.go @@ -61,8 +61,7 @@ func (m *mentionDB) getMentionDB(ctx context.Context, id string) (*gtsmodel.Ment q := m.newMentionQ(mention). Where("mention.id = ?", id) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, m.conn.ProcessError(err) } diff --git a/internal/db/bundb/notification.go b/internal/db/bundb/notification.go index d3be16168..212c97467 100644 --- a/internal/db/bundb/notification.go +++ b/internal/db/bundb/notification.go @@ -125,8 +125,7 @@ func (n *notificationDB) getNotificationDB(ctx context.Context, id string, dst * q := n.newNotificationQ(dst). Where("notification.id = ?", id) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return n.conn.ProcessError(err) } diff --git a/internal/db/bundb/relationship.go b/internal/db/bundb/relationship.go index 4f15c7772..a98a9f426 100644 --- a/internal/db/bundb/relationship.go +++ b/internal/db/bundb/relationship.go @@ -74,8 +74,7 @@ func (r *relationshipDB) GetBlock(ctx context.Context, account1 string, account2 Where("block.account_id = ?", account1). Where("block.target_account_id = ?", account2) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, r.conn.ProcessError(err) } return block, nil @@ -286,8 +285,7 @@ func (r *relationshipDB) GetAccountFollowRequests(ctx context.Context, accountID q := r.newFollowQ(&followRequests). Where("target_account_id = ?", accountID) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, r.conn.ProcessError(err) } return followRequests, nil @@ -299,8 +297,7 @@ func (r *relationshipDB) GetAccountFollows(ctx context.Context, accountID string q := r.newFollowQ(&follows). Where("account_id = ?", accountID) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, r.conn.ProcessError(err) } return follows, nil diff --git a/internal/db/bundb/session.go b/internal/db/bundb/session.go index c8b09ec86..acc70a868 100644 --- a/internal/db/bundb/session.go +++ b/internal/db/bundb/session.go @@ -47,7 +47,7 @@ func (s *sessionDB) GetSession(ctx context.Context) (*gtsmodel.RouterSession, db return nil, s.conn.ProcessError(err) } - if len(rss) <= 0 { + if len(rss) == 0 { // no session created yet, so make one return s.createSession(ctx) } diff --git a/internal/db/bundb/status.go b/internal/db/bundb/status.go index 2c26a7df9..73e2cb4c0 100644 --- a/internal/db/bundb/status.go +++ b/internal/db/bundb/status.go @@ -23,6 +23,7 @@ import ( "context" "time" + "github.com/sirupsen/logrus" "github.com/superseriousbusiness/gotosocial/internal/cache" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" @@ -206,7 +207,11 @@ func (s *statusDB) GetStatusChildren(ctx context.Context, status *gtsmodel.Statu children := []*gtsmodel.Status{} for e := foundStatuses.Front(); e != nil; e = e.Next() { // only append children, not the overall parent status - entry := e.Value.(*gtsmodel.Status) + entry, ok := e.Value.(*gtsmodel.Status) + if !ok { + logrus.Panic("GetStatusChildren: found status could not be asserted to *gtsmodel.Status") + } + if entry.ID != status.ID { children = append(children, entry) } @@ -233,7 +238,11 @@ func (s *statusDB) statusChildren(ctx context.Context, status *gtsmodel.Status, for _, child := range immediateChildren { insertLoop: for e := foundStatuses.Front(); e != nil; e = e.Next() { - entry := e.Value.(*gtsmodel.Status) + entry, ok := e.Value.(*gtsmodel.Status) + if !ok { + logrus.Panic("statusChildren: found status could not be asserted to *gtsmodel.Status") + } + if child.InReplyToAccountID != "" && entry.ID == child.InReplyToID { foundStatuses.InsertAfter(child, e) break insertLoop @@ -306,8 +315,7 @@ func (s *statusDB) GetStatusFaves(ctx context.Context, status *gtsmodel.Status) q := s.newFaveQ(&faves). Where("status_id = ?", status.ID) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, s.conn.ProcessError(err) } return faves, nil @@ -319,8 +327,7 @@ func (s *statusDB) GetStatusReblogs(ctx context.Context, status *gtsmodel.Status q := s.newStatusQ(&reblogs). Where("boost_of_id = ?", status.ID) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, s.conn.ProcessError(err) } return reblogs, nil diff --git a/internal/db/bundb/timeline.go b/internal/db/bundb/timeline.go index 0c4619ae8..fb17fc53c 100644 --- a/internal/db/bundb/timeline.go +++ b/internal/db/bundb/timeline.go @@ -91,8 +91,7 @@ func (t *timelineDB) GetHomeTimeline(ctx context.Context, accountID string, maxI q = q.WhereGroup(" AND ", whereGroup) - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, t.conn.ProcessError(err) } return statuses, nil @@ -136,8 +135,7 @@ func (t *timelineDB) GetPublicTimeline(ctx context.Context, accountID string, ma q = q.Limit(limit) } - err := q.Scan(ctx) - if err != nil { + if err := q.Scan(ctx); err != nil { return nil, t.conn.ProcessError(err) } return statuses, nil |