summaryrefslogtreecommitdiff
path: root/internal/db/bundb/search.go
diff options
context:
space:
mode:
authorLibravatar Vyr Cossont <VyrCossont@users.noreply.github.com>2024-05-31 03:57:42 -0700
committerLibravatar GitHub <noreply@github.com>2024-05-31 12:57:42 +0200
commit04bcde08a1b9994ceb384749c2fe095d6d9eee8c (patch)
treee18afb15643e9ffa5732c3902b4257b8361578bd /internal/db/bundb/search.go
parent[feature] Implement Filter API v2 (#2936) (diff)
downloadgotosocial-04bcde08a1b9994ceb384749c2fe095d6d9eee8c.tar.xz
[feature] Add from: search operator and account_id query param (#2943)
* Add from: search operator * Fix whitespace in Swagger YAML comment * Move query parsing into its own method * Document search * Clarify post search scope
Diffstat (limited to 'internal/db/bundb/search.go')
-rw-r--r--internal/db/bundb/search.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/internal/db/bundb/search.go b/internal/db/bundb/search.go
index f8ae529f7..e54cb78e7 100644
--- a/internal/db/bundb/search.go
+++ b/internal/db/bundb/search.go
@@ -266,8 +266,9 @@ func (s *searchDB) accountText(following bool) *bun.SelectQuery {
// ORDER BY "status"."id" DESC LIMIT 10
func (s *searchDB) SearchForStatuses(
ctx context.Context,
- accountID string,
+ requestingAccountID string,
query string,
+ fromAccountID string,
maxID string,
minID string,
limit int,
@@ -295,9 +296,12 @@ func (s *searchDB) SearchForStatuses(
// accountID or replying to accountID.
WhereGroup(" AND ", func(q *bun.SelectQuery) *bun.SelectQuery {
return q.
- Where("? = ?", bun.Ident("status.account_id"), accountID).
- WhereOr("? = ?", bun.Ident("status.in_reply_to_account_id"), accountID)
+ Where("? = ?", bun.Ident("status.account_id"), requestingAccountID).
+ WhereOr("? = ?", bun.Ident("status.in_reply_to_account_id"), requestingAccountID)
})
+ if fromAccountID != "" {
+ q = q.Where("? = ?", bun.Ident("status.account_id"), fromAccountID)
+ }
// Return only items with a LOWER id than maxID.
if maxID == "" {