feat: find large files utility (#18040)

feat: large asset utility

Co-authored-by: Jason Rasmussen <jason@rasm.me>
This commit is contained in:
Alwin Lohrie
2025-07-29 00:48:39 +02:00
committed by GitHub
parent 7d759edfcc
commit ae1d60e259
17 changed files with 964 additions and 4 deletions
+11
View File
@@ -4,6 +4,7 @@ import { AssetMapOptions, AssetResponseDto, MapAsset, mapAsset } from 'src/dtos/
import { AuthDto } from 'src/dtos/auth.dto';
import { mapPerson, PersonResponseDto } from 'src/dtos/person.dto';
import {
LargeAssetSearchDto,
mapPlaces,
MetadataSearchDto,
PlacesResponseDto,
@@ -91,6 +92,16 @@ export class SearchService extends BaseService {
return items.map((item) => mapAsset(item, { auth }));
}
async searchLargeAssets(auth: AuthDto, dto: LargeAssetSearchDto): Promise<AssetResponseDto[]> {
if (dto.visibility === AssetVisibility.Locked) {
requireElevatedPermission(auth);
}
const userIds = await this.getUserIdsToSearch(auth);
const items = await this.searchRepository.searchLargeAssets(dto.size || 250, { ...dto, userIds });
return items.map((item) => mapAsset(item, { auth }));
}
async searchSmart(auth: AuthDto, dto: SmartSearchDto): Promise<SearchResponseDto> {
if (dto.visibility === AssetVisibility.Locked) {
requireElevatedPermission(auth);