feat(server): add /search/statistics resource (#18885)

This commit is contained in:
Jonathan Gilbert
2025-06-07 11:12:53 +10:00
committed by GitHub
parent ecb16d9907
commit fb4be6e231
14 changed files with 954 additions and 16 deletions

View File

@@ -10,9 +10,11 @@ import {
SearchPeopleDto,
SearchPlacesDto,
SearchResponseDto,
SearchStatisticsResponseDto,
SearchSuggestionRequestDto,
SearchSuggestionType,
SmartSearchDto,
StatisticsSearchDto,
} from 'src/dtos/search.dto';
import { AssetOrder, AssetVisibility } from 'src/enum';
import { BaseService } from 'src/services/base.service';
@@ -67,6 +69,15 @@ export class SearchService extends BaseService {
return this.mapResponse(items, hasNextPage ? (page + 1).toString() : null, { auth });
}
async searchStatistics(auth: AuthDto, dto: StatisticsSearchDto): Promise<SearchStatisticsResponseDto> {
const userIds = await this.getUserIdsToSearch(auth);
return await this.searchRepository.searchStatistics({
...dto,
userIds,
});
}
async searchRandom(auth: AuthDto, dto: RandomSearchDto): Promise<AssetResponseDto[]> {
if (dto.visibility === AssetVisibility.LOCKED) {
requireElevatedPermission(auth);