perf(backend): prevent emit needless db queries
This commit is contained in:
parent
de9d136a3f
commit
c29f21ac56
1 changed files with 2 additions and 0 deletions
|
@ -266,6 +266,7 @@ export class DriveFileEntityService {
|
||||||
fileIds: DriveFile['id'][],
|
fileIds: DriveFile['id'][],
|
||||||
options?: PackOptions,
|
options?: PackOptions,
|
||||||
): Promise<Map<Packed<'DriveFile'>['id'], Packed<'DriveFile'> | null>> {
|
): Promise<Map<Packed<'DriveFile'>['id'], Packed<'DriveFile'> | null>> {
|
||||||
|
if (fileIds.length === 0) return new Map();
|
||||||
const files = await this.driveFilesRepository.findBy({ id: In(fileIds) });
|
const files = await this.driveFilesRepository.findBy({ id: In(fileIds) });
|
||||||
const packedFiles = await this.packMany(files, options);
|
const packedFiles = await this.packMany(files, options);
|
||||||
const map = new Map<Packed<'DriveFile'>['id'], Packed<'DriveFile'> | null>(packedFiles.map(f => [f.id, f]));
|
const map = new Map<Packed<'DriveFile'>['id'], Packed<'DriveFile'> | null>(packedFiles.map(f => [f.id, f]));
|
||||||
|
@ -280,6 +281,7 @@ export class DriveFileEntityService {
|
||||||
fileIds: DriveFile['id'][],
|
fileIds: DriveFile['id'][],
|
||||||
options?: PackOptions,
|
options?: PackOptions,
|
||||||
): Promise<Packed<'DriveFile'>[]> {
|
): Promise<Packed<'DriveFile'>[]> {
|
||||||
|
if (fileIds.length === 0) return [];
|
||||||
const filesMap = await this.packManyByIdsMap(fileIds, options);
|
const filesMap = await this.packManyByIdsMap(fileIds, options);
|
||||||
return fileIds.map(id => filesMap.get(id)).filter(isNotNull);
|
return fileIds.map(id => filesMap.get(id)).filter(isNotNull);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue