summaryrefslogtreecommitdiff
path: root/internal/db/db.go
diff options
context:
space:
mode:
authorLibravatar Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com>2021-05-21 23:04:59 +0200
committerLibravatar GitHub <noreply@github.com>2021-05-21 23:04:59 +0200
commit0df2e18cc0d5440deca32681f33c66d883913901 (patch)
treed52cb72f376695c70c37377fdb03ae47177e420e /internal/db/db.go
parentFollows and relationships (#27) (diff)
downloadgotosocial-0df2e18cc0d5440deca32681f33c66d883913901.tar.xz
Home timeline (#28)
* v. basic implementation of home timeline * Go fmt ./...
Diffstat (limited to 'internal/db/db.go')
-rw-r--r--internal/db/db.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/db/db.go b/internal/db/db.go
index 5609b926f..e43318c58 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,18 +32,20 @@ const (
// ErrNoEntries is to be returned from the DB interface when no entries are found for a given query.
type ErrNoEntries struct{}
+
func (e ErrNoEntries) Error() string {
return "no entries"
}
// ErrAlreadyExists is to be returned from the DB interface when an entry already exists for a given query or its constraints.
type ErrAlreadyExists struct{}
+
func (e ErrAlreadyExists) Error() string {
return "already exists"
}
type Where struct {
- Key string
+ Key string
Value interface{}
}
@@ -278,6 +280,10 @@ type DB interface {
// This slice will be unfiltered, not taking account of blocks and whatnot, so filter it before serving it back to a user.
WhoFavedStatus(status *gtsmodel.Status) ([]*gtsmodel.Account, error)
+ // GetHomeTimelineForAccount fetches the account's HOME timeline -- ie., posts and replies from people they *follow*.
+ // It will use the given filters and try to return as many statuses up to the limit as possible.
+ GetHomeTimelineForAccount(accountID string, maxID string, sinceID string, minID string, limit int, local bool) ([]*gtsmodel.Status, error)
+
/*
USEFUL CONVERSION FUNCTIONS
*/