fix(SearchService): async search filter problem
This commit is contained in:
parent
981d708bcb
commit
d4a1ed43f8
@ -18,6 +18,7 @@ import { QueryService } from '@/core/QueryService.js';
|
|||||||
import { IdService } from '@/core/IdService.js';
|
import { IdService } from '@/core/IdService.js';
|
||||||
import { UserEntityService } from './entities/UserEntityService.js';
|
import { UserEntityService } from './entities/UserEntityService.js';
|
||||||
import type { Index, MeiliSearch } from 'meilisearch';
|
import type { Index, MeiliSearch } from 'meilisearch';
|
||||||
|
import { nonMaxSuppressionV3Impl } from '@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js';
|
||||||
|
|
||||||
type K = string;
|
type K = string;
|
||||||
type V = string | number | boolean;
|
type V = string | number | boolean;
|
||||||
@ -215,10 +216,14 @@ export class SearchService {
|
|||||||
});
|
});
|
||||||
if (res.hits.length === 0) return [];
|
if (res.hits.length === 0) return [];
|
||||||
|
|
||||||
const notes = (await this.notesRepository.findBy({
|
const notes = await this.notesRepository.findBy({
|
||||||
id: In(res.hits.map(x => x.id)),
|
id: In(res.hits.map(x => x.id)),
|
||||||
})).filter(async note => (await this.filter(me, note)));
|
});
|
||||||
return notes.sort((a, b) => a.id > b.id ? -1 : 1);
|
const promises = notes.map(async note => ({ note: note, result: (await this.filter(me, note)) }));
|
||||||
|
const data = await Promise.all(promises);
|
||||||
|
const dataFilter = data.filter(d => d.result);
|
||||||
|
const filteredNotes = dataFilter.map(d => d.note);
|
||||||
|
return filteredNotes.sort((a, b) => a.id > b.id ? -1 : 1);
|
||||||
} else {
|
} else {
|
||||||
const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'), pagination.sinceId, pagination.untilId);
|
const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'), pagination.sinceId, pagination.untilId);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user