summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/SearchService.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-07 11:59:06 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-05-07 11:59:06 +0900
commit29a84230b0d3216442c955599485be5f6511aa78 (patch)
treec99b58fa0358e3b3ae15c07d9743298d4928479a /packages/backend/src/core/SearchService.ts
parentfix test (diff)
downloadsharkey-29a84230b0d3216442c955599485be5f6511aa78.tar.gz
sharkey-29a84230b0d3216442c955599485be5f6511aa78.tar.bz2
sharkey-29a84230b0d3216442c955599485be5f6511aa78.zip
enhance(backend): SearchService.searchNoteでhost指定対応
Diffstat (limited to 'packages/backend/src/core/SearchService.ts')
-rw-r--r--packages/backend/src/core/SearchService.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/backend/src/core/SearchService.ts b/packages/backend/src/core/SearchService.ts
index 1c18a52fae..e68fde088d 100644
--- a/packages/backend/src/core/SearchService.ts
+++ b/packages/backend/src/core/SearchService.ts
@@ -117,6 +117,7 @@ export class SearchService {
public async searchNote(q: string, me: User | null, opts: {
userId?: Note['userId'] | null;
channelId?: Note['channelId'] | null;
+ host?: string | null;
}, pagination: {
untilId?: Note['id'];
sinceId?: Note['id'];
@@ -131,6 +132,13 @@ export class SearchService {
if (pagination.sinceId) filter.qs.push({ op: '>', k: 'createdAt', v: this.idService.parse(pagination.sinceId).date.getTime() });
if (opts.userId) filter.qs.push({ op: '=', k: 'userId', v: opts.userId });
if (opts.channelId) filter.qs.push({ op: '=', k: 'channelId', v: opts.channelId });
+ if (opts.host) {
+ if (opts.host === '.') {
+ // TODO: Meilisearchが2023/05/07現在値がNULLかどうかのクエリが書けない
+ } else {
+ filter.qs.push({ op: '=', k: 'userHost', v: opts.host });
+ }
+ }
const res = await this.meilisearchNoteIndex!.search(q, {
sort: ['createdAt:desc'],
matchingStrategy: 'all',