feat(search): scope inbox search access

This commit is contained in:
2026-06-07 07:13:25 +08:00
parent bd20e6d80f
commit 4bde740c80
10 changed files with 338 additions and 15 deletions
@@ -253,6 +253,27 @@ func TestSearchHandler_SearchMessages_Success(t *testing.T) {
assert.Equal(t, 15, repo.msgFilter.PerPage)
}
func TestSearchHandler_SearchMessages_AddsCurrentUserToFilter(t *testing.T) {
repo := &mockSearchRepo{
messages: []model.Message{makeMessage(1, 1, "hello world")},
msgTotal: 1,
}
svc := search.NewSearchService(repo)
handler := NewSearchHandler(svc)
router := setupSearchHandlerRouter(handler)
w := httptest.NewRecorder()
req := httptest.NewRequest("GET", "/api/v1/accounts/1/search/messages?q=hello&page=1", nil)
req.Header.Set("X-User-ID", "42")
router.ServeHTTP(w, req)
require.Equal(t, http.StatusOK, w.Code)
require.NotNil(t, repo.msgFilter)
if assert.NotNil(t, repo.msgFilter.CurrentUserID) {
assert.Equal(t, uint(42), *repo.msgFilter.CurrentUserID)
}
}
func TestSearchHandler_SearchMessages_MeiliHitPayloadShape(t *testing.T) {
svc := search.NewSearchServiceWithEngine(&stubSearchEngine{
resp: &search.SearchResponse{