diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-05-07 11:59:06 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-05-07 11:59:06 +0900 |
| commit | 29a84230b0d3216442c955599485be5f6511aa78 (patch) | |
| tree | c99b58fa0358e3b3ae15c07d9743298d4928479a /packages/backend/src/core/SearchService.ts | |
| parent | fix test (diff) | |
| download | sharkey-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.ts | 8 |
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', |